/*
Theme Name: Correcaminos Motos
Theme URI: https://example.com/correcaminos-motos
Author: Correcaminos Motos
Description: Tema oscuro y dinámico para una tienda de motos, scooters, refacciones, llantas, aceites, cascos y accesorios. Compatible con WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: correcaminos-motos
Tags: e-commerce, custom-logo, custom-menu, featured-images, responsive-layout, woocommerce
*/

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

:root {
  --cm-bg: #070710;
  --cm-bg-soft: #0d0d18;
  --cm-panel: #121222;
  --cm-panel-2: #18182b;
  --cm-purple: #9a3cff;
  --cm-purple-2: #6922d7;
  --cm-blue: #159dff;
  --cm-cyan: #37d7ff;
  --cm-yellow: #ffd52a;
  --cm-white: #f8f7ff;
  --cm-muted: #9b9aad;
  --cm-border: rgba(255,255,255,.085);
  --cm-radius: 17px;
  --cm-shadow: 0 24px 65px rgba(0,0,0,.44);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--cm-white);
  background:
    radial-gradient(circle at 82% 8%, rgba(112,34,218,.16), transparent 27rem),
    radial-gradient(circle at 8% 28%, rgba(11,139,255,.08), transparent 23rem),
    var(--cm-bg);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.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; }

.cm-header {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0 4.5vw;
  background: rgba(7,7,16,.9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--cm-border);
}
.admin-bar .cm-header { top: 32px; }
.cm-brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.cm-brand-logo { width: 47px; height: 47px; }
.cm-brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.cm-brand-text { display: grid; line-height: .88; text-transform: uppercase; }
.cm-brand-text strong { font-family: "Barlow Condensed", Impact, sans-serif; font-size: 24px; letter-spacing: .5px; }
.cm-brand-text small { margin-top: 8px; color: var(--cm-yellow); font-size: 9px; font-weight: 900; letter-spacing: 3.7px; }
.cm-nav { margin-left: auto; }
.cm-nav ul { display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; list-style: none; }
.cm-nav a { color: #d6d5e0; font-size: 13px; font-weight: 700; transition: .2s ease; }
.cm-nav a:hover { color: var(--cm-yellow); }
.cm-actions { display: flex; align-items: center; gap: 9px; }
.cm-icon-button {
  position: relative;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  color: var(--cm-white);
  border: 1px solid var(--cm-border);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  cursor: pointer;
}
.cm-icon-button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cm-cart-count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  color: #070710;
  background: var(--cm-yellow);
  border: 3px solid var(--cm-bg);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}
.cm-menu-toggle { display: none; }

.cm-hero {
  position: relative;
  min-height: 710px;
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  align-items: center;
  gap: 5vw;
  padding: 82px 5vw 72px;
  overflow: hidden;
  isolation: isolate;
}
.cm-hero::after {
  content: "";
  position: absolute;
  left: 5vw;
  right: 5vw;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(26,157,255,.55), rgba(154,60,255,.75), transparent);
}
.cm-orb { position: absolute; border-radius: 50%; filter: blur(90px); z-index: -1; opacity: .16; }
.cm-orb-one { width: 430px; height: 430px; right: 2%; top: 6%; background: var(--cm-purple); }
.cm-orb-two { width: 280px; height: 280px; left: 7%; bottom: 2%; background: var(--cm-blue); opacity: .08; }
.cm-hero-copy { max-width: 720px; }
.cm-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  padding: 7px 11px;
  color: var(--cm-yellow);
  background: rgba(255,213,42,.07);
  border: 1px solid rgba(255,213,42,.25);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.cm-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--cm-yellow); box-shadow: 0 0 12px var(--cm-yellow); }
.cm-hero h1,
.cm-section-title,
.cm-about h2,
.cm-contact h2,
.entry-title,
.woocommerce div.product .product_title {
  margin: 0;
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.5px;
  text-transform: uppercase;
}
.cm-hero h1 { max-width: 760px; font-size: clamp(58px, 7vw, 101px); }
.cm-hero h1 span { display: block; color: transparent; -webkit-text-stroke: 1.2px var(--cm-cyan); text-shadow: 0 0 25px rgba(55,215,255,.12); }
.cm-hero-description { max-width: 650px; margin: 26px 0 28px; color: #b7b6c5; font-size: clamp(15px, 1.3vw, 18px); }
.cm-buttons { display: flex; flex-wrap: wrap; gap: 11px; }
.cm-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 21px;
  border: 0;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cm-btn:hover { transform: translateY(-2px); }
.cm-btn-primary { color: #fff; background: linear-gradient(90deg, var(--cm-blue), var(--cm-purple)); box-shadow: 0 13px 35px rgba(111,46,218,.23); }
.cm-btn-dark { color: var(--cm-white); background: #080810; border: 1px solid rgba(255,255,255,.14); }
.cm-mini-data { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 38px; }
.cm-mini-data div { display: grid; gap: 1px; padding-left: 14px; border-left: 2px solid rgba(154,60,255,.45); }
.cm-mini-data strong { font-family: "Barlow Condensed", sans-serif; font-size: 21px; text-transform: uppercase; }
.cm-mini-data span { color: var(--cm-muted); font-size: 10px; }

.cm-hero-media { position: relative; display: grid; place-items: center; min-height: 500px; }
.cm-image-card {
  position: relative;
  width: min(100%, 620px);
  aspect-ratio: 1.08;
  overflow: hidden;
  background: #020204;
  border: 1px solid rgba(154,60,255,.24);
  border-radius: 30px;
  box-shadow: 0 35px 90px rgba(0,0,0,.56), 0 0 70px rgba(120,45,224,.12);
}
.cm-image-card img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.08) saturate(1.12); }
.cm-image-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 64%, rgba(6,6,14,.78)); pointer-events: none; }
.cm-image-label { position: absolute; left: 22px; right: 22px; bottom: 19px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #d4d4e1; font-size: 10px; }
.cm-image-label b { color: var(--cm-yellow); text-transform: uppercase; letter-spacing: 1.2px; }
.cm-streak { position: absolute; height: 2px; border-radius: 99px; transform: rotate(-9deg); }
.cm-streak-one { width: 45%; top: 16%; right: -5%; background: linear-gradient(90deg, transparent, var(--cm-purple)); box-shadow: 0 0 12px var(--cm-purple); }
.cm-streak-two { width: 42%; left: -5%; bottom: 18%; background: linear-gradient(90deg, var(--cm-blue), transparent); box-shadow: 0 0 12px var(--cm-blue); }

.cm-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--cm-border);
  border-block: 1px solid var(--cm-border);
}
.cm-strip article { min-height: 115px; display: flex; align-items: center; gap: 14px; padding: 24px 5vw; background: var(--cm-bg-soft); }
.cm-strip-icon { width: 43px; height: 43px; flex: 0 0 43px; display: grid; place-items: center; color: var(--cm-yellow); background: rgba(154,60,255,.09); border: 1px solid rgba(154,60,255,.18); border-radius: 11px; font-size: 19px; }
.cm-strip h3 { margin: 0 0 4px; font-size: 13px; }
.cm-strip p { margin: 0; color: var(--cm-muted); font-size: 11px; line-height: 1.4; }

.cm-section { padding: 94px 5vw; }
.cm-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.cm-section-heading > div { max-width: 760px; }
.cm-eyebrow { margin: 0 0 9px; color: var(--cm-yellow); font-size: 10px; font-weight: 900; letter-spacing: 2.2px; text-transform: uppercase; }
.cm-section-title, .cm-about h2, .cm-contact h2 { font-size: clamp(42px, 5.3vw, 71px); }
.cm-section-heading > p { max-width: 500px; margin: 0; color: var(--cm-muted); font-size: 13px; }

.cm-categories { background: linear-gradient(180deg, #080811, #0b0b15); }
.cm-category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.cm-category-card {
  position: relative;
  min-height: 145px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(25,25,44,.96), rgba(12,12,23,.96));
  border: 1px solid var(--cm-border);
  border-radius: 14px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.cm-category-card::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--cm-blue), var(--cm-purple)); transform: scaleX(0); transform-origin: left; transition: .22s ease; }
.cm-category-card:hover { transform: translateY(-5px); border-color: rgba(154,60,255,.35); box-shadow: var(--cm-shadow); }
.cm-category-card:hover::after { transform: scaleX(1); }
.cm-category-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--cm-purple); background: rgba(154,60,255,.08); border: 1px solid rgba(154,60,255,.13); border-radius: 11px; font-size: 21px; }
.cm-category-card h3 { margin: 13px 0 1px; font-family: "Barlow Condensed", sans-serif; font-size: 20px; text-transform: uppercase; }
.cm-category-card p { margin: 0; color: var(--cm-muted); font-size: 9px; }

.cm-products { background: #070710; }
.cm-products .products, .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.cm-products .products::before, .cm-products .products::after, .woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.cm-demo-product {
  position: relative;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 0 18px !important;
  overflow: hidden;
  color: var(--cm-white);
  background: var(--cm-panel);
  border: 1px solid var(--cm-border);
  border-radius: var(--cm-radius);
  box-shadow: 0 8px 28px rgba(0,0,0,.13);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.woocommerce ul.products li.product:hover, .cm-demo-product:hover { transform: translateY(-5px); border-color: rgba(154,60,255,.33); box-shadow: var(--cm-shadow); }
.woocommerce ul.products li.product a img, .cm-demo-art {
  width: 100%;
  aspect-ratio: 1.56;
  object-fit: cover;
  margin: 0 0 16px !important;
  background:
    radial-gradient(circle at 70% 30%, rgba(154,60,255,.35), transparent 35%),
    linear-gradient(145deg, #222237, #090911);
  border-bottom: 1px solid var(--cm-border);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 18px 7px; padding: 0; color: var(--cm-white); font-size: 15px; line-height: 1.25; }
.woocommerce ul.products li.product .price { margin: 0 18px; color: #e7e6ef; font-size: 13px; font-weight: 800; }
.woocommerce ul.products li.product .star-rating { margin: 8px 18px; color: var(--cm-yellow); }
.woocommerce ul.products li.product .button {
  width: calc(100% - 36px);
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 15px 18px 0;
  padding: 0 14px;
  color: #fff;
  background: linear-gradient(90deg, var(--cm-blue), var(--cm-purple));
  border-radius: 8px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.woocommerce ul.products li.product .button:hover { color: #fff; background: linear-gradient(90deg, #0f8bea, #812ce2); }
.woocommerce span.onsale { min-width: auto; min-height: auto; top: 12px; left: auto; right: 12px; padding: 7px 10px; color: white; background: var(--cm-purple); border-radius: 999px; line-height: 1; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.cm-demo-art { display: grid; place-items: center; font-size: 76px; }
.cm-demo-product h3 { margin: 0 18px 7px; font-size: 15px; }
.cm-demo-product p { margin: 0 18px; color: var(--cm-muted); font-size: 11px; }
.cm-demo-product .cm-btn { width: calc(100% - 36px); min-height: 38px; margin: 15px 18px 0; }
.cm-demo-note { margin: 20px 0 0; color: #777689; font-size: 10px; text-align: center; }

.cm-about { padding: 95px 5vw; background: #0b0b15; }
.cm-about-card { display: grid; grid-template-columns: .86fr 1.14fr; max-width: 1480px; margin: 0 auto; overflow: hidden; background: var(--cm-panel); border: 1px solid var(--cm-border); border-radius: 24px; box-shadow: var(--cm-shadow); }
.cm-about-visual { position: relative; min-height: 500px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 50%, rgba(154,60,255,.31), transparent 38%), #090912; }
.cm-about-visual::before { content: "CORRECAMINOS"; position: absolute; left: 50%; top: 50%; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.06); transform: translate(-50%,-50%) rotate(-90deg); font-family: "Barlow Condensed", sans-serif; font-size: 105px; font-weight: 900; letter-spacing: 8px; }
.cm-about-mark { position: relative; z-index: 2; font-family: "Barlow Condensed", sans-serif; font-size: clamp(105px, 12vw, 175px); font-weight: 900; line-height: .7; color: var(--cm-cyan); }
.cm-about-mark span { color: var(--cm-yellow); font-size: .45em; }
.cm-about-copy { padding: clamp(38px, 6vw, 78px); }
.cm-about h2 { margin-bottom: 23px; }
.cm-about-copy > p:not(.cm-eyebrow) { color: #b8b7c4; font-size: 14px; }
.cm-values { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.cm-values span { padding: 7px 11px; color: #dff6ff; background: rgba(55,215,255,.055); border: 1px solid rgba(55,215,255,.14); border-radius: 999px; font-size: 10px; }

.cm-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cm-benefit-card { display: flex; gap: 14px; padding: 21px; background: var(--cm-panel); border: 1px solid var(--cm-border); border-radius: 14px; }
.cm-benefit-card strong { display: block; margin-bottom: 4px; color: var(--cm-yellow); font-size: 12px; }
.cm-benefit-card p { margin: 0; color: var(--cm-muted); font-size: 10px; }

.cm-contact {
  margin: 0 5vw 95px;
  padding: clamp(38px, 6vw, 68px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  overflow: hidden;
  background: radial-gradient(circle at 90% 50%, rgba(154,60,255,.28), transparent 26%), radial-gradient(circle at 8% 20%, rgba(21,157,255,.15), transparent 34%), var(--cm-panel);
  border: 1px solid rgba(154,60,255,.24);
  border-radius: 22px;
}
.cm-contact > div:first-child { max-width: 820px; }
.cm-contact p:not(.cm-eyebrow) { color: var(--cm-muted); }

.cm-footer {
  position: relative;
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1.25fr;
  gap: 38px;
  padding: 58px 5vw 95px;
  color: var(--cm-muted);
  background: #05050b;
  border-top: 1px solid var(--cm-border);
}
.cm-footer-brand p { max-width: 350px; font-size: 12px; }
.cm-footer h3 { margin: 0 0 13px; color: white; font-size: 12px; }
.cm-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; font-size: 11px; }
.cm-footer a:hover { color: var(--cm-yellow); }
.cm-copyright { grid-column: 1 / -1; margin: 20px 0 0; padding-top: 22px; border-top: 1px solid var(--cm-border); color: #666579; font-size: 10px; text-align: center; }
.cm-mobile-nav { display: none; }

.content-area, .woocommerce-main { min-height: 60vh; padding: 72px 5vw 100px; }
.content-wrap { max-width: 1200px; margin: 0 auto; }
.entry-title { font-size: clamp(44px, 6vw, 75px); }
.entry-content { color: #c1c0cb; }
.entry-content a { color: var(--cm-yellow); }

/* WooCommerce pages */
.woocommerce .woocommerce-breadcrumb { color: var(--cm-muted); font-size: 11px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--cm-cyan); }
.woocommerce .woocommerce-result-count { color: var(--cm-muted); }
.woocommerce .woocommerce-ordering select { padding: 10px 13px; color: white; background: var(--cm-panel); border: 1px solid var(--cm-border); border-radius: 9px; }
.woocommerce div.product { max-width: 1400px; margin: 0 auto; }
.woocommerce div.product .product_title { font-size: clamp(45px, 5vw, 72px); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--cm-yellow); font-size: 25px; }
.woocommerce div.product form.cart .button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  color: white; background: linear-gradient(90deg, var(--cm-blue), var(--cm-purple)); border-radius: 9px; font-weight: 900;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover { color: white; background: linear-gradient(90deg, #0f8bea, #812ce2); }
.woocommerce-message, .woocommerce-info { color: #e9e8f1; background: var(--cm-panel); border-top-color: var(--cm-purple); }
.woocommerce-error { color: #fff; background: #2c1019; border-top-color: #ff4e72; }
.woocommerce table.shop_table, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-color: var(--cm-border); border-radius: 13px; background: var(--cm-panel); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--cm-border); }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select { color: white; background: #090910; border: 1px solid var(--cm-border); border-radius: 8px; padding: 11px; }
.woocommerce .quantity .qty { color: white; background: #090910; border: 1px solid var(--cm-border); border-radius: 8px; padding: 7px; }
.woocommerce-checkout #payment { color: #d8d7df; background: var(--cm-panel); border: 1px solid var(--cm-border); }
.woocommerce-checkout #payment div.payment_box { color: #d0cfdb; background: #090910; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #090910; }
.woocommerce-tabs ul.tabs li { background: var(--cm-panel) !important; border-color: var(--cm-border) !important; }
.woocommerce-tabs ul.tabs li a { color: white !important; }

@media (max-width: 1180px) {
  .cm-category-grid { grid-template-columns: repeat(3, 1fr); }
  .cm-products .products, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cm-footer { grid-template-columns: 1.5fr 1fr 1fr; }
  .cm-footer-column:last-of-type { grid-column: 2 / 4; }
}

@media (max-width: 900px) {
  .cm-header { padding-inline: 20px; }
  .cm-nav { position: absolute; left: 0; right: 0; top: 71px; display: none; padding: 10px 20px 18px; background: rgba(7,7,16,.98); border-bottom: 1px solid var(--cm-border); }
  .cm-nav.open { display: block; }
  .cm-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .cm-nav li { border-bottom: 1px solid var(--cm-border); }
  .cm-nav a { display: block; padding: 12px 0; }
  .cm-menu-toggle { display: grid; }
  .cm-hero { min-height: auto; grid-template-columns: 1fr; padding-top: 65px; }
  .cm-hero-media { min-height: auto; }
  .cm-image-card { max-width: 680px; }
  .cm-section-heading { align-items: flex-start; flex-direction: column; }
  .cm-about-card { grid-template-columns: 1fr; }
  .cm-about-visual { min-height: 365px; }
  .cm-contact { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  body { padding-bottom: 64px; }
  .admin-bar .cm-header { top: 46px; }
  .cm-header { min-height: 62px; padding-inline: 13px; }
  .cm-brand-logo { width: 40px; height: 40px; }
  .cm-brand-text strong { font-size: 19px; }
  .cm-brand-text small { font-size: 7px; letter-spacing: 2.5px; }
  .cm-icon-button { width: 38px; height: 38px; }
  .cm-menu-toggle { width: 38px; height: 38px; }
  .cm-nav { top: 61px; }
  .cm-hero { padding: 45px 14px 46px; gap: 30px; }
  .cm-hero h1 { font-size: clamp(49px, 15vw, 68px); }
  .cm-hero-description { margin-top: 19px; font-size: 13px; }
  .cm-btn { min-height: 42px; padding-inline: 15px; font-size: 9px; }
  .cm-mini-data { gap: 12px; margin-top: 28px; }
  .cm-mini-data div { width: calc(50% - 6px); }
  .cm-image-card { border-radius: 18px; aspect-ratio: 1.05; }
  .cm-image-label { left: 14px; right: 14px; bottom: 13px; }
  .cm-strip { grid-template-columns: 1fr; }
  .cm-strip article { min-height: 92px; padding: 18px 16px; }
  .cm-section, .cm-about { padding: 70px 14px; }
  .cm-section-heading { margin-bottom: 25px; }
  .cm-section-title, .cm-about h2, .cm-contact h2 { font-size: clamp(39px, 13vw, 56px); }
  .cm-category-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .cm-category-card { min-height: 126px; padding: 14px; }
  .cm-category-icon { width: 36px; height: 36px; font-size: 18px; }
  .cm-category-card h3 { font-size: 17px; }
  .cm-products .products, .woocommerce ul.products { grid-template-columns: 1fr; gap: 12px; }
  .woocommerce ul.products li.product a img, .cm-demo-art { aspect-ratio: 1.7; }
  .cm-about-card { border-radius: 16px; }
  .cm-about-copy { padding: 31px 22px 38px; }
  .cm-about-visual { min-height: 285px; }
  .cm-about-visual::before { font-size: 72px; }
  .cm-benefit-grid { grid-template-columns: 1fr; }
  .cm-contact { margin: 0 14px 72px; padding: 31px 22px; border-radius: 16px; }
  .cm-contact .cm-buttons { width: 100%; }
  .cm-contact .cm-btn { width: 100%; }
  .cm-footer { grid-template-columns: 1fr; gap: 29px; padding: 49px 14px 85px; }
  .cm-footer-column:last-of-type { grid-column: auto; }
  .cm-copyright { grid-column: auto; }
  .content-area, .woocommerce-main { padding: 55px 14px 90px; }
  .cm-mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    height: 64px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: rgba(7,7,16,.96);
    backdrop-filter: blur(17px);
    border-top: 1px solid var(--cm-border);
  }
  .cm-mobile-nav a { display: grid; place-items: center; align-content: center; gap: 3px; color: #aaa9b9; font-size: 8px; font-weight: 700; }
  .cm-mobile-nav a span:first-child { color: var(--cm-white); font-size: 18px; line-height: 1; }
  .cm-mobile-nav a:hover { color: var(--cm-yellow); }
}
