/* Care & Beauty, kruhová paleta. Všetky štýly platia len vo vnútri .cbp */
.cbp{--plum-night:#1E1218;
  --rose:#C48C7A; --rose-hi:#EBC1A8;
  --ivory:#F7EFE6; --ink:#19161A;
  --metal:linear-gradient(115deg,var(--rose) 0%,var(--rose-hi) 45%,var(--rose) 70%,#9E6A5C 100%);
  --f-display:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;
  --f-body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(1.25rem,4vw,3.5rem);
  --vh:100vh;
  --text:var(--ivory);
  --pan:clamp(110px,13.5vw,205px);}
@supports (height:100svh){.cbp{--vh:100svh;}
 }
.cbp *,.cbp *::before,.cbp *::after{box-sizing:border-box; margin:0; padding:0;}
.cbp{background:var(--plum-night); color:var(--ivory); font:400 1rem/1.6 var(--f-body); -webkit-font-smoothing:antialiased; overflow-x:clip;}
.cbp a{color:inherit;}
.cbp :focus-visible{outline:2px solid var(--rose-hi); outline-offset:4px; border-radius:4px;}
.cbp .nav{position:fixed; inset:0 0 auto 0; z-index:50;
  display:flex; justify-content:space-between; align-items:center;
  padding:calc(1.1rem + env(safe-area-inset-top,0px)) var(--gutter) 1.1rem;
  color:var(--text); transition:color .6s;}
.cbp .nav{transition:color .6s, background-color .4s;}
.cbp .nav--solid{background-color:rgba(25,22,26,.98); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.cbp .nav__mark{font:italic 400 1.35rem/1 var(--f-display); text-decoration:none;}
.cbp .nav__links{display:flex; gap:1.5rem; align-items:center;}
.cbp .nav__link--quiet{border-bottom-color:transparent!important;}
.cbp .nav__link{font-size:.875rem; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px;}
.cbp .scene{position:relative;}
.cbp .stage{position:sticky; top:0; height:var(--vh); overflow:hidden;
  display:grid; grid-template-columns:.9fr 1.1fr; align-items:center;
  padding:0 var(--gutter); isolation:isolate;}
.cbp .wash,.cbp .flood,.cbp .light,.cbp .grain{position:absolute; inset:0; pointer-events:none;}
.cbp .wash{z-index:-3; background:var(--plum-night);}
.cbp .flood{z-index:-2; width:100%; height:100%;}
.cbp .grain{z-index:-1; opacity:.35; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.cbp .light{z-index:-1;
  background:
    radial-gradient(ellipse 45% 55% at 72% 46%,rgba(255,248,240,.22),transparent 70%),
    radial-gradient(ellipse 120% 90% at 60% 50%,transparent 55%,rgba(0,0,0,.32) 100%);}
.cbp .copy-wrap{position:relative; grid-column:1; height:60%; color:var(--text); transition:color .6s;}
.cbp .copy{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center;
  max-width:32rem; opacity:0; transform:translateY(30px); pointer-events:none;
  transition:opacity .6s ease, transform .8s cubic-bezier(.22,.61,.36,1);}
.cbp .copy.is-active{opacity:1; transform:none; pointer-events:auto;}
.cbp .copy__shade{font:italic 400 clamp(3.25rem,1.8rem + 6vw,7rem)/.9 var(--f-display); letter-spacing:-.03em;}
.cbp .copy__title{font:400 clamp(1.4rem,1rem + 1.6vw,2.2rem)/1.15 var(--f-display); margin:1.25rem 0 .75rem; text-wrap:balance;}
.cbp .copy__text{font-size:1.125rem; max-width:28rem; opacity:.85;}
.cbp .copy--intro .copy__title{font-size:clamp(2.4rem,1.4rem + 4vw,5rem); line-height:1; margin:0 0 1.25rem;}
.cbp .hint{margin-top:2rem; font-size:.875rem; opacity:.7; display:flex; align-items:center; gap:.6rem;}
.cbp .hint::before{content:""; width:1px; height:2.2rem; background:currentColor; animation:drip 1.8s ease-in-out infinite; transform-origin:top;}
@keyframes drip{ 0%{transform:scaleY(0)} 60%{transform:scaleY(1)} 100%{transform:scaleY(1);opacity:0} }
.cbp .palette{grid-column:2; justify-self:center; position:relative;
  display:grid; grid-template-columns:repeat(3,var(--pan)); gap:calc(var(--pan) * .06);
  filter:blur(calc((1 - var(--focus,0)) * 10px));
  opacity:calc(.5 + var(--focus,0) * .5);
  transform:scale(calc(1.1 - var(--focus,0) * .1));}
.cbp .pan{position:relative; width:var(--pan); height:var(--pan);
  border:0; padding:0; background:none; border-radius:50%; cursor:pointer;
  translate:calc(var(--dx,0) * var(--pan)) calc(var(--dy,0) * var(--pan) + (1 - var(--focus,0)) * var(--k,1) * 18px);
  scale:var(--sc,1);
  
  opacity:var(--o,1);
  transform:scale(var(--s2,1));
  filter:drop-shadow(0 3px 4px rgba(0,0,0,calc(.28 * var(--o,1)))) blur(calc(var(--b,0) * 1px)) saturate(calc(1 - var(--h,0) * .35));}
.cbp .pan canvas{position:absolute; left:-30%; top:-30%; width:160%; height:160%; pointer-events:none;}
.cbp .pan__glint{position:absolute; inset:-30%; border-radius:50%; pointer-events:none;
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
  background:radial-gradient(circle at var(--gx,30%) var(--gy,30%),rgba(255,255,255,.5),transparent 58%);
  mix-blend-mode:soft-light; opacity:var(--glint,.55);}
.cbp .palette--photo{display:block; width:min(44vw,640px);}
.cbp .palette--photo > img{display:block; width:100%; height:auto;}
.cbp .palette--photo .pan{position:absolute; translate:none; scale:none; filter:none;
  background-repeat:no-repeat;}
.cbp .contact{background:var(--ink); padding:20vh var(--gutter) 14vh; text-align:center;}
.cbp .contact h2{font:400 clamp(2.2rem,1.2rem + 3.5vw,4.25rem)/1.05 var(--f-display); margin:0 auto 1rem;}
.cbp .contact__lead{color:#E9C2BE; font-size:1.125rem; margin:0 auto 2.25rem; max-width:32rem;}
.cbp .contact__grid{margin:12vh auto 0; max-width:64rem; text-align:left;
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
  border-top:1px solid rgba(196,140,122,.35); padding-top:2.5rem;}
.cbp .contact h3{font:italic 400 1.25rem/1.2 var(--f-display); color:var(--rose-hi); margin-bottom:.5rem;}
.cbp .contact__grid a{text-decoration:none; border-bottom:1px solid rgba(247,239,230,.25); line-height:1.9;}
.cbp .contact__grid a:hover{border-bottom-color:var(--rose-hi);}
.cbp .foot{background:var(--ink); color:rgba(247,239,230,.5); font-size:.8125rem; text-align:center; padding:2rem var(--gutter) calc(2rem + env(safe-area-inset-bottom,0px));}
@media (max-width:760px){.cbp .contact__grid{grid-template-columns:1fr 1fr;}
.cbp .nav__links{gap:1rem;} .cbp .nav__link{font-size:.8rem;} .cbp .nav__mark{font-size:1.15rem;}
 }
.cbp .btn{display:inline-block; padding:1rem 2.1rem; border-radius:999px;
  background:var(--metal); background-size:200% 100%; color:var(--ink);
  font-weight:500; text-decoration:none; transition:background-position .8s, box-shadow .4s;}
.cbp .btn:hover{background-position:100% 0; box-shadow:0 10px 40px -10px rgba(235,193,168,.6);}
@media (max-width:760px){.cbp{--pan:min(25vw,128px);}
.cbp .stage{grid-template-columns:1fr; grid-template-rows:auto 1fr; align-items:start; padding-top:calc(6rem + env(safe-area-inset-top,0px));}
.cbp .palette{grid-column:1; grid-row:1;}
.cbp .palette--photo{width:86vw;}
.cbp .light{background:
    radial-gradient(ellipse 80% 40% at 50% 25%,rgba(255,248,240,.22),transparent 70%),
    radial-gradient(ellipse 120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.32) 100%);}
.cbp .copy-wrap{grid-column:1; grid-row:2; height:100%;}
.cbp .copy{justify-content:flex-start; padding-top:2rem;}
.cbp .copy__text{font-size:1rem;}

}
@media (prefers-reduced-motion:reduce){.cbp .copy,.cbp .pan{transition:none!important;}
.cbp .hint::before{animation:none;}

}
.cbp .wheel{position:absolute; inset:0; width:100%; height:100%;}
.cbp .wheel--back,.cbp .wheel--mix{display:none;}
.cbp .wheel--front{z-index:-3; cursor:pointer;}
.cbp .wash{z-index:-4!important;}
@media (max-width:760px){.cbp .stage{grid-template-rows:1fr auto!important; padding-top:0!important;}
.cbp .copy-wrap{grid-row:2!important; height:min(52vh,26rem)!important;}
.cbp .copy{justify-content:flex-start; padding-top:0;}

}

/* =========================================================
   ÚPRAVY PRE DIVI
   Divi pridáva okolo modulu sekciu, riadok a stĺpec s okrajmi
   a obmedzenou šírkou. Tu ich pre paletu zrušíme.
   ========================================================= */
.cbp{ position:relative; width:100%; text-align:left; }
.cbp h1,.cbp h2,.cbp h3,.cbp p,.cbp a,.cbp span{ color:inherit; letter-spacing:normal; text-transform:none; }
.cbp h1,.cbp h2,.cbp h3{ font-weight:400; }
.et_pb_section:has(.cbp),.et_pb_row:has(.cbp),.et_pb_column:has(.cbp),.et_pb_module:has(.cbp),.et_pb_code_inner:has(.cbp){
  padding:0!important; margin:0!important; max-width:none!important; width:100%!important; background:none!important;
}
.et_pb_section:has(.cbp){ background-color:#1E1218!important; }
.et_pb_column:has(.cbp){ float:none!important; }
.admin-bar .cbp .nav{ top:32px; }
@media (max-width:782px){ .admin-bar .cbp .nav{ top:46px; } }

/* =========================================================
   FOTKY A ODKAZY SLUŽIEB (Nastavenia › Služby)
   ========================================================= */
.cbp .copy__more{ margin-top:1.75rem; }
.cbp .copy__link{ display:inline-flex; align-items:center; min-height:48px; padding:0 1.5rem; border-radius:999px;
  border:1px solid currentColor; font-size:.95rem; font-weight:500; text-decoration:none; transition:background-color .3s, color .3s; }
.cbp .copy__link:hover,.cbp .copy__link:focus-visible{ background:var(--text); border-color:var(--text); color:var(--wash,var(--plum-night))!important; }
.cbp .shots{ position:relative; grid-column:2; align-self:stretch; pointer-events:none; }
.cbp .shot{ position:absolute; left:52%; top:50%; width:min(42vw,640px,calc(var(--vh,100vh) * .66)); margin:0;
  translate:-50% -46%; scale:.96; opacity:0;
  transition:opacity .8s ease, translate 1s cubic-bezier(.22,.61,.36,1), scale 1s cubic-bezier(.22,.61,.36,1); }
.cbp .shot.is-active{ opacity:1; translate:-50% -50%; scale:1; pointer-events:auto; }
/* obrázok bez rámčeka a bez pozadia: púder a predmety ležia priamo na farbe služby */
.cbp .shot img{ display:block; width:100%; height:auto; border-radius:0; box-shadow:none; background:none; }
@media (max-width:760px){
  .cbp .shots{ grid-column:1; grid-row:1; }
  .cbp .shot{ left:50%; width:min(78vw,340px,calc(var(--vh,100vh) * .36)); top:58%; }
  .cbp .copy__more{ margin-top:1.1rem; }
}
@media (prefers-reduced-motion:reduce){ .cbp .shot{ transition:opacity .2s; } }
