/* Care & Beauty, galéria. Vzhľad zladený s úvodnou stránkou (púdrová paleta). Všetky štýly platia len vo vnútri .cbg */
.cbg{
  --night:#1E1218; --ivory:#F7EFE6; --blush:#E9C2BE; --rose:#C48C7A; --rose-hi:#EBC1A8; --ink-dark:#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;
  position:relative; width:100%; text-align:left;
  background:var(--night); color:var(--ivory);
  font:400 1rem/1.6 var(--f-body); -webkit-font-smoothing:antialiased; overflow-x:clip;
}
@supports (height:100svh){ .cbg{ --vh:100svh; } }
.cbg *,.cbg *::before,.cbg *::after{ box-sizing:border-box; margin:0; padding:0; }
.cbg h1,.cbg h2,.cbg h3,.cbg p,.cbg a,.cbg span,.cbg li{ color:inherit; letter-spacing:normal; text-transform:none; line-height:inherit; font-weight:400; }
.cbg a{ text-decoration:none; }
.cbg :focus-visible{ outline:2px solid var(--rose-hi); outline-offset:4px; border-radius:4px; }
.cbg img{ max-width:100%; }

/* Hlavička: rovnaká ako na úvodnej stránke, farbu preberá od časti pod ňou */
.cbg-nav{ position:fixed; inset:0 0 auto 0; z-index:60; 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(--nav-ink,var(--ivory)); background:var(--nav-bg,transparent);
  transition:color .5s, background-color .5s; }
.cbg-nav.is-solid{ -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.cbg-mark{ font:italic 400 1.35rem/1 var(--f-display)!important; white-space:nowrap; }
.cbg-links{ display:flex; gap:1.5rem; align-items:center; }
.cbg-links a{ white-space:nowrap; font-size:.875rem; border-bottom:1px solid transparent; padding-bottom:2px; }
.cbg-links a[aria-current],.cbg-links a:last-child{ border-bottom-color:currentColor; }
.cbg-links a:hover{ border-bottom-color:currentColor; }

/* Svetlo a zrno ako na úvodnej stránke */
.cbg-light,.cbg-grain{ position:absolute; inset:0; pointer-events:none; }
.cbg-grain{ z-index:0; 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"); }
.cbg-light{ z-index:0;
  background:
    radial-gradient(ellipse 45% 55% at 74% 50%,rgba(255,248,240,.16),transparent 70%),
    radial-gradient(ellipse 120% 90% at 60% 50%,transparent 55%,rgba(0,0,0,.32) 100%); }

/* Úvod */
.cbg-hero{ position:relative; min-height:var(--vh); display:grid; grid-template-columns:.9fr 1.1fr; align-items:center;
  padding:0 var(--gutter); isolation:isolate; overflow:hidden;
  --R:min(56vh,38vw); --cx:calc(100% + var(--R)*.12); --pw:calc(var(--R)*.92); }
.cbg-hero-copy{ position:relative; z-index:2; max-width:32rem; }
.cbg-h1{ font:400 clamp(3.25rem,1.8rem + 6vw,7rem)/.9 var(--f-display)!important; font-style:italic!important; letter-spacing:-.03em!important; margin-bottom:1.5rem!important; }
.cbg-intro{ font-size:1.125rem; opacity:.85; max-width:28rem; }
.cbg-hint{ margin-top:2rem!important; font-size:.875rem; opacity:.7; display:flex; align-items:center; gap:.6rem; }
.cbg-hint::before{ content:""; width:1px; height:2.2rem; background:currentColor; animation:cbg-drip 1.8s ease-in-out infinite; transform-origin:top; }
@keyframes cbg-drip{ 0%{transform:scaleY(0)} 60%{transform:scaleY(1)} 100%{transform:scaleY(1);opacity:0} }

/* Kôpky púdru v oblúku (časť kruhu ako na úvodnej stránke) */
.cbg-arc{ position:absolute; inset:0; z-index:1; }
.cbg-pl{ --a:calc(212deg - var(--i)*32deg);
  position:absolute; width:var(--pw); aspect-ratio:1;
  left:calc(var(--cx) + var(--R)*cos(var(--a)));
  top:calc(47% + var(--R)*sin(var(--a)));
  translate:-50% -50%; display:block; }
.cbg-pl img{ position:absolute; inset:0; width:100%; height:100%; transition:transform .7s cubic-bezier(.22,.61,.36,1), filter .5s;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.25)); }
.cbg-pl:hover img,.cbg-pl:focus-visible img{ transform:scale(1.07) rotate(-4deg); filter:drop-shadow(0 10px 18px rgba(0,0,0,.35)) brightness(1.04); }
.cbg-pl-name,.cbg-pl-count{ position:absolute; left:0; right:0; text-align:center; z-index:1; pointer-events:none; }
.cbg .cbg-pl-name{ top:50%; translate:0 -60%; font:italic 400 clamp(1.4rem,1rem + 1.4vw,2.4rem)/1 var(--f-display); color:var(--pl-ink,#2A1820); }
.cbg .cbg-pl-count{ top:50%; translate:0 80%; font-size:.8125rem; color:var(--pl-ink,#2A1820); opacity:.75; }
.cbg .cbg-pl:nth-child(2){ --pl-ink:#F7EFE6; }

/* Časti galérie: farba sa rozsype cez predchádzajúcu časť */
.cbg-room,.cbg-end{ position:relative; background:var(--c); color:var(--ink); }
.cbg-room{ padding:clamp(4rem,7vw,7rem) 0 clamp(11rem,19vw,17rem); }
.cbg-spill{ position:absolute; left:50%; top:0; z-index:2; width:max(100vw,980px); pointer-events:none;
  transform:translate(-50%, calc(-100% + 3vw + var(--rise,0px))); }
.cbg-spill img{ display:block; width:100%; height:auto; }
.cbg-room .cbg-grain{ opacity:.22; }
.cbg-wrap{ position:relative; z-index:3; max-width:1360px; margin:0 auto; padding:0 var(--gutter); }
.cbg-room-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.3fr); gap:clamp(2rem,5vw,4.5rem); align-items:start; }
.cbg-side{ position:sticky; top:6.5rem; }
.cbg-shade{ font:italic 400 clamp(3.25rem,1.8rem + 5vw,6.5rem)/.9 var(--f-display)!important; letter-spacing:-.03em!important; margin-bottom:1.25rem!important; }
.cbg-text{ font-size:1.125rem; max-width:24rem; opacity:.85; }
.cbg-count{ margin:1.25rem 0 1.75rem!important; font:400 1.25rem/1.2 var(--f-display); }
.cbg-cta,.cbg-more{ display:inline-flex; align-items:center; min-height:48px; padding:0 1.6rem!important; border-radius:999px; font:500 .9375rem var(--f-body); border:1px solid currentColor; background:none; color:inherit; cursor:pointer; transition:background-color .3s, color .3s; }
.cbg-cta:hover,.cbg-more:hover{ background:var(--ink); color:var(--c); }
.cbg-more{ margin-top:1.5rem!important; }
.cbg-empty{ padding:2.5rem; border:1px dashed currentColor; opacity:.8; }

/* Mozaika fotiek */
.cbg-mosaic{ list-style:none; columns:3 220px; column-gap:16px; }
.cbg-mosaic li{ break-inside:avoid; margin:0 0 16px!important; padding:0!important; }
.cbg-mosaic li[hidden]{ display:none; }
.cbg-open{ display:block; width:100%; border:0; padding:0; background:rgba(0,0,0,.08); cursor:zoom-in; overflow:hidden; border-radius:2px;
  box-shadow:0 22px 40px -26px rgba(0,0,0,.55); }
.cbg-open img{ display:block; width:100%!important; height:auto!important; transition:transform .8s cubic-bezier(.22,.61,.36,1), filter .4s; }
.cbg-open:hover img{ transform:scale(1.04); filter:brightness(1.05); }
.cbg-open.cbg-half img{ aspect-ratio:var(--ar); object-fit:cover; object-position:top; }
.cbg-open.cbg-half-h img{ object-position:left; }

/* Záver, rovnaký ako na úvodnej stránke */
.cbg-end{ padding:clamp(6rem,14vh,9rem) var(--gutter) 6rem; text-align:center; }
.cbg-end h2{ position:relative; z-index:3; font:400 clamp(2.2rem,1.2rem + 3.5vw,4.25rem)/1.05 var(--f-display)!important; margin:0 auto 1rem!important; }
.cbg-end-lead{ position:relative; z-index:3; color:var(--blush)!important; font-size:1.125rem; margin:0 auto 2.25rem!important; max-width:32rem; }
.cbg-btn{ position:relative; z-index:3; display:inline-block; padding:1rem 2.1rem; border-radius:999px; background:var(--metal); background-size:200% 100%;
  color:var(--ink-dark)!important; font-weight:500!important; transition:background-position .8s, box-shadow .4s; }
.cbg-btn:hover{ background-position:100% 0; box-shadow:0 10px 40px -10px rgba(235,193,168,.6); }
.cbg-contact{ position:relative; z-index:3; margin:10vh 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; }
.cbg-contact h3{ font:italic 400 1.25rem/1.2 var(--f-display)!important; color:var(--rose-hi)!important; margin-bottom:.5rem!important; }
.cbg-contact a{ border-bottom:1px solid rgba(247,239,230,.25); line-height:1.9; }
.cbg-contact a:hover{ border-bottom-color:var(--rose-hi); }
.cbg-home{ position:relative; z-index:3; margin-top:3.5rem!important; }
.cbg-home a{ display:inline-flex; align-items:center; gap:.6rem; min-height:48px; padding:0 1.6rem!important; border-radius:999px; border:1px solid rgba(247,239,230,.35); font-size:.9375rem; transition:border-color .3s, color .3s; }
.cbg-home a:hover{ border-color:var(--rose-hi); color:var(--rose-hi)!important; }
.cbg-foot{ background:#1C181B; color:rgba(247,239,230,.5); font-size:.8125rem; text-align:center; padding:2rem var(--gutter) calc(2rem + env(safe-area-inset-bottom,0px)); }

/* Zväčšená fotka */
.cbg-box{ position:fixed; inset:0; z-index:100000; background:rgba(18,10,14,.96); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; }
.cbg-box[hidden]{ display:none; }
.cbg-box figure{ display:flex; flex-direction:column; align-items:center; gap:12px; }
.cbg-box img{ max-width:min(1200px,94vw); max-height:78vh; width:auto; height:auto; display:block; border-radius:2px; touch-action:pan-y; }
.cbg-box img.is-half{ object-fit:cover; object-position:top; height:auto; }
.cbg-box img.is-half-h{ object-position:left; }
.cbg-box figcaption{ color:var(--blush); font-size:.9375rem; min-height:1em; }
.cbg-bar{ display:flex; align-items:center; gap:14px; margin-top:16px; flex-wrap:wrap; justify-content:center; }
.cbg-pos{ min-width:70px; text-align:center; opacity:.7; font-size:.9375rem; }
.cbg-b{ min-width:48px; min-height:48px; border-radius:999px; border:1px solid rgba(247,239,230,.35); background:none; color:var(--ivory); font:500 .9375rem var(--f-body); cursor:pointer; padding:0 18px; }
.cbg-b:hover{ border-color:var(--rose-hi); color:var(--rose-hi); }
html.cbg-lock{ overflow:hidden; }

@media (max-width:820px){
  .cbg-room-in{ grid-template-columns:1fr; }
  .cbg-side{ position:static; }
  .cbg-mosaic{ columns:2; column-gap:10px; }
  .cbg-mosaic li{ margin-bottom:10px!important; }
  .cbg-contact{ grid-template-columns:1fr 1fr; }
  .cbg-room{ padding-bottom:clamp(8rem,34vw,12rem); }
  .cbg-spill{ transform:translate(-50%, calc(-100% + 6vw + var(--rise,0px))); }
}
@media (max-width:760px){
  .cbg-links{ gap:.8rem; } .cbg-links a{ font-size:.78rem; } .cbg-mark{ font-size:1.1rem!important; }
  .cbg-nav{ gap:.75rem; }
  /* úvod na mobile: oblúk kôpok hore, text pod ním */
  .cbg-hero{ grid-template-columns:1fr; align-items:end; padding-bottom:calc(3rem + env(safe-area-inset-bottom,0px));
    --R:70vw; --pw:calc(var(--R)*.98); padding-bottom:calc(8.5rem + env(safe-area-inset-bottom,0px)); }
  .cbg-hero-copy{ padding-top:min(56vh,112vw); }
  .cbg-pl{ --a:calc(117deg - var(--i)*27deg); left:calc(50% + var(--R)*cos(var(--a))); top:calc(min(32vh,62vw) - var(--R) + var(--R)*sin(var(--a))); }
  .cbg-light{ background:
    radial-gradient(ellipse 80% 40% at 50% 25%,rgba(255,248,240,.16),transparent 70%),
    radial-gradient(ellipse 120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.32) 100%); }
}
@media (prefers-reduced-motion:reduce){ .cbg *{ transition:none!important; animation:none!important; } .cbg-spill{ --rise:0px!important; } }

/* Úpravy pre Divi: zruší okraje a obmedzenú šírku okolo modulu */
.et_pb_section:has(.cbg),.et_pb_row:has(.cbg),.et_pb_column:has(.cbg),.et_pb_module:has(.cbg),.et_pb_code_inner:has(.cbg){
  padding:0!important; margin:0!important; max-width:none!important; width:100%!important; background:none!important; }
.et_pb_section:has(.cbg){ background-color:#1E1218!important; }
.et_pb_column:has(.cbg){ float:none!important; }
@media (max-width:380px){ .cbg-links{ gap:.55rem; } .cbg-links a{ font-size:.74rem; } .cbg-mark{ font-size:1rem!important; } }
