/* CAVALE — strona główna / osobny szablon; bez zmian koszyka i checkoutu */
.cavale-home{width:100vw!important;max-width:none!important;margin:0!important;min-width:0;--cv-ink:#151515;--cv-muted:#777;--cv-surface:#f4f2ef;color:var(--cv-ink);font-family:inherit}
.cavale-home *{box-sizing:border-box}
.cavale-home h1,.cavale-home h2,.cavale-home h3,.cavale-home p{margin:0}
.cavale-home a{text-decoration:none}
.cavale-home .cv-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.cavale-home .cv-muted{color:#797979}
.cavale-home .cv-hero{min-height:clamp(550px,78svh,900px);position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#777369,#242422);color:white}
.cavale-home .cv-hero-picture,.cavale-home .cv-hero-picture img,.cavale-home .cv-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.cavale-home .cv-hero-picture img{object-fit:cover;object-position:center 44%}
.cavale-home .cv-hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.48),rgba(0,0,0,0) 65%)}
.cavale-home .cv-hero-content{position:relative;z-index:1;width:min(1400px,100%);margin:0 auto;padding:80px clamp(24px,5vw,88px) 74px}
.cavale-home .cv-hero h1{font-size:clamp(36px,5.2vw,82px);font-weight:400;line-height:1.05;letter-spacing:-.045em;max-width:770px;margin:16px 0 18px}
.cavale-home .cv-hero-content>p:not(.cv-eyebrow){font-size:15px;opacity:.91;letter-spacing:.03em;margin:0 0 32px}
.cavale-home .cv-button{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:14px 20px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;transition:background .2s,color .2s}
.cavale-home .cv-button-light{background:#fff;color:#111}
.cavale-home .cv-button-light:hover{background:#e7e5e1;color:#111}
.cavale-home .cv-section{width:100%;max-width:none;margin:0 auto;padding:96px clamp(22px,4vw,76px) 0}
.cavale-home .cv-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:35px}
.cavale-home .cv-section h2{font-weight:400;letter-spacing:-.035em;font-size:clamp(29px,3vw,45px);margin-top:12px;line-height:1.15}
.cavale-home .cv-text-link{font-size:12px;color:#171717;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}
.cavale-home .cv-text-link span{margin-left:10px}
.cavale-home .cv-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 20px}
.cavale-home .cv-product-card{min-width:0}
.cavale-home .cv-product-photo{display:block;aspect-ratio:3/4;background:#f0f0f0;overflow:hidden}
.cavale-home .cv-product-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cavale-home .cv-product-photo:hover img{transform:scale(1.025)}
.cavale-home .cv-product-name{display:block;margin-top:16px;font-size:13px;font-weight:500;color:#161616;line-height:1.5}
.cavale-home .cv-product-price{margin-top:6px;font-size:13px;color:#555}
.cavale-home .cv-product-price del{opacity:.55;margin-right:8px}
.cavale-home .cv-categories{padding-top:130px;padding-bottom:100px}
.cavale-home .cv-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cavale-home .cv-category-card{color:#151515;min-width:0}
.cavale-home .cv-category-image{aspect-ratio:4/4.6;background:linear-gradient(135deg,#bdb8b0,#eeeae5);overflow:hidden}
.cavale-home .cv-category-image img{height:100%;width:100%;object-fit:cover;transition:transform .45s ease}
.cavale-home .cv-category-card:hover .cv-category-image img{transform:scale(1.02)}
.cavale-home .cv-category-caption{padding-top:20px;display:flex;justify-content:space-between;align-items:start;gap:16px}
.cavale-home .cv-category-caption h3{font-size:22px;font-weight:400;letter-spacing:-.015em}
.cavale-home .cv-category-caption p{font-size:13px;color:#777;margin-top:7px}
.cavale-home .cv-category-caption>span{font-size:24px}
.cavale-home .cv-brand{background:#f3f1ee;text-align:center;padding:125px 24px}
.cavale-home .cv-brand-inner{max-width:820px;margin:auto}
.cavale-home .cv-brand h2{font-size:clamp(32px,4.4vw,61px);line-height:1.15;font-weight:400;letter-spacing:-.045em;margin:26px 0}
.cavale-home .cv-brand p{font-size:15px;color:#67635f;line-height:1.85;max-width:630px;margin:auto}
.cavale-home .cv-service{width:100%;max-width:none;margin:auto;padding:55px clamp(22px,4vw,76px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.cavale-home .cv-service>div{display:flex;flex-direction:column;gap:8px}
.cavale-home .cv-service-title{font-size:12px;font-weight:600;letter-spacing:.04em}
.cavale-home .cv-service>div>span:last-child{font-size:12px;color:#777}
@media(max-width:767px){.cavale-home .cv-hero{min-height:72svh}.cavale-home .cv-hero-content{padding:55px 24px 42px}.cavale-home .cv-hero h1{font-size:39px}.cavale-home .cv-section{padding:70px 18px 0}.cavale-home .cv-section-heading{margin-bottom:24px}.cavale-home .cv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.cavale-home .cv-product-name{font-size:12px}.cavale-home .cv-categories{padding-top:85px;padding-bottom:65px}.cavale-home .cv-category-grid{gap:12px}.cavale-home .cv-category-caption h3{font-size:19px}.cavale-home .cv-category-caption p{font-size:11px;line-height:1.5}.cavale-home .cv-brand{padding:86px 22px}.cavale-home .cv-service{grid-template-columns:1fr;padding:34px 22px;gap:22px;border-top:1px solid #eee}}
@media(prefers-reduced-motion:reduce){.cavale-home *{transition:none!important}}

/* V2 — pełna szerokość zawartości szablonu, bez bocznego pustego pasa.
   Zakres ograniczony do strony z szablonem CAVALE. */
body.page-template-page-cavale-home {overflow-x:clip}
body.page-template-page-cavale-home .main-page-wrapper {max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}
body.page-template-page-cavale-home .main-page-wrapper > .container,
body.page-template-page-cavale-home .main-page-wrapper > .container-fluid {width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
body.page-template-page-cavale-home .content-layout-wrapper {margin-left:0!important;margin-right:0!important}
body.page-template-page-cavale-home .content-layout-wrapper > .site-content {width:100%!important;max-width:100%!important;flex:0 0 100%!important;padding-left:0!important;padding-right:0!important}
body.page-template-page-cavale-home .content-layout-wrapper > .area-sidebar-shop,
body.page-template-page-cavale-home .content-layout-wrapper > .sidebar-container {display:none!important}
/* Jeśli motyw osadza stronę w kontenerze, blok ma szerokość viewportu. */
body.page-template-page-cavale-home .cavale-home {display:block;position:relative;width:100vw!important;max-width:100vw!important}
/* Hero to duże zdjęcie, ale nie pełna wysokość ekranu. */
body.page-template-page-cavale-home .cavale-home .cv-hero{min-height:clamp(460px,66svh,760px)}
body.page-template-page-cavale-home .cavale-home .cv-hero-content{width:100%;max-width:none;padding-left:clamp(22px,4vw,76px);padding-right:clamp(22px,4vw,76px)}
@media (min-width:768px) and (max-width:1100px) {
 .cavale-home .cv-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px) {
 body.page-template-page-cavale-home .cavale-home .cv-hero{min-height:62svh}
 .cavale-home .cv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* === CAVALE HOME V3: finalne korekty UI === */
/* Brak białego odstępu nad HERO; tylko strona z tym szablonem. */
body.page-template-page-cavale-home .main-page-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page-template-page-cavale-home .main-page-wrapper > .container,
body.page-template-page-cavale-home .main-page-wrapper > .container-fluid,
body.page-template-page-cavale-home .site-content,
body.page-template-page-cavale-home .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.page-template-page-cavale-home #cavale-home {
  margin-top: 0 !important;
}
/* Jednakowe marginesy dla treści na całym ekranie. */
.cavale-home .cv-section { padding-left:clamp(22px,4vw,76px); padding-right:clamp(22px,4vw,76px); }
/* 6 produktów: dwa rzędy po trzy zdjęcia. */
.cavale-home .cv-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
/* Nagłówki bez numeracji: delikatny odstęp. */
.cavale-home .cv-section-heading h2 { margin-top:0; }
/* Link tekstowy i kafle bez ozdobnych strzałek. */
.cavale-home .cv-text-link { display:inline-flex; align-items:center; text-decoration:none; }
.cavale-home .cv-category-caption { justify-content:flex-start; }
/* Czytelny nagłówek na ciemnym / fotograficznym HERO. */
.cavale-home .cv-hero h1,
.cavale-home .cv-hero-content p,
.cavale-home .cv-hero .cv-eyebrow { color:#fff !important; }
.cavale-home .cv-hero-shade {
  background:linear-gradient(90deg,rgba(0,0,0,.49) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.06) 100%);
}
/* Trzy równe kolumny korzyści, wyśrodkowane poziomo. */
.cavale-home .cv-service {
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  text-align:center;
  justify-items:center;
}
.cavale-home .cv-service > div {
  width:100%;
  display:flex;
  align-items:center;
  text-align:center;
  justify-content:flex-start;
}
@media (max-width:767px) {
  .cavale-home .cv-section { padding-left:18px; padding-right:18px; }
  .cavale-home .cv-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cavale-home .cv-service {
    grid-template-columns:1fr;
    gap:24px;
    justify-items:center;
  }
  .cavale-home .cv-service > div { max-width:320px; }
  .cavale-home .cv-hero-shade {
    background:linear-gradient(0deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.2) 75%);
  }
}
