/*
 * Creative Commerce 4.2.41 - VISUAL MASTER
 * One late-loaded source of truth for public geometry, typography and card rhythm.
 * Core owns presentation. SEO Expansion may add semantic content only and must not
 * redefine shell width, top spacing, typography or card grids.
 */

:root{
  --cc-brand-lime:#B8D92C;
  --cc-brand-lime-soft:#F4F9D8;
  --cc-brand-ink:#111111;
  --cc-brand-muted:#66645F;
  --cc-brand-line:#DEDCD6;
  --cc-brand-paper:#FFFFFF;
  --cc-brand-canvas:#FAF9F6;
  --cc-brand-radius:16px;
  --cc-brand-shadow:0 10px 34px rgba(17,17,17,.045);
  --cc-shell-home:1376px;
  --cc-shell-page:1376px;
  --cc-page-top:32px;
  --cc-page-gutter:20px;
  --cc-font:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --cc-fw-regular:400;
  --cc-fw-medium:500;
  --cc-fw-semibold:650;
  --cc-fw-bold:750;
  --cc-fw-heavy:800;
}

/* --------------------------------------------------------------------------
   1. TYPOGRAPHY MASTER
   -------------------------------------------------------------------------- */
html,body,
body:not(.wp-admin),
body:not(.wp-admin) :where(button,input,select,textarea),
body:not(.wp-admin) :where(.elementor,.elementor-widget-container,.elementor-heading-title,.elementor-button),
body:not(.wp-admin) :where(.cc-site-header,.cc-site-footer,.cc-product-card,.cc-category-card,.cc-contact-page,.cc-about-me,.cc-knowledge-view,.cc-knowledge-hub,.cc-3d-page,.cc-configurator,.ccseo-context){
  font-family:var(--cc-font)!important;
}

body:not(.wp-admin){color:var(--cc-brand-ink);background:var(--cc-brand-canvas)}

/* Navigation is compact but no longer visually weak. */
.cc-site-header .cc-primary-nav>ul.menu>li>a,
.cc-site-header .cc-header-actions a,
.cc-site-header .cc-header-actions button{
  font-weight:600!important;
}

/* One hierarchy for all standard page headings. */
body:not(.home) :where(
  .cc-category-intro h1,
  .cc-contact-page__head h1,
  .cc-studio-trust__intro h1,
  .cc-studio-trust__intro h2,
  .cc-knowledge-view .entry-title,
  .cc-knowledge-hub__utility h1,
  .cc-knowledge-hub__utility h2,
  .cc-en-article-heading h1,
  .ccseo-landing-head h1
){
  margin-top:0!important;
  color:var(--cc-brand-ink)!important;
  font-size:clamp(34px,2.75vw,46px)!important;
  font-weight:700!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  text-wrap:balance;
}

/* 3D keeps its sales composition but uses the same typographic weight. */
.cc-3d-page :where(.cc-3d-hero__copy h1,.cc-3d-hero h1){
  font-weight:700!important;
  letter-spacing:-.045em!important;
}

body:not(.home) :where(
  .cc-section-heading h2,
  .cc-category-group-heading h2,
  .cc-guide-cta h2,
  .ccseo-context h2,
  .cc-service-seo h2,
  .cc-knowledge-article__content h2
){
  color:var(--cc-brand-ink)!important;
  font-weight:700!important;
  letter-spacing:-.03em!important;
}

body:not(.home) :where(
  .cc-category-intro>span,
  .cc-contact-page__head>span,
  .cc-studio-trust__intro>span,
  .cc-knowledge-kicker,
  .cc-knowledge-hub__utility>div>span,
  .ccseo-context>span,
  .cc-section-heading>span
){
  color:#657500!important;
  font-size:10.5px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

body:not(.home) :where(
  .cc-category-intro p,
  .cc-contact-page__head p,
  .cc-studio-trust__intro>p,
  .cc-knowledge-view .entry-header p,
  .ccseo-context p
){
  color:var(--cc-brand-muted)!important;
  font-size:15px!important;
  line-height:1.62!important;
}

/* Product names, prices and CTAs regain the stronger hierarchy requested. */
body:not(.home) :where(.cc-product-card h2,.cc-product-card h3,.cc-template-card h2,.cc-template-card h3){
  color:var(--cc-brand-ink)!important;
  font-weight:700!important;
}
body:not(.home) :where(
  .cc-product-card__footer>strong,
  .cc-product-card__footer .woocommerce-Price-amount,
  .cc-configurator__summary-price,
  .cc-3d-offer-card__price strong,
  .cc-template-card-meta b
){
  color:var(--cc-brand-ink)!important;
  font-weight:800!important;
}
body:not(.home) :where(.cc-card-action,.cc-button,.cc-demo-card-actions a,.cc-template-similar,.cc-contact-form__submit,.cc-newsletter button){
  font-weight:700!important;
}

/* Homepage: keep the hero expressive, but strengthen the hierarchy. */
body.home .cc-service-hero__display-title,
.cc-en-home--mirror .cc-service-hero__display-title{
  font-weight:700!important;
}
body.home .cc-service-hero__seo-title,
body.home .cc-service-hero__eyebrow,
.cc-en-home--mirror .cc-service-hero__seo-title,
.cc-en-home--mirror .cc-service-hero__eyebrow{
  max-width:640px!important;
  margin:0 0 15px!important;
  color:#4F4D48!important;
  font-size:11.5px!important;
  font-weight:700!important;
  line-height:1.4!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* --------------------------------------------------------------------------
   2. ONE SUBPAGE SHELL
   DODATKOWE geometry becomes the physical master for all managed pages.
   -------------------------------------------------------------------------- */
body:not(.home){
  --cc-subpage-shell:var(--cc-shell-page);
  --cc-subpage-top:var(--cc-page-top);
}

/* Elementor-owned roots: outer container is full width, inner line is 1320. */
body:not(.home) .elementor .e-con.e-parent:is(
  [data-id="cccat001"],
  [data-id="cc3d4331"],
  .cc-3d-shell,
  [data-id="ccguide01"],
  [data-id="cccontact1"],
  [data-id="ccabout01"]
){
  --content-width:var(--cc-shell-page)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:var(--cc-page-top)!important;
  padding-right:0!important;
  padding-left:0!important;
  padding-bottom:18px!important;
  box-sizing:border-box!important;
}

body:not(.home) .elementor .e-con.e-parent:is(
  [data-id="cccat001"],
  [data-id="cc3d4331"],
  .cc-3d-shell,
  [data-id="ccguide01"],
  [data-id="cccontact1"],
  [data-id="ccabout01"]
)>.e-con-inner{
  width:min(calc(100% - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
}

/* Supporting Elementor sections use the same horizontal axis without top offset. */
body:not(.home) .elementor .e-con.e-parent[data-id="ccguideadd1"]{
  --content-width:var(--cc-shell-page)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-inline:0!important;
}
body:not(.home) .elementor .e-con.e-parent[data-id="ccguideadd1"]>.e-con-inner{
  width:min(calc(100% - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}

/* Components inside a managed Elementor root may no longer create their own shell. */
body:not(.home) .elementor :where(
  .cc-category-intro,
  .cc-product-grid-section,
  .cc-contact-page,
  .cc-about-me,
  .cc-studio-trust,
  .cc-knowledge-hub,
  .cc-guide-cta
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Standalone blocks outside the managed Elementor root use the identical axis. */
body:not(.home) :where(
  .cc-newsletter,
  .cc-newsletter--footer,
  .cc-service-seo,
  .cc-seo-cluster,
  .ccseo-main,
  .ccseo-context,
  .cc-visible-breadcrumbs,
  .cc-configurator-page-head,
  .cc-configurator,
  .cc-special-detail,
  .cc-knowledge-article,
  .cc-knowledge-view .entry-header,
  .cc-knowledge-view .page-header,
  .cc-knowledge-article-view .entry-header,
  .cc-knowledge-article-view .page-header
){
  width:min(calc(100% - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body:not(.home) .ccseo-main{
  margin-top:var(--cc-page-top)!important;
  margin-bottom:56px!important;
}

/* 4.2.41: 3D is no longer a second page shell. The outer Elementor root is
   already part of the shared root selector above. The custom renderer owns only
   the internal 3D composition and therefore has no independent page-top offset. */
body:not(.home) :where(.cc-3d-page--v437,.cc-3d-page--v435,.cc-3d-page){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-top:0!important;
  box-sizing:border-box!important;
}

/* EN routes inherit the same geometry. */
body:not(.home) :where(
  .cc-en-category>.cc-visible-breadcrumbs,
  .cc-en-category>.cc-category-intro,
  .cc-en-page>.cc-visible-breadcrumbs,
  .cc-en-page>.cc-contact-page,
  .cc-en-category>.cc-en-section>header,
  .cc-en-category>.cc-en-section>.cc-guide-cta
){
  width:min(calc(100% - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body:not(.home) .cc-en-category>.cc-category-intro,
body:not(.home) .cc-en-page>.cc-contact-page{padding-top:var(--cc-page-top)!important}

/* --------------------------------------------------------------------------
   3. FRAME RHYTHM
   -------------------------------------------------------------------------- */
body:not(.home) .cc-category-intro{max-width:900px!important;margin-bottom:34px!important}
body:not(.home) .cc-contact-page__head{max-width:900px!important;margin-bottom:30px!important}
body:not(.home) .cc-about-me .cc-studio-trust__intro{max-width:920px!important}
body:not(.home) .cc-knowledge-hub__utility>div:first-child{max-width:820px!important}

body:not(.home) :where(.cc-studio-trust,.cc-contact-card,.cc-knowledge-hub__utility,.cc-guide-cta,.ccseo-context,.cc-service-seo){
  border-color:var(--cc-brand-line)!important;
  border-radius:var(--cc-brand-radius)!important;
  box-shadow:var(--cc-brand-shadow)!important;
}

/* Newsletter is a full-width frame in the same page shell, not a narrower island. */
body:not(.home) .cc-newsletter,
body:not(.home) .cc-newsletter--footer{
  margin-top:38px!important;
  margin-bottom:34px!important;
  padding:26px 30px!important;
  border-radius:18px!important;
}

/* About and Contact frame heights/spacing are consistent with category rhythm. */
body:not(.home) .cc-about-me{padding:0!important}
body:not(.home) .cc-contact-page{padding-bottom:0!important}
body:not(.home) .cc-contact-layout{gap:20px!important}

/* --------------------------------------------------------------------------
   4. BALANCED PRODUCT GRIDS
   -------------------------------------------------------------------------- */
body:not(.home) .cc-product-grid{
  width:100%!important;
  align-items:stretch!important;
  gap:16px!important;
}
body:not(.home) .cc-product-card{height:100%!important}

@media(min-width:1280px){
  body:not(.home) .cc-product-grid--1{grid-template-columns:minmax(280px,1fr)!important}
  body:not(.home) .cc-product-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--7,
  body:not(.home) .cc-product-grid--8{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--9{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--10{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--11,
  body:not(.home) .cc-product-grid--12{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--13,
  body:not(.home) .cc-product-grid--14,
  body:not(.home) .cc-product-grid--15{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--16{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body:not(.home) .cc-product-grid--17,
  body:not(.home) .cc-product-grid--18,
  body:not(.home) .cc-product-grid--19,
  body:not(.home) .cc-product-grid--20{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}

/* 3D feature grids are intentionally editorial, not forced into category math. */
body:not(.home) .cc-3d-page :where(.cc-3d-feature-section,.cc-3d-secondary-grid,.cc-3d-support-section) .cc-product-grid{
  gap:18px!important;
}

/* About has exactly three specialist cards on desktop. */
@media(min-width:960px){
  body:not(.home) .cc-about-me .cc-studio-trust__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Knowledge card grid stays editorial and balanced 3-up on desktop. */
@media(min-width:960px){
  body:not(.home) .cc-knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* --------------------------------------------------------------------------
   5. CARD VISUAL PROFILE
   -------------------------------------------------------------------------- */
body:not(.home) .cc-product-card{
  border:1px solid var(--cc-brand-line)!important;
  border-radius:15px!important;
  box-shadow:0 8px 28px rgba(17,17,17,.035)!important;
}
body:not(.home) .cc-product-card :is(h2,h3){
  font-size:18px!important;
  line-height:1.18!important;
  min-height:44px;
}
body:not(.home) .cc-product-card li{
  color:#5E5C57!important;
  font-size:12.5px!important;
  line-height:1.48!important;
}
body:not(.home) .cc-product-card__footer>strong{
  font-size:18px!important;
  line-height:1.1!important;
}
body:not(.home) .cc-card-action{
  min-height:43px!important;
  color:#111!important;
  background:#fff!important;
  border-color:#DAD8D2!important;
  border-radius:9px!important;
}
body:not(.home) .cc-card-action:hover,
body:not(.home) .cc-card-action:focus-visible{
  color:#111!important;
  background:var(--cc-brand-lime)!important;
  border-color:var(--cc-brand-lime)!important;
}

/* --------------------------------------------------------------------------
   6. SEO CONTENT BELONGS TO THE SAME VISUAL SYSTEM
   -------------------------------------------------------------------------- */
body:not(.home) .ccseo-context,
body:not(.home) .cc-service-seo{
  padding:28px 30px!important;
  background:#fff!important;
}
body:not(.home) .ccseo-context h2,
body:not(.home) .cc-service-seo h2{
  font-size:clamp(26px,2.2vw,34px)!important;
  line-height:1.08!important;
}
body:not(.home) .ccseo-context p,
body:not(.home) .cc-service-seo p{
  max-width:1020px!important;
  font-size:14.5px!important;
  line-height:1.65!important;
}
body:not(.home) .ccseo-links a{
  font-weight:650!important;
  border-radius:999px!important;
}

/* --------------------------------------------------------------------------
   7. RESPONSIVE
   -------------------------------------------------------------------------- */
@media(max-width:1279px){
  body:not(.home) .cc-product-grid--5,
  body:not(.home) .cc-product-grid--10,
  body:not(.home) .cc-product-grid--13,
  body:not(.home) .cc-product-grid--14,
  body:not(.home) .cc-product-grid--15,
  body:not(.home) .cc-product-grid--17,
  body:not(.home) .cc-product-grid--18,
  body:not(.home) .cc-product-grid--19,
  body:not(.home) .cc-product-grid--20{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:900px){
  :root{--cc-page-gutter:14px;--cc-page-top:28px}
  body:not(.home) .elementor .e-con.e-parent:is([data-id="cccat001"],[data-id="cc3d4331"],[data-id="ccguide01"],[data-id="cccontact1"],[data-id="ccabout01"])>.e-con-inner,
  body:not(.home) .elementor .e-con.e-parent[data-id="ccguideadd1"]>.e-con-inner,
  body:not(.home) :where(.cc-newsletter,.cc-newsletter--footer,.cc-service-seo,.cc-seo-cluster,.ccseo-main,.ccseo-context,.cc-visible-breadcrumbs,.cc-configurator-page-head,.cc-configurator,.cc-special-detail,.cc-knowledge-article,.cc-knowledge-view .entry-header,.cc-knowledge-view .page-header,.cc-knowledge-article-view .entry-header,.cc-knowledge-article-view .page-header){
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
  body:not(.home) .cc-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.home) .cc-contact-layout{grid-template-columns:1fr!important}
}

@media(max-width:560px){
  :root{--cc-page-gutter:12px;--cc-page-top:24px}
  body:not(.home) .elementor .e-con.e-parent:is([data-id="cccat001"],[data-id="cc3d4331"],[data-id="ccguide01"],[data-id="cccontact1"],[data-id="ccabout01"])>.e-con-inner,
  body:not(.home) .elementor .e-con.e-parent[data-id="ccguideadd1"]>.e-con-inner,
  body:not(.home) :where(.cc-newsletter,.cc-newsletter--footer,.cc-service-seo,.cc-seo-cluster,.ccseo-main,.ccseo-context,.cc-visible-breadcrumbs,.cc-configurator-page-head,.cc-configurator,.cc-special-detail,.cc-knowledge-article,.cc-knowledge-view .entry-header,.cc-knowledge-view .page-header,.cc-knowledge-article-view .entry-header,.cc-knowledge-article-view .page-header){
    width:calc(100% - 24px)!important;
  }
  body:not(.home) .cc-product-grid{grid-template-columns:1fr!important}
  body:not(.home) :where(.cc-category-intro h1,.cc-contact-page__head h1,.cc-studio-trust__intro h1,.cc-studio-trust__intro h2,.cc-knowledge-view .entry-title,.cc-knowledge-hub__utility h1,.cc-knowledge-hub__utility h2){
    font-size:clamp(30px,9vw,38px)!important;
  }
  body:not(.home) .cc-newsletter,
  body:not(.home) .cc-newsletter--footer,
  body:not(.home) .cc-about-me,
  body:not(.home) .ccseo-context,
  body:not(.home) .cc-service-seo{padding:20px!important}
}

/* ==========================================================================
   4.2.37 - TYPOGRAPHY RECOVERY + SECTION OWNERSHIP
   Fixes the actual regression: 4.2.36 changed the fallback font chain and
   critical hierarchy selectors used :where(), so older !important rules could
   win on specificity. These rules deliberately use explicit selectors.
   ========================================================================== */

/* Restore the pre-4.2.36 fallback chain and allow synthesized weights when a
   browser does not have every numeric face. */
body:not(.wp-admin),
body:not(.wp-admin) button,
body:not(.wp-admin) input,
body:not(.wp-admin) select,
body:not(.wp-admin) textarea,
body:not(.wp-admin) .elementor,
body:not(.wp-admin) .cc-site-header,
body:not(.wp-admin) .cc-site-footer,
body:not(.wp-admin) .cc-product-card,
body:not(.wp-admin) .cc-category-card,
body:not(.wp-admin) .cc-contact-page,
body:not(.wp-admin) .cc-about-me,
body:not(.wp-admin) .cc-knowledge-view,
body:not(.wp-admin) .cc-knowledge-hub,
body:not(.wp-admin) .cc-3d-page,
body:not(.wp-admin) .cc-configurator,
body:not(.wp-admin) .ccseo-context{
  font-family:var(--cc-font)!important;
  font-synthesis:weight style!important;
}

/* HEADER MASTER - explicit selectors, no :where(). */
.cc-site-header .cc-primary-nav>ul.menu>li>a:not(.cct-tools-pill):not(.cct-kids-pill){
  font-weight:700!important;
}
.cc-site-header .cc-header-actions a,
.cc-site-header .cc-header-actions button,
.cc-site-header .cc-language-switcher a{
  font-weight:700!important;
}
.cc-site-header .cct-tools-label{font-weight:800!important}

/* CATEGORY MASTER - applies independently to WWW, Reklama, Marka, Video,
   Dodatkowe and their EN mirrors. */
body:not(.home) .cc-category-intro h1,
body:not(.home) .cc-contact-page__head h1,
body:not(.home) .cc-knowledge-view .entry-title,
body:not(.home) .cc-en-article-heading h1,
body:not(.home) .ccseo-landing-head h1{
  font-weight:750!important;
  letter-spacing:-.045em!important;
}
body:not(.home) .cc-category-intro>span,
body:not(.home) .cc-contact-page__head>span,
body:not(.home) .cc-knowledge-kicker,
body:not(.home) .ccseo-context>span{
  font-weight:800!important;
}
body:not(.home) .cc-product-card h2,
body:not(.home) .cc-product-card h3{
  font-weight:750!important;
}
body:not(.home) .cc-product-card__footer>strong,
body:not(.home) .cc-product-card__footer>strong .woocommerce-Price-amount,
body:not(.home) .cc-product-card__footer .cc-price-stack,
body:not(.home) .cc-product-card__footer .cc-price-stack b{
  font-weight:800!important;
}
body:not(.home) .cc-product-card .cc-card-action{
  font-weight:700!important;
}

/* HOME MASTER - the homepage cards had also become visually too light. */
body.home .cc-category-card h2,
body.home .cc-category-card h3{
  font-weight:750!important;
}
body.home .cc-category-card__content>strong,
body.home .cc-category-card__content>strong .woocommerce-Price-amount,
body.home .cc-category-card__content .cc-price-stack,
body.home .cc-category-card__content .cc-price-stack b{
  font-weight:800!important;
}
body.home .cc-category-card .cc-card-action{font-weight:700!important}
body.home .cc-service-hero__display-title{font-weight:700!important}

/* TEMPLATE MASTER - templates are editorial cards, not service-grid cards. */
body:not(.home) .cc-template-card h2,
body:not(.home) .cc-template-card h3,
body:not(.home) .cc-product-card--demo h2,
body:not(.home) .cc-product-card--demo h3{
  font-weight:750!important;
}
body:not(.home) .cc-template-card-meta b,
body:not(.home) .cc-product-card--demo .cc-product-card__footer>strong{
  font-weight:800!important;
}
body:not(.home) .cc-demo-card-actions a,
body:not(.home) .cc-template-similar{font-weight:700!important}

/* KNOWLEDGE MASTER - preserve the editorial black feature and strengthen only
   hierarchy, not every paragraph. */
body:not(.home) .cc-knowledge-hub__utility h2{
  font-weight:750!important;
  letter-spacing:-.04em!important;
}
body:not(.home) .cc-knowledge-feature h3,
body:not(.home) .cc-knowledge-card h3{
  font-weight:750!important;
}
body:not(.home) .cc-knowledge-read{font-weight:700!important}

/* ABOUT MASTER - rebuilt in 4.2.37. No giant card around the whole biography. */
body:not(.home) .cc-about-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body:not(.home) .cc-about-me__head{
  max-width:920px;
  margin:0 0 32px;
}
body:not(.home) .cc-about-me__head>span{
  display:block;
  margin-bottom:10px;
  color:#657500!important;
  font-size:10.5px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body:not(.home) .cc-about-me__head h1{
  margin:0 0 14px!important;
  color:var(--cc-brand-ink)!important;
  font-size:clamp(34px,2.75vw,46px)!important;
  font-weight:750!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
body:not(.home) .cc-about-me__head p{
  margin:0;
  max-width:860px;
  color:var(--cc-brand-muted)!important;
  font-size:15px!important;
  line-height:1.66!important;
}
body:not(.home) .cc-about-me__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0;
}
body:not(.home) .cc-about-me__card{
  min-height:174px;
  padding:24px;
  background:#fff;
  border:1px solid var(--cc-brand-line);
  border-radius:var(--cc-brand-radius);
  box-shadow:var(--cc-brand-shadow);
}
body:not(.home) .cc-about-me__card h2{
  margin:0 0 10px;
  color:var(--cc-brand-ink);
  font-size:18px;
  font-weight:750!important;
  line-height:1.2;
}
body:not(.home) .cc-about-me__card p{
  margin:0;
  color:var(--cc-brand-muted);
  font-size:14px;
  line-height:1.62;
}
body:not(.home) .cc-about-me__proof{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:16px;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--cc-brand-line);
  border-radius:14px;
}
body:not(.home) .cc-about-me__proof>p{
  margin:0;
  max-width:760px;
  color:#5f5d58;
  font-size:13px;
  line-height:1.55;
}
body:not(.home) .cc-about-me__links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
body:not(.home) .cc-about-me__links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  color:#111!important;
  background:#fff!important;
  border:1px solid #d9d7d0!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
body:not(.home) .cc-about-me__links a:hover,
body:not(.home) .cc-about-me__links a:focus-visible{
  background:var(--cc-brand-lime)!important;
  border-color:var(--cc-brand-lime)!important;
}

/* CONTACT MASTER - keep the good 4.2.36 geometry, restore hierarchy only. */
body:not(.home) .cc-contact-page__head h1{font-weight:750!important}
body:not(.home) .cc-contact-form label,
body:not(.home) .cc-contact-card strong{font-weight:700!important}
body:not(.home) .cc-contact-form__submit{font-weight:750!important}

/* 3D / FOTO MASTER - its composition is intentionally different from category
   grids. 4.2.37 restores the previous visual hierarchy without rewriting HTML. */
body:not(.home) .cc-3d-page--v437{
  font-family:var(--cc-font)!important;
}
body:not(.home) .cc-3d-page--v437 .cc-3d-hero__copy h1{
  font-weight:750!important;
  line-height:1.035!important;
  letter-spacing:-.05em!important;
}
body:not(.home) .cc-3d-page--v437 .cc-3d-benefits b,
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card h3,
body:not(.home) .cc-3d-page--v437 .cc-3d-section-heading h2{
  font-weight:750!important;
}
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card__price strong,
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card__price .woocommerce-Price-amount{
  font-weight:800!important;
}
body:not(.home) .cc-3d-page--v437 .cc-card-action{font-weight:700!important}
body:not(.home) .cc-3d-page--v437 .cc-3d-breadcrumb{
  margin-bottom:18px!important;
  font-weight:550!important;
}

/* SEO/support copy can carry semantic depth without making every offer card a
   paragraph wall. Headings and internal-link CTAs still read as part of Core. */
body:not(.home) .ccseo-context h2,
body:not(.home) .cc-service-seo h2,
body:not(.home) .cc-guide-cta h2{
  font-weight:750!important;
}
body:not(.home) .ccseo-links a,
body:not(.home) .cc-guide-cta a{font-weight:700!important}

@media(max-width:959px){
  body:not(.home) .cc-about-me__grid{grid-template-columns:1fr!important}
  body:not(.home) .cc-about-me__card{min-height:0}
  body:not(.home) .cc-about-me__proof{align-items:flex-start;flex-direction:column}
  body:not(.home) .cc-about-me__links{justify-content:flex-start}
}
@media(max-width:560px){
  body:not(.home) .cc-about-me__head h1{font-size:clamp(30px,9vw,38px)!important}
  body:not(.home) .cc-about-me__card{padding:19px}
  body:not(.home) .cc-about-me__proof{padding:16px}
  body:not(.home) .cc-about-me__links{width:100%}
  body:not(.home) .cc-about-me__links a{flex:1 1 145px;justify-content:center}
}



/* --------------------------------------------------------------------------
   4.2.38 - final hierarchy + 3D top cleanup
   User-approved scope only: remove the redundant 3D breadcrumb, pull the 3D
   hero into the normal category top position, make the 3D eyebrow use the
   category green, and strengthen standard category H1/card titles.
   -------------------------------------------------------------------------- */
body:not(.home) .cc-category-intro h1,
body:not(.home) .cc-contact-page__head h1,
body:not(.home) .cc-knowledge-view .entry-title,
body:not(.home) .cc-en-article-heading h1,
body:not(.home) .ccseo-landing-head h1{
  font-weight:800!important;
}

body:not(.home) .cc-product-card h2,
body:not(.home) .cc-product-card h3,
body:not(.home) .cc-template-card h2,
body:not(.home) .cc-template-card h3,
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card h3{
  font-weight:800!important;
}

body:not(.home) .cc-3d-page--v437 .cc-3d-kicker{
  color:#657500!important;
  font-weight:800!important;
}

/* Breadcrumb is removed from the renderer. The outer cc-3d-shell now owns
   the exact same page-top rhythm as standard category roots. */
body:not(.home) .cc-3d-page--v437 .cc-3d-hero{margin-top:0!important;}

/* --------------------------------------------------------------------------
   4.2.39 - 3D / FOTO internal hero alignment
   Keep the left copy top-aligned against the product card. Page-top ownership
   itself is handled only by the shared 4.2.41 Elementor shell above.
   -------------------------------------------------------------------------- */
body:not(.home) .cc-3d-page--v437 .cc-3d-hero{
  align-items:start!important;
  margin-top:0!important;
}
body:not(.home) .cc-3d-page--v437 .cc-3d-hero__copy{
  align-self:start!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body:not(.home) .cc-3d-page--v437 .cc-3d-kicker{
  margin-top:0!important;
  color:#657500!important;
}

/* --------------------------------------------------------------------------
   4.2.40 - FINAL TYPOGRAPHY LOCK
   One source of truth for the two hierarchy points requested by the user.
   This block is intentionally last so old homepage/category rules cannot
   reduce the visual weight again. Geometry and spacing are untouched.
   -------------------------------------------------------------------------- */
body.home #cc-hero-title.cc-service-hero__display-title,
body.home .cc-service-hero__display-title,
.cc-en-home--mirror .cc-service-hero__display-title{
  font-weight:850!important;
  font-variation-settings:"wght" 850;
  font-synthesis:weight;
}

.cc-product-grid .cc-product-card h2,
.cc-product-grid .cc-product-card h3,
body:not(.home) .cc-product-card h2,
body:not(.home) .cc-product-card h3,
body:not(.home) .cc-template-card h2,
body:not(.home) .cc-template-card h3,
body.home .cc-category-card h2,
body.home .cc-category-card h3{
  font-weight:850!important;
  font-variation-settings:"wght" 850;
  font-synthesis:weight;
}

/* --------------------------------------------------------------------------
   4.2.42 - TYPOGRAPHY REBALANCE / MEDIUM WEIGHT MASTER
   Reverses the 4.2.40 heavy 850 lock and restores a calmer, more premium
   hierarchy across PL/EN home, managed categories, service cards and 3D.
   Geometry, spacing, prices, routing, SEO and content remain untouched.
   -------------------------------------------------------------------------- */
:root{
  --cc-type-ink:#181818;
  --cc-type-muted:#5f5d58;
  --cc-type-accent:#657500;
}

/* Primary display hierarchy. Standard 600 avoids the black-block effect of
   850 and renders predictably even when Inter/Manrope falls back to system UI. */
body.home #cc-hero-title.cc-service-hero__display-title,
body.home .cc-service-hero__display-title,
.cc-en-home--mirror .cc-service-hero__display-title{
  color:var(--cc-type-ink)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}

body:not(.home) .cc-category-intro h1,
body:not(.home) .cc-contact-page__head h1,
body:not(.home) .cc-knowledge-view .entry-title,
body:not(.home) .cc-en-article-heading h1,
body:not(.home) .ccseo-landing-head h1,
body:not(.home) .cc-about-me__head h1,
body:not(.home) .cc-3d-page--v437 .cc-3d-hero__copy h1{
  color:var(--cc-type-ink)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
  line-height:1.06!important;
  letter-spacing:-.032em!important;
}

/* Core-owned heading surfaces share the same visual voice. This catches
   secondary service/EN/configurator headings that do not use the category H1
   selectors above. */
body:not(.wp-admin) :is(.cc-service-hero,.cc-category-intro,.cc-product-grid,.cc-category-grid,.cc-product-summary-card,.cc-configurator,.cc-wide-category-grid,.cc-3d-page,.cc-knowledge-view,.cc-knowledge-hub,.cc-about-me,.cc-contact-page,.ccseo-context,.cc-service-seo,.cc-en-hero,.cc-en-section,.cc-en-process) :is(h1,h2,h3){
  color:var(--cc-type-ink)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
}

/* Section headings use the same medium hierarchy instead of mixed 750/800. */
body:not(.wp-admin) .cc-section-heading h2,
body:not(.wp-admin) .cc-3d-section-heading h2,
body:not(.home) .cc-knowledge-hub__utility h2,
body:not(.home) .ccseo-context h2,
body:not(.home) .cc-service-seo h2,
body:not(.home) .cc-guide-cta h2{
  color:var(--cc-type-ink)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
  line-height:1.10!important;
  letter-spacing:-.028em!important;
}

/* All visible service/category/template card titles share one calmer weight. */
.cc-product-grid .cc-product-card h2,
.cc-product-grid .cc-product-card h3,
body:not(.home) .cc-product-card h2,
body:not(.home) .cc-product-card h3,
body:not(.home) .cc-template-card h2,
body:not(.home) .cc-template-card h3,
body.home .cc-category-card h2,
body.home .cc-category-card h3,
.cc-en-home--mirror .cc-category-card h2,
.cc-en-home--mirror .cc-category-card h3,
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card h3,
body:not(.home) .cc-about-me__card h2,
body:not(.home) .cc-knowledge-feature h3,
body:not(.home) .cc-knowledge-card h3{
  color:var(--cc-type-ink)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
  letter-spacing:-.018em!important;
}

/* Price remains the strongest commercial signal, but no longer uses 800/850. */
body:not(.home) .cc-product-card__footer>strong,
body:not(.home) .cc-product-card__footer>strong .woocommerce-Price-amount,
body:not(.home) .cc-product-card__footer .cc-price-stack,
body:not(.home) .cc-product-card__footer .cc-price-stack b,
body.home .cc-category-card__content>strong,
body.home .cc-category-card__content>strong .woocommerce-Price-amount,
body.home .cc-category-card__content .cc-price-stack,
body.home .cc-category-card__content .cc-price-stack b,
.cc-en-home--mirror .cc-category-card__content>strong,
.cc-en-home--mirror .cc-category-card__content>strong .woocommerce-Price-amount,
body:not(.home) .cc-template-card-meta b,
body:not(.home) .cc-product-card--demo .cc-product-card__footer>strong,
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card__price strong,
body:not(.home) .cc-3d-page--v437 .cc-3d-offer-card__price .woocommerce-Price-amount{
  color:#111!important;
  font-weight:700!important;
  font-variation-settings:"wght" 700!important;
  font-synthesis:weight style!important;
}

/* Navigation, CTAs and labels remain clear without shouting. */
.cc-site-header .cc-primary-nav>ul.menu>li>a:not(.cct-tools-pill):not(.cct-kids-pill),
.cc-site-header .cc-header-actions a,
.cc-site-header .cc-header-actions button,
.cc-site-header .cc-language-switcher a,
.cc-site-header .cct-tools-label,
body:not(.home) .cc-product-card .cc-card-action,
body.home .cc-category-card .cc-card-action,
.cc-en-home--mirror .cc-category-card .cc-card-action,
body:not(.home) .cc-demo-card-actions a,
body:not(.home) .cc-template-similar,
body:not(.home) .cc-knowledge-read,
body:not(.home) .cc-about-me__links a,
body:not(.home) .cc-contact-form__submit,
body:not(.home) .cc-3d-page--v437 .cc-card-action,
body:not(.home) .ccseo-links a,
body:not(.home) .cc-guide-cta a{
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
}

/* Micro labels keep one step of emphasis and use the accessible deep-lime
   text token on light backgrounds rather than bright lime body copy. */
body:not(.home) .cc-category-intro>span,
body:not(.home) .cc-contact-page__head>span,
body:not(.home) .cc-knowledge-kicker,
body:not(.home) .ccseo-context>span,
body:not(.home) .cc-about-me__head>span,
body:not(.home) .cc-3d-page--v437 .cc-3d-kicker,
body.home .cc-service-hero__eyebrow,
.cc-en-home--mirror .cc-service-hero__eyebrow{
  color:var(--cc-type-accent)!important;
  font-weight:700!important;
  font-variation-settings:"wght" 700!important;
  font-synthesis:weight style!important;
}

/* Supporting copy uses a softer neutral for hierarchy and reading comfort. */
body:not(.home) .cc-category-intro p,
body:not(.home) .cc-section-heading p,
body:not(.home) .cc-product-card li,
body:not(.home) .cc-product-card p,
body.home .cc-category-card p,
.cc-en-home--mirror .cc-category-card p,
body.home .cc-service-hero__lead,
.cc-en-home--mirror .cc-service-hero__lead{
  color:var(--cc-type-muted)!important;
}

@media(max-width:767px){
  body.home #cc-hero-title.cc-service-hero__display-title,
  body.home .cc-service-hero__display-title,
  .cc-en-home--mirror .cc-service-hero__display-title{
    line-height:1.06!important;
    letter-spacing:-.028em!important;
  }
  body:not(.home) .cc-category-intro h1,
  body:not(.home) .cc-contact-page__head h1,
  body:not(.home) .cc-3d-page--v437 .cc-3d-hero__copy h1{
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }
}


/* --------------------------------------------------------------------------
   4.2.43 - PL/EN VISUAL PARITY
   English Core routes must inherit the same typography hierarchy as the Polish
   source of truth. This is an explicit regression guard, not a second design.
   -------------------------------------------------------------------------- */
:is(body.cc-lang-pl,body.cc-lang-en) :is(
  .cc-service-hero__display-title,
  .cc-category-intro h1,
  .cc-contact-page__head h1,
  .cc-knowledge-view .entry-title,
  .cc-en-article-heading h1,
  .cc-about-me__head h1,
  .cc-3d-page--v437 .cc-3d-hero__copy h1
){
  color:var(--cc-type-ink,#181818)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
}
:is(body.cc-lang-pl,body.cc-lang-en) :is(
  .cc-category-card h2,.cc-category-card h3,
  .cc-product-card h2,.cc-product-card h3,
  .cc-template-card h2,.cc-template-card h3,
  .cc-knowledge-card h3,.cc-knowledge-feature h3
){
  color:var(--cc-type-ink,#181818)!important;
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
}
:is(body.cc-lang-pl,body.cc-lang-en) :is(
  .cc-card-action,.cc-button,.cc-knowledge-read,.cc-guide-cta a,
  .cc-site-header .cc-primary-nav>ul.menu>li>a,
  .cc-site-header .cc-header-actions a,.cc-site-header .cc-header-actions button
){
  font-weight:600!important;
  font-variation-settings:"wght" 600!important;
  font-synthesis:weight style!important;
}

/* --------------------------------------------------------------------------
   4.2.45 - EN CATEGORY = POLISH SOURCE GEOMETRY
   English category routes no longer own a parallel page shell. The paired
   Polish Elementor page supplies the shell width, intro padding, grid padding
   and product-group order. Visible category breadcrumbs are removed in PHP.
   -------------------------------------------------------------------------- */
body.cc-lang-en:not(.home) .cc-en-category--pl-source{
  width:100%!important;
  max-width:none!important;
  margin:0 0 72px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__intro,
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid{
  width:min(calc(100% - (2 * var(--cc-page-gutter))),var(--cc-en-pl-shell,var(--cc-shell-page)))!important;
  max-width:var(--cc-en-pl-shell,var(--cc-shell-page))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__intro{
  padding:
    var(--cc-en-intro-top,var(--cc-page-top))
    var(--cc-en-intro-right,0px)
    var(--cc-en-intro-bottom,18px)
    var(--cc-en-intro-left,0px)!important;
}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__intro>.cc-category-intro{
  width:100%!important;
  max-width:900px!important;
  margin-top:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid{
  padding:
    var(--cc-en-grid-top,24px)
    var(--cc-en-grid-right,20px)
    var(--cc-en-grid-bottom,44px)
    var(--cc-en-grid-left,20px)!important;
}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid>.cc-product-grid-section,
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid>.cc-guide-cta,
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid>.cc-section-heading{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid>.cc-category-group-heading{
  width:100%!important;
  max-width:900px!important;
  margin:0 0 18px!important;
}
/* Kill legacy EN-only spacing so it cannot re-introduce vertical or horizontal drift. */
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-section{margin-top:0!important}
body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid.cc-en-section{padding-top:var(--cc-en-grid-top,24px)!important}

@media(max-width:900px){
  body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__intro,
  body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
}
@media(max-width:560px){
  body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__intro,
  body.cc-lang-en:not(.home) .cc-en-category--pl-source>.cc-en-category-parity__grid{
    width:calc(100% - 24px)!important;
  }
}


/* --------------------------------------------------------------------------
   4.2.46 - EN CONTACT = POLISH COMPONENT + POLISH SUBPAGE SHELL
   The old English contact page used a second hand-written form inside an already
   narrowed .cc-en-page wrapper. The child then applied another page gutter,
   making EN visibly narrower than PL and than the footer newsletter. EN now
   renders CC_Render::contact_panel(), exactly like the Polish Elementor widget,
   while this wrapper owns only the outer page canvas.
   -------------------------------------------------------------------------- */
body.cc-lang-en:not(.home) .cc-en-page.cc-en-contact--pl-source{
  width:100%!important;
  max-width:none!important;
  margin:0 0 72px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.cc-lang-en:not(.home) .cc-en-contact--pl-source>.cc-contact-page{
  width:min(calc(100% - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:var(--cc-page-top)!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
/* The contact card line and the global footer newsletter now resolve to the
   same 1376px subpage shell. No nested EN gutter is allowed. */
body.cc-lang-en:not(.home) .cc-en-contact--pl-source>.cc-contact-page,
body.cc-lang-en:not(.home) .cc-newsletter--footer{
  max-width:var(--cc-shell-page)!important;
}
@media(max-width:900px){
  body.cc-lang-en:not(.home) .cc-en-contact--pl-source>.cc-contact-page{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
}
@media(max-width:560px){
  body.cc-lang-en:not(.home) .cc-en-contact--pl-source>.cc-contact-page{
    width:calc(100% - 24px)!important;
  }
}


/* --------------------------------------------------------------------------
   4.2.49 - DEEP OFFER LAYOUT MASTER
   Source-of-truth fix for configurable/demo service routes.

   Root cause fixed here, not with per-page patches:
   - WooCommerce/Hello could keep #primary/content wrappers narrower than the
     Creative Commerce service shell while the viewport was still desktop-wide.
   - The configurator therefore remained in a three-column desktop grid inside
     a much narrower effective container and crushed the options column.
   - The long English navigation could also remain in desktop mode before there
     was enough horizontal room for all labels and header actions.

   This block owns geometry only. Product data, prices, schemas, enquiry logic,
   routes, CCTools and category data remain untouched.
   -------------------------------------------------------------------------- */

/* Service-route canvas must be full-width before the 1376px inner shell is
   applied. This neutralizes Hello/WooCommerce content+sidebar width inheritance
   without changing ordinary product archives, cart, account or checkout. */
body.cc-configurable-product #content.site-main,
body.cc-demo-product #content.site-main,
body.cc-configurable-product #primary.content-area,
body.cc-demo-product #primary.content-area,
body.cc-configurable-product #main.site-main,
body.cc-demo-product #main.site-main,
body.cc-configurable-product .site-main>.woocommerce,
body.cc-demo-product .site-main>.woocommerce,
body.cc-configurable-product .woocommerce,
body.cc-demo-product .woocommerce,
body.cc-configurable-product .woocommerce div.product,
body.cc-demo-product .woocommerce div.product{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.cc-configurable-product #primary.content-area,
body.cc-demo-product #primary.content-area,
body.cc-configurable-product #main.site-main,
body.cc-demo-product #main.site-main,
body.cc-configurable-product .site-main>.woocommerce,
body.cc-demo-product .site-main>.woocommerce{
  padding-left:0!important;
  padding-right:0!important;
}
body.cc-configurable-product .woocommerce div.product::before,
body.cc-configurable-product .woocommerce div.product::after,
body.cc-demo-product .woocommerce div.product::before,
body.cc-demo-product .woocommerce div.product::after{
  content:none!important;
  display:none!important;
}

/* One shell for breadcrumbs, backbar, title and configurator. */
body.cc-configurable-product .cc-single-configurator,
body.cc-demo-product .cc-single-configurator{
  container-type:inline-size;
  container-name:cc-offer;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0 0 72px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.cc-configurable-product :is(.cc-visible-breadcrumbs,.cc-configurator-backbar,.cc-configurator-page-head,.cc-configurator),
body.cc-demo-product :is(.cc-visible-breadcrumbs,.cc-configurator-backbar,.cc-configurator-page-head,.cc-configurator){
  width:min(calc(100% - 40px),1376px)!important;
  max-width:1376px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.cc-configurable-product .cc-configurator,
body.cc-demo-product .cc-configurator{
  overflow:visible!important;
}
body.cc-configurable-product .cc-configurator>*,
body.cc-demo-product .cc-configurator>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Desktop grid is decided by the REAL offer canvas, not only the viewport. */
@container cc-offer (min-width:1181px){
  body.cc-configurable-product .cc-configurator,
  body.cc-demo-product .cc-configurator{
    grid-template-columns:minmax(280px,.88fr) minmax(420px,1.32fr) minmax(280px,.80fr)!important;
  }
}
@container cc-offer (min-width:780px) and (max-width:1180px){
  body.cc-configurable-product .cc-configurator,
  body.cc-demo-product .cc-configurator{
    grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr)!important;
  }
  body.cc-configurable-product .cc-configurator__summary,
  body.cc-demo-product .cc-configurator__summary{
    grid-column:1/-1!important;
    position:static!important;
    top:auto!important;
    width:100%!important;
  }
}
@container cc-offer (max-width:779px){
  body.cc-configurable-product .cc-configurator,
  body.cc-demo-product .cc-configurator{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.cc-configurable-product .cc-configurator__summary,
  body.cc-demo-product .cc-configurator__summary{
    grid-column:auto!important;
    position:static!important;
    top:auto!important;
    width:100%!important;
  }
}
@media(max-width:560px){
  body.cc-configurable-product :is(.cc-visible-breadcrumbs,.cc-configurator-backbar,.cc-configurator-page-head,.cc-configurator),
  body.cc-demo-product :is(.cc-visible-breadcrumbs,.cc-configurator-backbar,.cc-configurator-page-head,.cc-configurator){
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
}

/* CTA + copy hardening. No button may force a column wider than its grid track. */
body.cc-configurable-product .cc-configurator-backbar,
body.cc-demo-product .cc-configurator-backbar{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px 16px!important;
}
body.cc-configurable-product .cc-configurator-backbar>*,
body.cc-demo-product .cc-configurator-backbar>*,
body.cc-configurable-product .cc-configurator__examples,
body.cc-demo-product .cc-configurator__examples,
body.cc-configurable-product .cc-configurator__summary :is(.cc-button,button,a.button),
body.cc-demo-product .cc-configurator__summary :is(.cc-button,button,a.button){
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  box-sizing:border-box!important;
}
body.cc-configurable-product .cc-configurator__summary :is(.cc-button,button,a.button),
body.cc-demo-product .cc-configurator__summary :is(.cc-button,button,a.button){
  width:100%!important;
}
body.cc-configurable-product :is(.cc-option-choice,.cc-option-choice span,.cc-option-choice b,.cc-option-choice small,.cc-option-group__description,.cc-configurator__summary,.cc-configurator__summary p,.cc-configurator__price,.cc-configurator__base),
body.cc-demo-product :is(.cc-option-choice,.cc-option-choice span,.cc-option-choice b,.cc-option-choice small,.cc-option-group__description,.cc-configurator__summary,.cc-configurator__summary p,.cc-configurator__price,.cc-configurator__base){
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* English has materially longer labels than PL. Keep the complete navigation,
   but switch to the existing hamburger interaction before labels collide.
   The full horizontal EN menu returns only when there is enough real room. */
@media(min-width:768px) and (max-width:1559px){
  body.cc-lang-en .cc-site-header{
    overflow:visible!important;
  }
  body.cc-lang-en .cc-site-header__inner{
    position:relative!important;
    width:min(calc(100% - 32px),1376px)!important;
    max-width:1376px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    gap:12px!important;
    overflow:visible!important;
  }
  body.cc-lang-en .cc-menu-toggle{
    display:inline-flex!important;
    flex:0 0 42px!important;
    order:2!important;
    margin-left:auto!important;
  }
  body.cc-lang-en .cc-header-actions{
    display:flex!important;
    flex:0 0 auto!important;
    order:3!important;
    margin-left:0!important;
  }
  body.cc-lang-en .cc-primary-nav{
    position:absolute!important;
    z-index:120!important;
    top:calc(100% + 1px)!important;
    left:0!important;
    right:0!important;
    display:none!important;
    width:100%!important;
    max-height:min(72vh,680px)!important;
    margin:0!important;
    padding:12px 16px 18px!important;
    overflow:auto!important;
    background:rgba(255,255,255,.995)!important;
    border:1px solid rgba(17,17,17,.10)!important;
    border-top:0!important;
    border-radius:0 0 14px 14px!important;
    box-shadow:0 20px 45px rgba(17,17,17,.10)!important;
    box-sizing:border-box!important;
  }
  body.cc-lang-en .cc-primary-nav.is-open{
    display:block!important;
  }
  body.cc-lang-en .cc-primary-nav>ul.menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 18px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body.cc-lang-en .cc-primary-nav>ul.menu>li{
    min-width:0!important;
    border-bottom:1px solid rgba(17,17,17,.07)!important;
  }
  body.cc-lang-en .cc-primary-nav>ul.menu>li>a{
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    padding:9px 4px!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
  body.cc-lang-en .cc-primary-nav .sub-menu{
    position:static!important;
    display:grid!important;
    width:auto!important;
    margin:0!important;
    padding:0 0 8px 12px!important;
    border:0!important;
    box-shadow:none!important;
  }
}
@media(min-width:768px) and (max-width:980px){
  body.cc-lang-en .cc-primary-nav>ul.menu{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* --------------------------------------------------------------------------
   4.2.54 - ABOUT / CONTACT = SHARED SUBPAGE SHELL
   EN About and Contact are shortcode-managed pages, so Hello Elementor does
   not add the `elementor-page-*` body class that releases its 1140px main
   canvas. Their Polish counterparts are Elementor pages and therefore already
   use the accepted 1376px subpage shell. These direct-child rules reproduce
   the exact PL geometry without changing either renderer or page content.
   -------------------------------------------------------------------------- */
body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page){
  position:relative!important;
  left:50%!important;
  width:min(calc(100vw - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin:0!important;
  padding-top:var(--cc-page-top)!important;
  padding-right:0!important;
  padding-bottom:18px!important;
  padding-left:0!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
}

/* The global newsletter is appended as a sibling of the shortcode output.
   On non-Elementor EN pages it would otherwise remain trapped inside Hello's
   narrower main column. Keep the same horizontal line and vertical rhythm as
   PL About / Contact and the other managed subpages. */
body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page) + .cc-newsletter--footer{
  position:relative!important;
  left:50%!important;
  width:min(calc(100vw - (2 * var(--cc-page-gutter))),var(--cc-shell-page))!important;
  max-width:var(--cc-shell-page)!important;
  margin-top:38px!important;
  margin-right:0!important;
  margin-bottom:34px!important;
  margin-left:0!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
}

/* Preserve the same responsive gutters used by the shared subpage system. */
@media(max-width:900px){
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page),
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page) + .cc-newsletter--footer{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
  }
}
@media(max-width:560px){
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page),
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page) + .cc-newsletter--footer{
    width:calc(100vw - 24px)!important;
  }
}

/* --------------------------------------------------------------------------
   4.2.55 - ABOUT / CONTACT WIDTH BECOMES THE COMMERCIAL SUBPAGE MASTER
   The accepted 1376px About / Contact geometry is now the common left/right
   reference for all managed commercial subpages until the footer newsletter.
   HOME, legal/transactional views and editorial reading columns stay intact.
   -------------------------------------------------------------------------- */
body.cc-commerce-site:not(.home){
  --cc-commercial-shell:var(--cc-shell-page,1376px);
}

/* Managed Elementor top-level sections: one physical axis, no hidden 20px
   outer padding that can make product grids look narrower than the newsletter. */
body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
  [data-id="cccat001"],
  [data-id="cccat11"],
  [data-id="cc3d4331"],
  [data-id="ccguide01"],
  [data-id="ccguideadd1"],
  [data-id="cccontact1"],
  [data-id="ccabout01"]
),
body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent{
  --content-width:var(--cc-commercial-shell)!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
  [data-id="cccat001"],
  [data-id="cccat11"],
  [data-id="cc3d4331"],
  [data-id="ccguide01"],
  [data-id="ccguideadd1"],
  [data-id="cccontact1"],
  [data-id="ccabout01"]
) > .e-con-inner,
body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent > .e-con-inner{
  width:min(calc(100% - (2 * var(--cc-page-gutter,20px))),var(--cc-commercial-shell))!important;
  max-width:var(--cc-commercial-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Standalone commercial blocks share the same line as About / Contact and the
   footer newsletter. Inner editorial text may still use its own readable max. */
body.cc-commerce-site:not(.home) :is(
  .cc-newsletter--footer,
  .cc-visible-breadcrumbs,
  .cc-configurator-backbar,
  .cc-configurator-page-head,
  .cc-configurator,
  .cc-service-seo,
  .cc-seo-cluster,
  .cc-local-seo-landing,
  .cc-selected-demo,
  .cc-en-page,
  .cc-en-knowledge-virtual__shell,
  .cc-knowledge-article,
  .cc-knowledge-view .entry-header,
  .cc-knowledge-view .page-header,
  .cc-knowledge-article-view .entry-header,
  .cc-knowledge-article-view .page-header
){
  width:min(calc(100% - (2 * var(--cc-page-gutter,20px))),var(--cc-commercial-shell))!important;
  max-width:var(--cc-commercial-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Knowledge hub shell can be generated outside #content on EN virtual routes. */
body.cc-commerce-site:not(.home) main.cc-en-knowledge-virtual,
body.cc-commerce-site:not(.home) .cc-knowledge-view .site-main{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* The 3D renderer and category/product components occupy the complete shared
   inner line. Their own cards/grids still control their internal composition. */
body.cc-commerce-site:not(.home) :is(
  .cc-product-grid-section,
  .cc-product-grid,
  .cc-3d-page,
  .cc-guide-cta,
  .cc-contact-page,
  .cc-about-me
){
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  body.cc-commerce-site:not(.home) :is(
    .cc-newsletter--footer,
    .cc-visible-breadcrumbs,
    .cc-configurator-backbar,
    .cc-configurator-page-head,
    .cc-configurator,
    .cc-service-seo,
    .cc-seo-cluster,
    .cc-local-seo-landing,
    .cc-selected-demo,
    .cc-en-page,
    .cc-en-knowledge-virtual__shell,
    .cc-knowledge-article,
    .cc-knowledge-view .entry-header,
    .cc-knowledge-view .page-header,
    .cc-knowledge-article-view .entry-header,
    .cc-knowledge-article-view .page-header
  ){
    width:calc(100vw - 28px)!important;
    max-width:none!important;
  }
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
    [data-id="cccat001"],
    [data-id="cccat11"],
    [data-id="cc3d4331"],
    [data-id="ccguide01"],
    [data-id="ccguideadd1"],
    [data-id="cccontact1"],
    [data-id="ccabout01"]
  ) > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent > .e-con-inner{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
  }
}

@media(max-width:560px){
  body.cc-commerce-site:not(.home) :is(
    .cc-newsletter--footer,
    .cc-visible-breadcrumbs,
    .cc-configurator-backbar,
    .cc-configurator-page-head,
    .cc-configurator,
    .cc-service-seo,
    .cc-seo-cluster,
    .cc-local-seo-landing,
    .cc-selected-demo,
    .cc-en-page,
    .cc-en-knowledge-virtual__shell,
    .cc-knowledge-article,
    .cc-knowledge-view .entry-header,
    .cc-knowledge-view .page-header,
    .cc-knowledge-article-view .entry-header,
    .cc-knowledge-article-view .page-header
  ){
    width:calc(100vw - 24px)!important;
  }
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
    [data-id="cccat001"],
    [data-id="cccat11"],
    [data-id="cc3d4331"],
    [data-id="ccguide01"],
    [data-id="ccguideadd1"],
    [data-id="cccontact1"],
    [data-id="ccabout01"]
  ) > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent > .e-con-inner{
    width:calc(100vw - 24px)!important;
  }
}



/* --------------------------------------------------------------------------
   4.2.56 - ONE PHYSICAL SITE AXIS
   Header, HOME, managed commercial pages, Knowledge, configurators,
   newsletter and smart footer use one 1376px viewport-based line.
   This intentionally removes the historical 1320/1376 split and avoids
   computing page width from a possibly constrained Hello/Elementor parent.
   -------------------------------------------------------------------------- */
:root{
  --cc-shell-site:1376px;
  --cc-shell-home:var(--cc-shell-site);
  --cc-shell-page:var(--cc-shell-site);
  --cc-subpage-shell:var(--cc-shell-site);
  --cc-commercial-shell:var(--cc-shell-site);
}

/* The outer content canvas is never the width owner on managed public pages. */
body.cc-commerce-site:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #content.site-main,
body.cc-commerce-site:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #primary.content-area,
body.cc-commerce-site:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #main.site-main,
body.cc-knowledge-view main.site-main,
body.cc-knowledge-view main.cc-en-knowledge-virtual{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* One viewport-derived inner line. Using 100vw here is deliberate: percentage
   widths inherit accidental Hello/Elementor constraints and caused the drift. */
body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
  [data-id="cccat001"],
  [data-id="cccat11"],
  [data-id="cc3d4331"],
  [data-id="ccguide01"],
  [data-id="ccguideadd1"],
  [data-id="cccontact1"],
  [data-id="ccabout01"]
) > .e-con-inner,
body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent > .e-con-inner{
  width:min(calc(100vw - 40px),var(--cc-shell-site))!important;
  max-width:var(--cc-shell-site)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Standalone Core blocks break out of any historical theme column and meet the
   exact same left/right axis. */
body.cc-commerce-site:not(.home) :is(
  .cc-newsletter--footer,
  .cc-visible-breadcrumbs,
  .cc-configurator-backbar,
  .cc-configurator-page-head,
  .cc-configurator,
  .cc-service-seo,
  .cc-seo-cluster,
  .cc-local-seo-landing,
  .cc-selected-demo,
  .cc-en-page,
  .cc-en-knowledge-virtual__shell,
  .cc-knowledge-article,
  .cc-knowledge-view .entry-header,
  .cc-knowledge-view .page-header,
  .cc-knowledge-article-view .entry-header,
  .cc-knowledge-article-view .page-header
),
body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page),
body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page) + .cc-newsletter--footer{
  position:relative!important;
  left:50%!important;
  width:min(calc(100vw - 40px),var(--cc-shell-site))!important;
  max-width:var(--cc-shell-site)!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
}

/* Knowledge already contains its newsletter. It must fill the Knowledge shell,
   not subtract a second gutter from it. */
body.cc-knowledge-view :is(.cc-newsletter--knowledge-hub,.cc-newsletter--article){
  position:static!important;
  left:auto!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}

/* HOME uses the same 1376px line. The project banner keeps its isolated
   v4.2.29 viewport-centered breakout so later shell geometry cannot alter
   the accepted banner composition. */
body.home .elementor > .e-con.e-parent > .e-con-inner,
body.cc-en-home-pl-clone .cc-en-home--pl-clone > .elementor-element > .e-con-inner{
  width:min(calc(100vw - 40px),var(--cc-shell-site))!important;
  max-width:var(--cc-shell-site)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.home .cc-newsletter--footer,
body.cc-en-home-pl-clone .cc-newsletter--footer,
.cc-site-header .cc-site-header__inner,
.cc-smart-footer__inner{
  width:min(calc(100vw - 40px),var(--cc-shell-site))!important;
  max-width:var(--cc-shell-site)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
    [data-id="cccat001"],[data-id="cccat11"],[data-id="cc3d4331"],
    [data-id="ccguide01"],[data-id="ccguideadd1"],[data-id="cccontact1"],[data-id="ccabout01"]
  ) > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent > .e-con-inner,
  body.cc-commerce-site:not(.home) :is(
    .cc-newsletter--footer,.cc-visible-breadcrumbs,.cc-configurator-backbar,
    .cc-configurator-page-head,.cc-configurator,.cc-service-seo,.cc-seo-cluster,
    .cc-local-seo-landing,.cc-selected-demo,.cc-en-page,.cc-en-knowledge-virtual__shell,
    .cc-knowledge-article,.cc-knowledge-view .entry-header,.cc-knowledge-view .page-header,
    .cc-knowledge-article-view .entry-header,.cc-knowledge-article-view .page-header
  ),
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page),
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page) + .cc-newsletter--footer,
  body.home .elementor > .e-con.e-parent > .e-con-inner,
  body.cc-en-home-pl-clone .cc-en-home--pl-clone > .elementor-element > .e-con-inner,
  body.home .cc-newsletter--footer,
  body.cc-en-home-pl-clone .cc-newsletter--footer,
  .cc-site-header .cc-site-header__inner,
  .cc-smart-footer__inner{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
  }
}
@media(max-width:560px){
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent:is(
    [data-id="cccat001"],[data-id="cccat11"],[data-id="cc3d4331"],
    [data-id="ccguide01"],[data-id="ccguideadd1"],[data-id="cccontact1"],[data-id="ccabout01"]
  ) > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone > .elementor > .e-con.e-parent > .e-con-inner,
  body.cc-commerce-site:not(.home) :is(
    .cc-newsletter--footer,.cc-visible-breadcrumbs,.cc-configurator-backbar,
    .cc-configurator-page-head,.cc-configurator,.cc-service-seo,.cc-seo-cluster,
    .cc-local-seo-landing,.cc-selected-demo,.cc-en-page,.cc-en-knowledge-virtual__shell,
    .cc-knowledge-article,.cc-knowledge-view .entry-header,.cc-knowledge-view .page-header,
    .cc-knowledge-article-view .entry-header,.cc-knowledge-article-view .page-header
  ),
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page),
  body:not(.home) #content.site-main > :is(.cc-about-me.cc-about-page,.cc-contact-page) + .cc-newsletter--footer,
  body.home .elementor > .e-con.e-parent > .e-con-inner,
  body.cc-en-home-pl-clone .cc-en-home--pl-clone > .elementor-element > .e-con-inner,
  body.home .cc-newsletter--footer,
  body.cc-en-home-pl-clone .cc-newsletter--footer,
  .cc-site-header .cc-site-header__inner,
  .cc-smart-footer__inner{
    width:calc(100vw - 24px)!important;
  }
}

/* ================================================================
   4.2.57 - EN HOME NEWSLETTER CENTERING GUARD
   4.2.56 established the correct 1376px physical width, but a legacy EN-home
   breakout in frontend.css still left `left:50%` + translateX(-50%) active.
   The width was correct while the whole block was shifted right. This final
   guard owns position as well as width and keeps the newsletter on the same
   site axis as the project banner, header and smart footer.
   ================================================================ */
body.cc-en-home-pl-clone .cc-newsletter--footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:min(calc(100vw - 40px),var(--cc-shell-site))!important;
  max-width:var(--cc-shell-site)!important;
  margin:38px auto 30px!important;
  transform:none!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  body.cc-en-home-pl-clone .cc-newsletter--footer{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
    margin:30px auto 26px!important;
  }
}
@media(max-width:560px){
  body.cc-en-home-pl-clone .cc-newsletter--footer{width:calc(100vw - 24px)!important;}
}



/* ========================================================================
   4.2.67 - CATEGORY GEOMETRY MASTER RESTORE
   Restore the verified 4.2.45/4.2.55 category-shell contract for standard
   catalogue pages. Header/HOME/newsletter/footer keep the later 1376px axis.
   Only category intro + product-grid Elementor shells return to 1320px.
   This prevents Video, Brand and Additional Services from stretching edge-to-edge.
   ======================================================================== */
body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent[data-id="cccat001"] > .e-con-inner,
body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent[data-id="cccat11"] > .e-con-inner,
body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone .elementor > .e-con.e-parent[data-id="cccat001"] > .e-con-inner,
body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone .elementor > .e-con.e-parent[data-id="cccat11"] > .e-con-inner{
  width:min(calc(100vw - 40px),1320px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent[data-id="cccat001"] > .e-con-inner,
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent[data-id="cccat11"] > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone .elementor > .e-con.e-parent[data-id="cccat001"] > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone .elementor > .e-con.e-parent[data-id="cccat11"] > .e-con-inner{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
  }
}
@media(max-width:560px){
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent[data-id="cccat001"] > .e-con-inner,
  body.cc-commerce-site:not(.home) .elementor > .e-con.e-parent[data-id="cccat11"] > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone .elementor > .e-con.e-parent[data-id="cccat001"] > .e-con-inner,
  body.cc-commerce-site.cc-lang-en:not(.home) .cc-en-runtime-clone .elementor > .e-con.e-parent[data-id="cccat11"] > .e-con-inner{
    width:calc(100vw - 24px)!important;
  }
}
