/*
Theme Name: Cool Side Commerce Premium
Theme URI: https://coolsidecomputersystems.co.za
Author: Cool Side Computer Systems
Description: Premium, customer-first full-site editing WooCommerce theme for the Cool Side commerce platform.
Version: 4.2.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: coolside-commerce-premium
*/
:root{
  --cs-pink:#ec0b57;--cs-pink-dark:#c90549;--cs-ink:#0a1b33;--cs-ink-2:#12294d;
  --cs-navy-deep:#061126;--cs-text:#16233d;--cs-muted:#5a6b85;--cs-soft:#f4f7fb;--cs-line:#dce4ef;--cs-white:#fff;
  --cs-success:#0b8a46;--cs-warning:#b35c00;--cs-radius:20px;--cs-radius-sm:12px;
  --cs-shadow:0 18px 54px rgba(10,27,51,.1);--cs-shadow-soft:0 8px 26px rgba(10,27,51,.06);
  --cs-wide:min(1640px,calc(100% - 48px));--cs-reading:min(1120px,calc(100% - 48px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--cs-text);overflow-x:hidden}.wp-site-blocks{padding:0}.alignwide{width:var(--cs-wide)!important;max-width:none!important;margin-inline:auto}.alignfull{width:100%!important;max-width:none!important}.wp-block-post-content{margin:0}a{text-underline-offset:3px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.cs-topbar{background:var(--cs-navy-deep);color:#d7e0ef;font-size:.82rem}.cs-topbar a{color:#fff;text-decoration:none}.cs-topbar__inner{min-height:38px;align-items:center}.cs-site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--cs-line)}.cs-brand-row{display:grid!important;grid-template-columns:minmax(180px,260px) minmax(320px,1fr) auto;gap:28px;align-items:center;padding-block:18px}.cs-brand-row .custom-logo{max-height:66px;width:auto}.cs-brand-search{max-width:900px;width:100%;justify-self:center}.cs-commerce-tools{gap:14px}.cs-nav-wrap{background:#fff;border-top:1px solid var(--cs-line)}.cs-nav-inner{min-height:54px;display:flex!important;align-items:center}.cs-primary-nav{width:100%;font-size:.92rem;font-weight:760}.cs-primary-nav a{color:var(--cs-ink)!important;text-decoration:none}.cs-primary-nav .wp-block-navigation-item.current-menu-item>a,.cs-primary-nav a[aria-current="page"]{color:var(--cs-pink)!important}.cs-primary-nav .wp-block-navigation__submenu-container{border:1px solid var(--cs-line)!important;border-radius:14px!important;box-shadow:var(--cs-shadow)!important;padding:10px!important;min-width:250px!important}.cs-primary-nav .wp-block-navigation__submenu-container a{border-radius:8px;padding:10px 12px!important}.cs-primary-nav .wp-block-navigation__submenu-container a:hover{background:var(--cs-soft)}

/* Search */
.cscc-search-shell{position:relative;width:100%}.cscc-product-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;border:1px solid #d7dce4;background:#fff;border-radius:13px;padding:5px 5px 5px 14px;box-shadow:0 10px 28px rgba(17,19,26,.06)}.cscc-product-search:focus-within{border-color:var(--cs-pink);box-shadow:0 0 0 3px rgba(236,11,87,.12)}.cscc-product-search__icon{color:var(--cs-muted)}.cscc-product-search__input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;padding:10px 4px!important;font:inherit;background:transparent!important}.cscc-product-search button{border:0;border-radius:10px;background:var(--cs-pink);color:#fff;font-weight:800;padding:11px 19px;cursor:pointer}.cscc-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:120;background:#fff;border:1px solid var(--cs-line);border-radius:16px;box-shadow:var(--cs-shadow);max-height:520px;overflow:auto;padding:8px}.cscc-search-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:10px;text-decoration:none;color:var(--cs-text)}.cscc-search-item:hover{background:var(--cs-soft)}.cscc-search-item img{width:58px;height:58px;object-fit:contain;background:#fff;border:1px solid var(--cs-line);border-radius:8px}.cscc-search-item strong{display:block;color:var(--cs-ink)}.cscc-search-item small{display:block;color:var(--cs-muted)}

/* Buttons and icon system */
.wp-block-button__link,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:11px!important;font-weight:800!important;padding:14px 22px!important;background:var(--cs-pink)!important;color:#fff!important;border:1px solid var(--cs-pink)!important;text-decoration:none!important;transition:transform .18s ease,background .18s ease}.wp-block-button__link:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--cs-pink-dark)!important;transform:translateY(-1px)}.is-style-outline>.wp-block-button__link{background:transparent!important;border-color:currentColor!important}.cs-icon,.cs-card-icon,.cs-section-icon,.cs-trust-icon{display:block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.cs-icon{width:28px;height:28px}.cs-card-icon{width:54px;height:54px;color:var(--cs-pink);background-color:var(--cs-pink);margin:0}.cs-section-icon{width:46px;height:46px;color:var(--cs-pink);background-color:var(--cs-pink);margin:0 0 18px}.cs-trust-icon{width:28px;height:28px;color:var(--cs-pink);background-color:var(--cs-pink);margin:0}.cs-icon--device{-webkit-mask-image:url("assets/icons/device.svg");mask-image:url("assets/icons/device.svg")}.cs-icon--apple{-webkit-mask-image:url("assets/icons/apple.svg");mask-image:url("assets/icons/apple.svg")}.cs-icon--drone{-webkit-mask-image:url("assets/icons/drone.svg");mask-image:url("assets/icons/drone.svg")}.cs-icon--printer{-webkit-mask-image:url("assets/icons/printer.svg");mask-image:url("assets/icons/printer.svg")}.cs-icon--network{-webkit-mask-image:url("assets/icons/network.svg");mask-image:url("assets/icons/network.svg")}.cs-icon--power{-webkit-mask-image:url("assets/icons/power.svg");mask-image:url("assets/icons/power.svg")}.cs-icon--cloud{-webkit-mask-image:url("assets/icons/cloud.svg");mask-image:url("assets/icons/cloud.svg")}.cs-icon--shield{-webkit-mask-image:url("assets/icons/shield.svg");mask-image:url("assets/icons/shield.svg")}.cs-icon--connectivity{-webkit-mask-image:url("assets/icons/connectivity.svg");mask-image:url("assets/icons/connectivity.svg")}.cs-icon--website{-webkit-mask-image:url("assets/icons/website.svg");mask-image:url("assets/icons/website.svg")}.cs-icon--ecommerce{-webkit-mask-image:url("assets/icons/ecommerce.svg");mask-image:url("assets/icons/ecommerce.svg")}.cs-icon--domain{-webkit-mask-image:url("assets/icons/domain.svg");mask-image:url("assets/icons/domain.svg")}.cs-icon--seo{-webkit-mask-image:url("assets/icons/seo.svg");mask-image:url("assets/icons/seo.svg")}.cs-icon--maintenance{-webkit-mask-image:url("assets/icons/maintenance.svg");mask-image:url("assets/icons/maintenance.svg")}.cs-icon--ai{-webkit-mask-image:url("assets/icons/ai.svg");mask-image:url("assets/icons/ai.svg")}.cs-icon--strategy{-webkit-mask-image:url("assets/icons/strategy.svg");mask-image:url("assets/icons/strategy.svg")}.cs-icon--automation{-webkit-mask-image:url("assets/icons/automation.svg");mask-image:url("assets/icons/automation.svg")}.cs-icon--analytics{-webkit-mask-image:url("assets/icons/analytics.svg");mask-image:url("assets/icons/analytics.svg")}.cs-icon--support{-webkit-mask-image:url("assets/icons/support.svg");mask-image:url("assets/icons/support.svg")}.cs-icon--quote{-webkit-mask-image:url("assets/icons/quote.svg");mask-image:url("assets/icons/quote.svg")}.cs-icon--contact{-webkit-mask-image:url("assets/icons/contact.svg");mask-image:url("assets/icons/contact.svg")}.cs-icon--procurement{-webkit-mask-image:url("assets/icons/procurement.svg");mask-image:url("assets/icons/procurement.svg")}.cs-icon--managed{-webkit-mask-image:url("assets/icons/managed.svg");mask-image:url("assets/icons/managed.svg")}.cs-icon--check{-webkit-mask-image:url("assets/icons/check.svg");mask-image:url("assets/icons/check.svg")}

/* Home */
.cs-home-hero{background:radial-gradient(circle at 86% 18%,rgba(236,11,87,.24),transparent 28%),linear-gradient(135deg,var(--cs-navy-deep) 0%,var(--cs-ink) 58%,var(--cs-ink-2) 100%);color:#fff;padding:clamp(70px,7.5vw,126px) 0}.cs-home-hero__columns{gap:clamp(38px,7vw,110px)}.cs-kicker{font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:var(--cs-pink);margin:0 0 14px}.cs-home-hero h1{font-size:clamp(3rem,5.7vw,6.2rem)!important;line-height:.96!important;letter-spacing:-.055em!important;max-width:980px;margin:0 0 26px}.cs-home-hero .cs-lead{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.72;color:#e1e3e8;max-width:780px}.cs-proof-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;font-size:.88rem;color:#e5e6eb}.cs-proof-row p{margin:0}.cs-hero-help-panel{border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:22px;background:rgba(255,255,255,.07);box-shadow:0 30px 90px rgba(0,0,0,.25);backdrop-filter:blur(16px)}.cs-hero-help-label{margin:0 0 14px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#fff}.cs-hero-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cs-hero-help-card{position:relative;min-height:148px;border-radius:16px;padding:20px;background:#fff;color:var(--cs-text)}.cs-hero-help-card .cs-icon{color:var(--cs-pink);background-color:var(--cs-pink);margin-bottom:16px}.cs-hero-help-card p{margin:0}.cs-hero-help-card strong,.cs-hero-help-card span{display:block}.cs-hero-help-card strong{color:var(--cs-ink);font-size:1rem}.cs-hero-help-card span{font-size:.82rem;color:var(--cs-muted);margin-top:4px}.cs-hero-help-card a{position:absolute;inset:0}.cs-section{padding:clamp(68px,7vw,112px) 0}.cs-section--soft{background:var(--cs-soft)}.cs-section--dark{background:var(--cs-ink);color:#fff}.cs-section-heading{margin-bottom:36px;max-width:900px}.cs-section-heading--with-icon{max-width:840px}.cs-section-heading h2{font-size:clamp(2.15rem,3.8vw,4rem);line-height:1.05;letter-spacing:-.045em;margin:.15em 0}.cs-section-heading p{color:var(--cs-muted);font-size:1.06rem;max-width:760px}.cs-section--dark .cs-section-heading p{color:#c7cad3}.cs-solution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cs-solution-card{position:relative;display:flex;flex-direction:column;min-height:285px;background:var(--cs-ink-2);border:1px solid #22385c;border-radius:var(--cs-radius);padding:26px;transition:transform .2s ease,box-shadow .2s ease}.cs-solution-card:hover{transform:translateY(-4px);box-shadow:0 18px 52px rgba(0,0,0,.3)}.cs-solution-card .cs-card-icon{color:#ffd5eb;background-color:#ffd5eb}.cs-solution-card h3{font-size:1.35rem;color:#fff;margin:28px 0 10px}.cs-solution-card>p:not(.cs-card-icon):not(.cs-card-link):not(.cs-card-arrow){color:#c9cdd7;line-height:1.65;margin:0 0 44px}.cs-card-link{position:absolute!important;inset:0;z-index:2;margin:0}.cs-card-link a{display:block;width:100%;height:100%}.cs-card-arrow{position:absolute;right:24px;bottom:20px;color:#f9b1d8;font-size:1.5rem;margin:0}.cs-home-cta{padding:76px 0;background:linear-gradient(120deg,var(--cs-pink-dark),var(--cs-pink));color:#fff}.cs-home-cta .alignwide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center}.cs-home-cta h2{font-size:clamp(2.3rem,4vw,4.3rem);letter-spacing:-.045em;margin:0;color:#fff}.cs-home-cta p{font-size:1.1rem;max-width:780px;color:#fff}.cs-home-cta .wp-block-buttons{grid-column:2;grid-row:1/3}.cs-home-cta .wp-block-button__link{background:#fff!important;color:var(--cs-pink-dark)!important;border-color:#fff!important}.cs-home-cta .is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important}

/* Category cards */
.cscc-category-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cscc-category-card{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;padding:20px;border:1px solid var(--cs-line);border-radius:18px;text-decoration:none;color:var(--cs-text);background:#fff;min-height:104px;transition:transform .18s,box-shadow .18s,border-color .18s}.cscc-category-card:hover{transform:translateY(-3px);box-shadow:var(--cs-shadow-soft);border-color:#f2afd5}.cscc-category-card__icon{width:54px;height:54px;border-radius:15px;background:#1e1d27;color:#fff;display:grid;place-items:center;font-weight:850;font-size:1.15rem}.cscc-category-card strong{display:block;color:var(--cs-ink);font-size:1.02rem}.cscc-category-card small{display:block;color:var(--cs-muted);margin-top:4px}.cscc-category-card__arrow{color:var(--cs-pink);font-size:1.5rem}.cscc-category-card[data-family="computers"] .cscc-category-card__icon,.cscc-category-card[data-family="apple"] .cscc-category-card__icon,.cscc-category-card[data-family="dji"] .cscc-category-card__icon,.cscc-category-card[data-family="printers"] .cscc-category-card__icon,.cscc-category-card[data-family="networking"] .cscc-category-card__icon,.cscc-category-card[data-family="power"] .cscc-category-card__icon,.cscc-category-card[data-family="software"] .cscc-category-card__icon,.cscc-category-card[data-family="cybersecurity"] .cscc-category-card__icon,.cscc-category-card[data-family="connectivity"] .cscc-category-card__icon{font-size:0;background-color:#1e1d27;background-repeat:no-repeat;background-position:center;background-size:27px}.cscc-category-card[data-family="computers"] .cscc-category-card__icon{background-image:url("assets/icons/device.svg")}.cscc-category-card[data-family="apple"] .cscc-category-card__icon{background-image:url("assets/icons/apple.svg")}.cscc-category-card[data-family="dji"] .cscc-category-card__icon{background-image:url("assets/icons/drone.svg")}.cscc-category-card[data-family="printers"] .cscc-category-card__icon{background-image:url("assets/icons/printer.svg")}.cscc-category-card[data-family="networking"] .cscc-category-card__icon{background-image:url("assets/icons/network.svg")}.cscc-category-card[data-family="power"] .cscc-category-card__icon{background-image:url("assets/icons/power.svg")}.cscc-category-card[data-family="software"] .cscc-category-card__icon{background-image:url("assets/icons/cloud.svg")}.cscc-category-card[data-family="cybersecurity"] .cscc-category-card__icon{background-image:url("assets/icons/shield.svg")}.cscc-category-card[data-family="connectivity"] .cscc-category-card__icon{background-image:url("assets/icons/connectivity.svg")}

/* Trust */
.cs-trust-band{border-block:1px solid var(--cs-line);background:#fff}.cs-trust-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.cs-trust-item{display:grid!important;grid-template-columns:32px 1fr;gap:12px;align-items:center;min-height:96px;padding:22px 26px;border-right:1px solid var(--cs-line)}.cs-trust-item:last-child{border-right:0}.cs-trust-item p{margin:0}.cs-trust-item strong,.cs-trust-item span{display:block}.cs-trust-item strong{color:var(--cs-ink);line-height:1.25}.cs-trust-item span{font-size:.82rem;color:var(--cs-muted);margin-top:3px}

/* Generic page shells */
.cs-page-hero,.cs-catalogue-hero{background:linear-gradient(180deg,#fbfbfc,#f3f5f7);padding:clamp(54px,6vw,88px) 0;border-bottom:1px solid var(--cs-line)}.cs-page-hero--dark{background:radial-gradient(circle at 85% 10%,rgba(236,11,87,.2),transparent 28%),linear-gradient(135deg,#0e1017,#1b1d29);color:#fff}.cs-page-hero h1,.cs-catalogue-hero h1{font-size:clamp(2.7rem,5vw,5.5rem);line-height:.98;letter-spacing:-.055em;margin:.15em 0}.cs-page-hero--dark h1{color:#fff}.cs-page-hero p,.cs-catalogue-hero p{font-size:1.12rem;max-width:860px;color:var(--cs-muted)}.cs-page-hero--dark p{color:#d8dbe3}.cs-page-shell,.cs-commerce-shell,.cs-product-shell,.cs-family-shell{width:var(--cs-wide);max-width:none!important;margin:0 auto;padding:54px 0 90px}.cs-reading-shell{width:var(--cs-reading);margin:0 auto;padding:54px 0 90px}.cs-content-card{background:#fff;border:1px solid var(--cs-line);border-radius:var(--cs-radius);box-shadow:var(--cs-shadow-soft);padding:clamp(24px,4vw,52px)}.cs-page-intro{font-size:1.14rem!important;color:var(--cs-muted);max-width:960px}.cs-page-cta{background:linear-gradient(135deg,#151824,#241522);color:#fff;border-radius:24px;padding:clamp(30px,5vw,58px);margin-top:44px}.cs-page-cta h2{color:#fff}.cs-page-cta p{color:#d0d3dc;max-width:780px}.cs-family-template .wp-block-post-content{width:100%;max-width:none}.cs-family-links,.cs-catalogue-links{display:flex!important;gap:10px;flex-wrap:wrap;margin:22px 0 30px}.cs-family-links a,.cs-catalogue-links a{display:inline-flex;padding:10px 14px;background:var(--cs-soft);border:1px solid var(--cs-line);border-radius:999px;color:var(--cs-ink);text-decoration:none;font-weight:700}

/* Marketing/service pages */
.cs-marketing-section{padding:clamp(64px,7vw,108px) 0}.cs-marketing-section--soft{background:var(--cs-soft)}.cs-marketing-section--dark{background:var(--cs-ink);color:#fff}.cs-marketing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cs-marketing-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.cs-feature-card{position:relative;display:flex;flex-direction:column;min-height:310px;background:#fff;border:1px solid var(--cs-line);border-radius:22px;padding:28px;box-shadow:var(--cs-shadow-soft)}.cs-feature-card h3{font-size:1.42rem;margin:26px 0 10px}.cs-feature-card p{color:var(--cs-muted);line-height:1.65}.cs-feature-card .cs-card-icon{margin:0}.cs-feature-card .cs-card-action{margin-top:auto;padding-top:20px;font-weight:800}.cs-feature-card .cs-card-action a{text-decoration:none}.cs-marketing-section--dark .cs-feature-card{background:var(--cs-ink-2);border-color:#22385c}.cs-marketing-section--dark .cs-feature-card h3{color:#fff}.cs-marketing-section--dark .cs-feature-card p{color:#c8ccd5}.cs-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:steps}.cs-process-card{counter-increment:steps;background:#fff;border:1px solid var(--cs-line);border-radius:18px;padding:26px;min-height:230px}.cs-process-card:before{content:counter(steps,decimal-leading-zero);display:block;color:var(--cs-pink);font-size:.82rem;font-weight:850;letter-spacing:.14em;margin-bottom:24px}.cs-process-card h3{margin:0 0 10px}.cs-process-card p{color:var(--cs-muted)}.cs-outcome-band{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(135deg,#fff0f8,#f7f3ff);border:1px solid #f2c3dc;border-radius:24px;padding:clamp(28px,5vw,54px)}.cs-outcome-band h2{margin:0}.cs-outcome-band p{color:var(--cs-muted);max-width:780px}

/* Forms and contact */
.cs-form-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:start}.cs-form-card,.cs-contact-card{background:#fff;border:1px solid var(--cs-line);border-radius:22px;padding:clamp(24px,4vw,42px);box-shadow:var(--cs-shadow-soft)}.cs-contact-card{min-height:190px}.cs-contact-card h3{margin:18px 0 8px}.cs-contact-card p{color:var(--cs-muted)}.cs-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:34px}.cs-form-aside{position:sticky;top:24px;background:var(--cs-ink);color:#fff;border-radius:22px;padding:30px}.cs-form-aside h2,.cs-form-aside h3{color:#fff}.cs-form-aside p,.cs-form-aside li{color:#d0d3dc}.cs-form-aside ul{padding-left:20px}.csce-form{display:grid;gap:18px}.csce-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.csce-form label{display:grid;gap:7px;font-weight:750;color:var(--cs-ink)}.csce-form input,.csce-form select,.csce-form textarea{width:100%;border:1px solid #d5dae2;border-radius:11px;padding:13px 14px;font:inherit;color:var(--cs-text);background:#fff}.csce-form input:focus,.csce-form select:focus,.csce-form textarea:focus{outline:0;border-color:var(--cs-pink);box-shadow:0 0 0 3px rgba(236,11,87,.12)}.csce-form textarea{min-height:160px;resize:vertical}.csce-form-hp{position:absolute!important;left:-10000px!important}.csce-form-help{font-size:.86rem;color:var(--cs-muted);margin:0}.csce-form-status{border-radius:12px;padding:14px 16px;margin-bottom:18px}.csce-form-status--success{background:#e8f7f1;color:#066a4b}.csce-form-status--error{background:#fff0f2;color:#a61e34}

/* WooCommerce archives and product grids */
.cs-archive-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.woocommerce .woocommerce-result-count{color:var(--cs-muted);margin:0}.woocommerce .woocommerce-ordering{margin:0}.woocommerce .woocommerce-ordering select{border:1px solid var(--cs-line);border-radius:10px;padding:11px 38px 11px 12px;background:#fff}.woocommerce ul.products,.cscc-products-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;margin:26px 0!important;clear:both}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product,.cscc-product-card{float:none!important;width:auto!important;margin:0!important;background:#fff;border:1px solid var(--cs-line);border-radius:18px;padding:0!important;overflow:hidden;display:flex!important;flex-direction:column;min-width:0;box-shadow:0 4px 18px rgba(17,19,26,.035);transition:transform .2s,box-shadow .2s}.woocommerce ul.products li.product:hover,.cscc-product-card:hover{transform:translateY(-4px);box-shadow:var(--cs-shadow)}.cs-product-card-media{position:relative;background:#fff;aspect-ratio:1/1;display:grid;place-items:center;padding:24px;border-bottom:1px solid var(--cs-line);text-decoration:none}.cs-product-card-media img,.woocommerce ul.products li.product img,.cscc-product-card__image img{width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important}.cs-product-badge,.onsale{position:absolute!important;top:14px!important;left:14px!important;right:auto!important;min-height:auto!important;min-width:auto!important;line-height:1!important;background:var(--cs-pink)!important;color:#fff!important;padding:8px 10px!important;border-radius:999px!important;font-size:.7rem!important;font-weight:800!important}.cs-product-card-body{display:flex;flex-direction:column;flex:1;padding:20px}.cs-product-brand{color:var(--cs-pink);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.cs-product-title,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important;line-height:1.42!important;color:var(--cs-ink)!important;font-weight:760!important;padding:0!important;margin:8px 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.84em}.cs-product-sku{font-size:.75rem;color:var(--cs-muted);margin-bottom:12px}.cs-product-price,.woocommerce ul.products li.product .price{color:var(--cs-ink)!important;font-size:1.25rem!important;font-weight:850!important;margin:0!important}.cs-product-price del{font-size:.8em;color:var(--cs-muted)}.cs-product-price ins{text-decoration:none}.cs-product-vat{color:var(--cs-muted);font-size:.72rem;margin-top:3px}.cs-product-stock{font-size:.78rem;color:var(--cs-success);margin-top:10px}.cs-product-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:auto;padding-top:18px}.cs-product-actions .button{width:100%;text-align:center;padding:11px 13px!important;font-size:.84rem}.cs-view-product{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--cs-soft);color:var(--cs-ink);text-decoration:none;font-size:1.25rem}.woocommerce-pagination ul.page-numbers{border:0!important;display:flex!important;gap:7px;justify-content:center}.woocommerce-pagination ul.page-numbers li{border:0!important}.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:grid!important;place-items:center;min-width:42px;height:42px;border:1px solid var(--cs-line);border-radius:10px!important;background:#fff}.woocommerce-pagination .page-numbers.current{background:var(--cs-pink)!important;color:#fff!important;border-color:var(--cs-pink)!important}.cscc-catalogue__toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 18px}.cscc-catalogue__toolbar strong,.cscc-catalogue__toolbar span{display:block}.cscc-catalogue__toolbar span{color:var(--cs-muted);font-size:.86rem}.cscc-catalogue__toolbar label{display:flex;align-items:center;gap:8px;font-weight:700}.cscc-catalogue__toolbar select{padding:10px 34px 10px 12px;border:1px solid var(--cs-line);border-radius:10px;background:#fff}.cscc-empty{text-align:center;border:1px dashed #cfd4dc;border-radius:20px;padding:60px 24px;background:var(--cs-soft)}.cscc-empty>span{font-size:2rem;color:var(--cs-pink)}.cscc-random-products[aria-busy="true"]{opacity:.72}.cscc-random-loading{padding:28px;border-radius:16px;background:#fff;border:1px solid var(--cs-line);color:var(--cs-muted);text-align:center}

/* Single product */
.cs-product-shell{padding-top:40px}.single-product .woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:clamp(36px,5vw,82px);align-items:start}.single-product .woocommerce div.product .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important;background:#fff;border:1px solid var(--cs-line);border-radius:22px;padding:clamp(18px,3vw,34px);position:sticky;top:24px}.single-product .woocommerce div.product .summary{float:none!important;width:100%!important;margin:0!important;background:#fff;border:1px solid var(--cs-line);border-radius:22px;padding:clamp(26px,4vw,46px);box-shadow:var(--cs-shadow-soft)}.single-product .product_title{font-size:clamp(2.1rem,3.8vw,4.2rem);line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}.single-product .summary .price{font-size:clamp(1.65rem,2.8vw,2.55rem)!important;color:var(--cs-ink)!important;font-weight:850;margin:14px 0}.single-product .woocommerce-product-details__short-description{font-size:1.04rem;color:var(--cs-muted);line-height:1.75}.single-product form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin-top:24px}.single-product form.cart .quantity .qty{height:52px;border:1px solid var(--cs-line);border-radius:10px}.single-product .single_add_to_cart_button{min-height:52px}.single-product .product_meta{border-top:1px solid var(--cs-line);margin-top:24px;padding-top:18px;color:var(--cs-muted);font-size:.86rem}.single-product .woocommerce-tabs,.single-product .related,.single-product .upsells{grid-column:1/-1;width:100%;margin-top:44px}.single-product .woocommerce-tabs{border:1px solid var(--cs-line);border-radius:22px;padding:clamp(24px,4vw,46px)}.single-product .woocommerce-tabs ul.tabs{display:flex;gap:10px;flex-wrap:wrap;padding:0!important;margin:0 0 28px!important}.single-product .woocommerce-tabs ul.tabs:before{display:none!important}.single-product .woocommerce-tabs ul.tabs li{border:1px solid var(--cs-line)!important;background:var(--cs-soft)!important;border-radius:999px!important;margin:0!important;padding:0!important}.single-product .woocommerce-tabs ul.tabs li a{padding:10px 16px!important}.single-product .related>h2,.single-product .upsells>h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em}.cs-product-reassurance{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.cs-product-reassurance p{margin:0;padding:15px;border-radius:12px;background:var(--cs-soft);text-align:center;font-weight:750;font-size:.86rem}

/* Cart, checkout and tables */
.cs-commerce-shell .woocommerce{width:100%}.woocommerce table.shop_table{border:1px solid var(--cs-line)!important;border-radius:16px!important;overflow:hidden}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px!important}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--cs-line);border-radius:20px;padding:24px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--cs-line);border-radius:10px;padding:12px}.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--cs-pink);box-shadow:0 0 0 3px rgba(236,11,87,.12);outline:0}

/* 404 */
.cs-404{min-height:62vh;display:grid;place-items:center;text-align:center}.cs-404-card{max-width:900px;padding:clamp(32px,6vw,74px);border:1px solid var(--cs-line);border-radius:28px;background:#fff;box-shadow:var(--cs-shadow)}.cs-404-code{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cs-pink);font-weight:850}.cs-404 h1{font-size:clamp(2.8rem,6vw,6rem);letter-spacing:-.055em;margin:.1em 0}.cs-404 p{font-size:1.1rem;color:var(--cs-muted)}.cs-404-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.cs-404-links a{padding:10px 14px;border:1px solid var(--cs-line);border-radius:999px;text-decoration:none;font-weight:750}

/* Footer */
.cs-site-footer{background:var(--cs-navy-deep);color:#c9d7ec}.cs-footer-main{padding:70px 0 56px}.cs-footer-columns{gap:38px}.cs-site-footer h3{color:#fff;font-size:1rem}.cs-site-footer a{color:#e6e8ee;text-decoration:none}.cs-site-footer a:hover{color:#fff;text-decoration:underline}.cs-footer-company p{max-width:460px}.cs-footer-bottom{border-top:1px solid #2b2e38}.cs-footer-bottom__inner{min-height:68px;font-size:.82rem}.cs-footer-bottom p{margin:0}

/* Responsive */
@media (max-width:1280px){.cs-brand-row{grid-template-columns:210px minmax(280px,1fr) auto}.cs-solution-grid,.cs-marketing-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-trust-item:nth-child(3){border-right:0}.cs-trust-item:nth-child(-n+3){border-bottom:1px solid var(--cs-line)}.woocommerce ul.products,.cscc-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:1024px){:root{--cs-wide:min(100% - 32px,1640px);--cs-reading:min(100% - 32px,1120px)}.cs-topbar{display:none}.cs-brand-row{grid-template-columns:1fr auto;gap:16px}.cs-brand-search{grid-column:1/-1;grid-row:2}.cs-nav-inner{min-height:50px}.cs-home-hero h1{font-size:clamp(2.9rem,8vw,5rem)!important}.cs-home-hero__columns{flex-direction:column}.cs-home-hero__columns>.wp-block-column{flex-basis:100%!important;width:100%}.cscc-category-cards,.cs-marketing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-form-layout{grid-template-columns:1fr}.cs-form-aside{position:static}.single-product .woocommerce div.product{grid-template-columns:1fr}.single-product .woocommerce div.product .woocommerce-product-gallery{position:static}.cs-home-cta .alignwide{grid-template-columns:1fr}.cs-home-cta .wp-block-buttons{grid-column:auto;grid-row:auto}.cs-contact-grid{grid-template-columns:1fr 1fr}}
@media (max-width:768px){:root{--cs-wide:min(100% - 24px,1640px);--cs-reading:min(100% - 24px,1120px)}.cs-brand-row{padding-block:14px}.cs-brand-row .custom-logo{max-width:180px}.cs-commerce-tools{gap:8px}.cs-home-hero{padding:64px 0}.cs-home-hero h1{font-size:clamp(2.7rem,13vw,4.3rem)!important}.cs-hero-help-grid,.cscc-category-cards,.cs-solution-grid,.cs-marketing-grid,.cs-marketing-grid--four,.cs-process-grid,.cs-contact-grid{grid-template-columns:1fr}.cs-section{padding:64px 0}.cs-section-heading h2{font-size:2.5rem}.cs-trust-grid{grid-template-columns:1fr 1fr}.cs-trust-item{border-bottom:1px solid var(--cs-line)!important}.cs-trust-item:nth-child(odd){border-right:1px solid var(--cs-line)}.cs-trust-item:nth-child(even){border-right:0}.woocommerce ul.products,.cscc-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.cs-product-card-body{padding:15px}.cs-product-card-media{padding:16px}.cs-product-title{font-size:.92rem!important}.cs-product-price{font-size:1.05rem!important}.csce-form-grid{grid-template-columns:1fr}.cs-outcome-band{grid-template-columns:1fr}.cs-product-reassurance{grid-template-columns:1fr 1fr}.cs-footer-columns{display:grid!important;grid-template-columns:1fr 1fr}.cs-footer-company{grid-column:1/-1}.cs-footer-bottom__inner{padding-block:18px}}
@media (max-width:520px){.cs-brand-row{grid-template-columns:1fr auto}.cs-brand-row .wp-block-site-logo{max-width:150px}.cscc-product-search{grid-template-columns:auto 1fr}.cscc-product-search button{grid-column:1/-1;width:100%}.cscc-search-results{position:fixed;left:12px;right:12px;top:132px}.cs-home-hero h1{font-size:2.75rem!important}.cs-proof-row{display:grid;gap:8px}.woocommerce ul.products,.cscc-products-grid{grid-template-columns:1fr!important}.cs-trust-grid{grid-template-columns:1fr}.cs-trust-item{border-right:0!important}.cs-product-reassurance{grid-template-columns:1fr}.cs-footer-columns{grid-template-columns:1fr}.cs-footer-company{grid-column:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 4.1 corrective safeguards */
.cs-primary-nav .cs-nav-highlight>a{color:var(--cs-ink)!important}.cs-primary-nav .cs-nav-highlight.current-menu-item>a,.cs-primary-nav .cs-nav-highlight>a[aria-current="page"]{color:var(--cs-pink)!important}.csce-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:500!important}.csce-consent input{width:auto!important;margin-top:4px}.csce-form .button{justify-self:start}.cs-trust-item>p{align-self:center}.cs-trust-item strong{white-space:normal}.cscc-category-card__icon{background-color:#1e1d27!important}

/* Compatibility styling for approved legacy page content while canonical pages migrate */
.cscc-marketing-page{width:100%;max-width:none}.cscc-marketing-page>h2:first-child{font-size:clamp(2rem,3.5vw,3.8rem);letter-spacing:-.04em;margin-top:0}.cscc-marketing-page>p{max-width:940px;color:var(--cs-muted);font-size:1.06rem;line-height:1.75}.cscc-service-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.cscc-service-grid article,.cscc-service-grid section{background:#fff;border:1px solid var(--cs-line);border-radius:20px;padding:28px;box-shadow:var(--cs-shadow-soft);min-height:220px}.cscc-service-grid h3{margin-top:0;font-size:1.3rem}.cscc-service-grid p{color:var(--cs-muted);line-height:1.65}.cscc-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:13px 20px;text-decoration:none;font-weight:800;margin:4px}.cscc-btn-primary{background:var(--cs-pink);color:#fff}.cscc-btn-dark{background:var(--cs-ink);color:#fff}.cscc-form{display:grid;gap:17px;background:#fff;border:1px solid var(--cs-line);border-radius:20px;padding:clamp(22px,4vw,42px);box-shadow:var(--cs-shadow-soft)}.cscc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cscc-form label{display:grid;gap:7px;font-weight:750}.cscc-form input,.cscc-form select,.cscc-form textarea{width:100%;border:1px solid #d5dae2;border-radius:10px;padding:12px 13px;font:inherit}.cscc-form textarea{min-height:150px}.cscc-form-hp{position:absolute!important;left:-10000px!important}.cs-page-shell>.wp-block-post-content>h2:first-child{margin-top:0}.cs-page-shell>.wp-block-post-content p,.cs-page-shell>.wp-block-post-content li{line-height:1.72}.cs-page-shell>.wp-block-post-content table{width:100%;border-collapse:collapse}.cs-page-shell>.wp-block-post-content th,.cs-page-shell>.wp-block-post-content td{padding:13px;border:1px solid var(--cs-line);text-align:left}
@media(max-width:1024px){.cscc-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.cscc-service-grid,.cscc-form-grid{grid-template-columns:1fr}}


/* 4.1.1 defect fixes */
.cs-brand-row{grid-template-columns:minmax(220px,300px) minmax(320px,1fr) auto}
.cs-brand-row .custom-logo{max-height:78px;width:auto}
.cs-footer-company .wp-block-site-logo{margin-bottom:10px}

/* Equal-sized card grids */
.cs-hero-help-grid,.cs-solution-grid,.cs-marketing-grid,.cs-marketing-grid--four,.cs-process-grid,.cscc-category-cards{align-items:stretch}
.cs-hero-help-grid>.wp-block-group,.cs-solution-grid>.wp-block-group,.cs-marketing-grid>.wp-block-group,.cs-marketing-grid--four>.wp-block-group,.cs-process-grid>.wp-block-group,.cscc-category-cards>a{height:100%}
.cs-hero-help-card{min-height:164px;height:100%;display:flex;flex-direction:column;justify-content:flex-start}
.cs-solution-card{min-height:300px;height:100%}
.cs-feature-card{min-height:320px;height:100%}
.cs-process-card{min-height:240px;height:100%}
.cs-trust-item{min-height:104px}
.cs-home-hero .cs-hero-help-card strong{min-height:1.4em}

/* Improve category icon contrast */
.cscc-category-card__icon{position:relative;background:#16141d!important}
.cscc-category-card__icon::before{content:"";display:block;width:28px;height:28px;background:#ffffff;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.cscc-category-card[data-family="computers"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/device.svg");mask-image:url("assets/icons/device.svg")}
.cscc-category-card[data-family="apple"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/apple.svg");mask-image:url("assets/icons/apple.svg")}
.cscc-category-card[data-family="dji"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/drone.svg");mask-image:url("assets/icons/drone.svg")}
.cscc-category-card[data-family="printers"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/printer.svg");mask-image:url("assets/icons/printer.svg")}
.cscc-category-card[data-family="networking"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/network.svg");mask-image:url("assets/icons/network.svg")}
.cscc-category-card[data-family="power"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/power.svg");mask-image:url("assets/icons/power.svg")}
.cscc-category-card[data-family="software"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/cloud.svg");mask-image:url("assets/icons/cloud.svg")}
.cscc-category-card[data-family="cybersecurity"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/shield.svg");mask-image:url("assets/icons/shield.svg")}
.cscc-category-card[data-family="connectivity"] .cscc-category-card__icon::before{-webkit-mask-image:url("assets/icons/connectivity.svg");mask-image:url("assets/icons/connectivity.svg")}
.cscc-category-card[data-family] .cscc-category-card__icon{background-image:none!important;background-size:0!important}

/* Product list pages and commerce wrappers */
.cs-family-results .cscc-catalogue{width:100%}
.cs-family-results .cscc-catalogue__toolbar{background:transparent;border:0;border-radius:0;padding:0;margin:0 0 18px;box-shadow:none}
.cs-family-results .cscc-catalogue__toolbar strong{display:none}
.cs-family-results .cscc-catalogue__toolbar span{font-size:1rem;color:var(--cs-muted);margin-top:0}
.cs-family-results .cscc-catalogue__toolbar>div{display:flex;align-items:center;min-height:42px}
.cs-family-results .cscc-catalogue__toolbar label{margin-left:auto}
.cs-content-card--commerce{padding:clamp(20px,3vw,34px)}
.cs-commerce-page .woocommerce-cart-form,.cs-commerce-page .cart-collaterals,.cs-commerce-page .woocommerce-checkout{width:100%}
.cs-commerce-page .cart-collaterals{margin-top:26px}
.cs-commerce-page .cart_totals,.cs-commerce-page #order_review,.cs-commerce-page #customer_details{background:#fff;border:1px solid var(--cs-line);border-radius:18px;padding:22px}
.woocommerce-cart table.cart img{width:88px!important;height:auto}
.woocommerce a.remove{font-size:1.3rem!important}

@media (max-width:1024px){.cs-brand-row{grid-template-columns:1fr auto}.cs-brand-row .custom-logo{max-height:72px}}
@media (max-width:768px){.cs-hero-help-card,.cs-solution-card,.cs-feature-card,.cs-process-card{min-height:auto}.cs-brand-row .custom-logo{max-height:60px}}

/* 4.1.2 complete catalogue-grid and WooCommerce template corrections */
body.woocommerce-shop .cs-commerce-shell,
body.tax-product_cat .cs-commerce-shell,
body.tax-product_tag .cs-commerce-shell,
body.tax-product_brand .cs-commerce-shell,
body.tax-pwb-brand .cs-commerce-shell,
body.tax-pa_brand .cs-commerce-shell,
.cs-family-results{width:var(--cs-wide)!important;max-width:none!important}

/* Legacy WooCommerce loops, including incorrect columns-1 classes. */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
.cs-family-results ul.products,
.cscc-catalogue ul.products,
.woocommerce ul.products.columns-1,
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-5,
.woocommerce ul.products.columns-6{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  max-width:none!important;
  align-items:stretch!important;
}
body.woocommerce ul.products>li.product,
body.woocommerce-page ul.products>li.product,
.cs-family-results ul.products>li.product,
.cscc-catalogue ul.products>li.product{
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  flex:initial!important;
  height:100%!important;
}

/* WooCommerce Product Collection and Product Template blocks. */
.wc-block-product-template,
ul.wc-block-product-template,
.wp-block-woocommerce-product-template,
.wp-block-woocommerce-product-collection .wc-block-product-template,
.wp-block-woocommerce-product-collection ul.products,
.wc-block-grid__products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  max-width:none!important;
  margin:24px 0!important;
  padding:0!important;
  align-items:stretch!important;
}
.wc-block-product-template>li,
.wp-block-woocommerce-product-template>li,
.wp-block-woocommerce-product-collection .wc-block-product,
.wc-block-grid__product{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  flex:initial!important;
  float:none!important;
  clear:none!important;
  height:100%!important;
}
.wc-block-grid.has-1-columns .wc-block-grid__products,
.wc-block-grid.has-2-columns .wc-block-grid__products,
.wc-block-grid.has-3-columns .wc-block-grid__products,
.wc-block-grid.has-4-columns .wc-block-grid__products,
.wc-block-grid.has-5-columns .wc-block-grid__products,
.wc-block-grid.has-6-columns .wc-block-grid__products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* Keep product collection cards visually consistent with the classic loop card. */
.wp-block-woocommerce-product-template>li,
.wc-block-product-template>li,
.wc-block-grid__product{
  background:#fff!important;
  border:1px solid var(--cs-line)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 4px 18px rgba(17,19,26,.035)!important;
}
.wp-block-woocommerce-product-template img,
.wc-block-product-template img,
.wc-block-grid__product-image img{
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  background:#fff!important;
}

/* Cart and checkout must never inherit the automatic all-pages navigation. */
.cs-commerce-page{position:relative;z-index:1}
.cs-commerce-page .wp-block-post-content{width:100%!important;max-width:none!important}
.cs-commerce-page .wc-block-cart,
.cs-commerce-page .wc-block-checkout,
.cs-commerce-page .woocommerce,
.cs-commerce-page form.checkout{
  width:100%!important;
  max-width:none!important;
}
.cs-commerce-page .wc-block-cart__main,
.cs-commerce-page .wc-block-checkout__main{min-width:0}
.cs-commerce-page .wc-block-components-sidebar-layout{gap:28px!important}

@media (max-width:1280px){
 body.woocommerce ul.products,body.woocommerce-page ul.products,.cs-family-results ul.products,.cscc-catalogue ul.products,
 .wc-block-product-template,ul.wc-block-product-template,.wp-block-woocommerce-product-template,
 .wp-block-woocommerce-product-collection .wc-block-product-template,.wp-block-woocommerce-product-collection ul.products,.wc-block-grid__products,
 .wc-block-grid.has-1-columns .wc-block-grid__products,.wc-block-grid.has-2-columns .wc-block-grid__products,.wc-block-grid.has-3-columns .wc-block-grid__products,.wc-block-grid.has-4-columns .wc-block-grid__products,.wc-block-grid.has-5-columns .wc-block-grid__products,.wc-block-grid.has-6-columns .wc-block-grid__products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:820px){
 body.woocommerce ul.products,body.woocommerce-page ul.products,.cs-family-results ul.products,.cscc-catalogue ul.products,
 .wc-block-product-template,ul.wc-block-product-template,.wp-block-woocommerce-product-template,
 .wp-block-woocommerce-product-collection .wc-block-product-template,.wp-block-woocommerce-product-collection ul.products,.wc-block-grid__products,
 .wc-block-grid.has-1-columns .wc-block-grid__products,.wc-block-grid.has-2-columns .wc-block-grid__products,.wc-block-grid.has-3-columns .wc-block-grid__products,.wc-block-grid.has-4-columns .wc-block-grid__products,.wc-block-grid.has-5-columns .wc-block-grid__products,.wc-block-grid.has-6-columns .wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cs-commerce-page .wc-block-components-sidebar-layout{display:block!important}
}
@media (max-width:520px){
 body.woocommerce ul.products,body.woocommerce-page ul.products,.cs-family-results ul.products,.cscc-catalogue ul.products,
 .wc-block-product-template,ul.wc-block-product-template,.wp-block-woocommerce-product-template,
 .wp-block-woocommerce-product-collection .wc-block-product-template,.wp-block-woocommerce-product-collection ul.products,.wc-block-grid__products,
 .wc-block-grid.has-1-columns .wc-block-grid__products,.wc-block-grid.has-2-columns .wc-block-grid__products,.wc-block-grid.has-3-columns .wc-block-grid__products,.wc-block-grid.has-4-columns .wc-block-grid__products,.wc-block-grid.has-5-columns .wc-block-grid__products,.wc-block-grid.has-6-columns .wc-block-grid__products{grid-template-columns:1fr!important}
}


/* 4.1.3 product-marker and Cart/Checkout template corrections */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
.cs-family-results ul.products,
.cscc-catalogue ul.products,
ul.wc-block-product-template,
.wp-block-woocommerce-product-template,
.wc-block-grid__products{
  list-style:none!important;
  list-style-type:none!important;
}
body.woocommerce ul.products>li.product,
body.woocommerce-page ul.products>li.product,
.cs-family-results ul.products>li.product,
.cscc-catalogue ul.products>li.product,
.wc-block-product-template>li,
.wp-block-woocommerce-product-template>li,
.wc-block-grid__product{
  list-style:none!important;
  list-style-type:none!important;
}
body.woocommerce ul.products>li.product::marker,
body.woocommerce-page ul.products>li.product::marker,
.cs-family-results ul.products>li.product::marker,
.cscc-catalogue ul.products>li.product::marker,
.wc-block-product-template>li::marker,
.wp-block-woocommerce-product-template>li::marker,
.wc-block-grid__product::marker{
  content:""!important;
  font-size:0!important;
}

/* Present Cart and Checkout with the same premium shell used elsewhere. */
body.woocommerce-cart .cs-page-hero,
body.woocommerce-checkout .cs-page-hero{padding:clamp(34px,4vw,58px) 0;background:var(--cs-soft)}
body.woocommerce-cart .cs-page-hero h1,
body.woocommerce-checkout .cs-page-hero h1{font-size:clamp(2.4rem,4.5vw,4.8rem);margin:0 0 10px;letter-spacing:-.045em}
body.woocommerce-cart .cs-page-hero p,
body.woocommerce-checkout .cs-page-hero p{margin:0;color:var(--cs-muted);font-size:1.05rem}
body.woocommerce-cart .cs-page-shell,
body.woocommerce-checkout .cs-page-shell{padding-top:clamp(30px,4vw,54px);padding-bottom:clamp(60px,7vw,100px)}
body.woocommerce-cart .cs-content-card--commerce,
body.woocommerce-checkout .cs-content-card--commerce{background:#fff;border:1px solid var(--cs-line);border-radius:22px;box-shadow:var(--cs-shadow-soft)}
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout{max-width:none!important;width:100%!important}
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout{margin:0!important}
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar{background:var(--cs-soft);border:1px solid var(--cs-line);border-radius:18px;padding:22px}
body.woocommerce-cart .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-main{padding-right:clamp(18px,3vw,42px)}
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button{border-radius:11px!important;font-weight:800!important}

@media(max-width:782px){
  body.woocommerce-cart .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-main{padding-right:0}
  body.woocommerce-cart .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar{margin-top:24px}
}


/* 4.1.4 — Checkout aligned to the Cool Side theme design system */
body.woocommerce-checkout,
body.woocommerce-cart{
  background:var(--cs-soft);
}
body.woocommerce-checkout .cs-site-header,
body.woocommerce-cart .cs-site-header{
  background:#fff;
}
body.woocommerce-checkout .cs-page-hero,
body.woocommerce-cart .cs-page-hero{
  background:linear-gradient(180deg,#ffffff 0%,#f7f8fa 100%);
  border-bottom:1px solid var(--cs-line);
  padding:clamp(34px,4vw,58px) 0;
}
body.woocommerce-checkout .cs-page-hero h1,
body.woocommerce-cart .cs-page-hero h1{
  color:var(--cs-ink);
  font-size:clamp(2.5rem,4.4vw,4.4rem);
  line-height:1;
  letter-spacing:-.045em;
  margin:0 0 12px;
}
body.woocommerce-checkout .cs-page-hero p,
body.woocommerce-cart .cs-page-hero p{
  color:var(--cs-muted);
  max-width:760px;
  font-size:1.05rem;
  line-height:1.65;
}
body.woocommerce-checkout .cs-page-shell,
body.woocommerce-cart .cs-page-shell{
  width:var(--cs-wide)!important;
  max-width:none!important;
  padding:clamp(28px,4vw,52px) 0 clamp(72px,8vw,112px);
}
body.woocommerce-checkout .cs-content-card--commerce,
body.woocommerce-cart .cs-content-card--commerce{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

/* Classic WooCommerce checkout */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle{
  margin-bottom:18px;
}
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-message{
  background:#fff;
  color:var(--cs-text);
  border:1px solid var(--cs-line);
  border-left:4px solid var(--cs-pink);
  border-radius:14px;
  box-shadow:var(--cs-shadow-soft);
  padding:18px 22px 18px 54px!important;
  margin:0 0 22px!important;
}
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-cart .woocommerce-message::before{
  color:var(--cs-pink);
  top:18px;
}
body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-cart .woocommerce-info a{
  color:var(--cs-pink);
  font-weight:800;
}
body.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr);
  gap:28px;
  align-items:start;
  width:100%;
}
body.woocommerce-checkout #customer_details{
  grid-column:1;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:28px;
  background:#fff;
  border:1px solid var(--cs-line);
  border-radius:22px;
  box-shadow:var(--cs-shadow-soft);
  padding:clamp(24px,3vw,36px);
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  float:none;
  width:auto;
  margin:0;
}
body.woocommerce-checkout #customer_details .col-2{
  border-left:1px solid var(--cs-line);
  padding-left:28px;
}
body.woocommerce-checkout #order_review_heading{
  grid-column:2;
  margin:0;
  background:#fff;
  border:1px solid var(--cs-line);
  border-bottom:0;
  border-radius:22px 22px 0 0;
  padding:24px 24px 12px;
  font-size:1.35rem;
  letter-spacing:-.02em;
}
body.woocommerce-checkout #order_review{
  grid-column:2;
  background:#fff;
  border:1px solid var(--cs-line);
  border-top:0;
  border-radius:0 0 22px 22px;
  box-shadow:var(--cs-shadow-soft);
  padding:0 24px 24px;
  position:sticky;
  top:24px;
}
body.woocommerce-checkout .woocommerce-billing-fields>h3,
body.woocommerce-checkout .woocommerce-shipping-fields>h3,
body.woocommerce-checkout .woocommerce-additional-fields>h3{
  color:var(--cs-ink);
  font-size:1.28rem;
  letter-spacing:-.02em;
  margin:0 0 24px;
}
body.woocommerce-checkout .form-row{
  margin:0 0 18px;
  padding:0;
}
body.woocommerce-checkout .form-row label{
  display:block;
  color:var(--cs-text);
  font-size:.9rem;
  font-weight:750;
  margin:0 0 8px;
}
body.woocommerce-checkout .form-row .required{
  color:var(--cs-pink);
}
body.woocommerce-checkout .input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-checkout textarea{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  background:#fff;
  color:var(--cs-text);
  border:1px solid #d8dde5;
  border-radius:11px;
  padding:12px 14px;
  font:inherit;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
body.woocommerce-checkout textarea{
  min-height:132px;
  resize:vertical;
}
body.woocommerce-checkout .select2-container .select2-selection--single{
  display:flex;
  align-items:center;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0;
  color:var(--cs-text);
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:10px;
  right:10px;
}
body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single{
  outline:0;
  border-color:var(--cs-pink);
  box-shadow:0 0 0 3px rgba(236,11,87,.11);
}
body.woocommerce-checkout table.shop_table{
  border:0;
  border-collapse:collapse;
  margin:0 0 20px;
}
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td{
  padding:14px 0;
  border-bottom:1px solid var(--cs-line);
}
body.woocommerce-checkout table.shop_table th:last-child,
body.woocommerce-checkout table.shop_table td:last-child{
  text-align:right;
}
body.woocommerce-checkout table.shop_table .order-total th,
body.woocommerce-checkout table.shop_table .order-total td{
  font-size:1.08rem;
  color:var(--cs-ink);
  border-bottom:0;
}
body.woocommerce-checkout table.shop_table .order-total .amount{
  color:var(--cs-pink);
  font-size:1.3rem;
}
body.woocommerce-checkout #payment{
  background:var(--cs-soft);
  border:1px solid var(--cs-line);
  border-radius:16px;
  margin-top:20px;
}
body.woocommerce-checkout #payment ul.payment_methods{
  padding:18px;
  border-bottom:1px solid var(--cs-line);
}
body.woocommerce-checkout #payment ul.payment_methods li{
  margin:0 0 10px;
}
body.woocommerce-checkout #payment div.payment_box{
  background:#fff;
  color:var(--cs-muted);
  border-radius:10px;
}
body.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:#fff;
}
body.woocommerce-checkout #payment .place-order{
  padding:18px;
}
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button.button,
body.woocommerce-cart .button,
body.woocommerce-cart a.checkout-button{
  border:0!important;
  border-radius:11px!important;
  background:var(--cs-pink)!important;
  color:#fff!important;
  min-height:50px;
  padding:14px 22px!important;
  font-weight:850!important;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease;
}
body.woocommerce-checkout #place_order{
  width:100%;
  font-size:1rem;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-cart .button:hover,
body.woocommerce-cart a.checkout-button:hover{
  background:var(--cs-pink-dark)!important;
  transform:translateY(-1px);
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  color:var(--cs-muted);
  font-size:.9rem;
  line-height:1.6;
}

/* Checkout block */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .wc-block-cart{
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr);
  gap:28px!important;
  align-items:start;
}
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-cart .wc-block-cart__main{
  width:auto!important;
  max-width:none!important;
  background:#fff;
  border:1px solid var(--cs-line);
  border-radius:22px;
  box-shadow:var(--cs-shadow-soft);
  padding:clamp(22px,3vw,34px)!important;
}
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-cart .wc-block-cart__sidebar{
  width:auto!important;
  max-width:none!important;
  background:#fff!important;
  border:1px solid var(--cs-line)!important;
  border-radius:22px!important;
  box-shadow:var(--cs-shadow-soft);
  padding:22px!important;
  position:sticky;
  top:24px;
}
body.woocommerce-checkout .wc-block-components-checkout-step{
  border-bottom:1px solid var(--cs-line);
  padding-bottom:22px;
  margin-bottom:22px;
}
body.woocommerce-checkout .wc-block-components-checkout-step:last-child{
  border-bottom:0;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading h2,
body.woocommerce-checkout .wc-block-components-title{
  color:var(--cs-ink);
  font-size:1.25rem!important;
  letter-spacing:-.02em;
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form select{
  border:1px solid #d8dde5!important;
  border-radius:11px!important;
  background:#fff!important;
  min-height:48px!important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus{
  box-shadow:0 0 0 3px rgba(236,11,87,.11)!important;
  border-color:var(--cs-pink)!important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  background:var(--cs-pink)!important;
  color:#fff!important;
  border:0!important;
  border-radius:11px!important;
  min-height:52px;
  font-weight:850!important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  background:var(--cs-pink-dark)!important;
}
body.woocommerce-checkout .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-totals-wrapper{
  border-color:var(--cs-line)!important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--cs-pink);
  font-weight:850;
}

/* Cart aligned to the same visual system */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals{
  background:#fff;
  border:1px solid var(--cs-line);
  border-radius:22px;
  box-shadow:var(--cs-shadow-soft);
  padding:clamp(20px,3vw,30px);
}
body.woocommerce-cart .shop_table{
  border:0!important;
  border-collapse:collapse!important;
}
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td{
  border-color:var(--cs-line)!important;
}
body.woocommerce-cart .cart_totals{
  background:#fff!important;
}

@media(max-width:1100px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout,
  body.woocommerce-checkout .wc-block-components-sidebar-layout,
  body.woocommerce-cart .wc-block-components-sidebar-layout{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{
    grid-column:1;
  }
  body.woocommerce-checkout #order_review{
    position:static;
  }
  body.woocommerce-checkout .wc-block-checkout__sidebar,
  body.woocommerce-cart .wc-block-cart__sidebar{
    position:static;
  }
}
@media(max-width:760px){
  body.woocommerce-checkout #customer_details{
    grid-template-columns:1fr;
  }
  body.woocommerce-checkout #customer_details .col-2{
    border-left:0;
    border-top:1px solid var(--cs-line);
    padding-left:0;
    padding-top:24px;
  }
  body.woocommerce-checkout .cs-page-shell,
  body.woocommerce-cart .cs-page-shell{
    width:min(100% - 28px,var(--cs-wide))!important;
  }
}

/* ---------- 4.2.0: brand typography hook + accessible focus states ---------- */
h1,h2,h3,h4,h5,h6,.wp-block-heading{font-family:var(--wp--preset--font-family--heading),var(--wp--preset--font-family--system);}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--cs-pink);outline-offset:2px;border-radius:4px}
.cs-site-header :focus-visible,.cs-site-footer :focus-visible,.cs-home-hero :focus-visible,.cs-home-cta :focus-visible,.cs-section--dark :focus-visible{outline-color:#fff}
.cs-card-link a:focus-visible{outline:3px solid var(--cs-pink);outline-offset:-3px}
a{text-underline-offset:2px}
::selection{background:var(--cs-pink);color:#fff}
