/* Chicona unified page loader */
:root{
  --chicona-loader-bg:#fffaf4;
  --chicona-loader-card:#ffffff;
  --chicona-loader-gold:#c89b3c;
  --chicona-loader-gold-soft:rgba(200,155,60,.22);
  --chicona-loader-text:#171717;
}

html.chicona-loading:not(.chicona-loader-mounted)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:2147482999;
  background:linear-gradient(180deg,#fffdf8 0%, var(--chicona-loader-bg) 100%);
}

html.chicona-loading:not(.chicona-loader-mounted)::after{
  content:"";
  position:fixed;
  top:50%;
  left:50%;
  width:48px;
  height:48px;
  margin:-24px 0 0 -24px;
  z-index:2147483000;
  border-radius:999px;
  border:3px solid var(--chicona-loader-gold-soft);
  border-top-color:var(--chicona-loader-gold);
  animation:chiconaLoaderSpin .82s linear infinite;
}

.site-loader{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 50% 35%, rgba(200,155,60,.10), transparent 34%),
    linear-gradient(180deg, #fffdf8 0%, var(--chicona-loader-bg) 100%);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .32s ease, visibility .32s ease;
}

.site-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.site-loader__card{
  min-width:min(260px, calc(100vw - 48px));
  max-width:320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:28px 26px;
  border:1px solid rgba(200,155,60,.18);
  border-radius:28px;
  background:rgba(255,255,255,.86);
  box-shadow:0 24px 70px rgba(35,27,14,.10);
  backdrop-filter:blur(10px);
  text-align:center;
}

.site-loader__mark{
  width:62px;
  height:62px;
  border-radius:999px;
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg, rgba(200,155,60,.16), rgba(255,255,255,.95));
  box-shadow:inset 0 0 0 1px rgba(200,155,60,.16);
}

.site-loader__mark::before{
  content:"";
  width:48px;
  height:48px;
  border-radius:999px;
  border:3px solid var(--chicona-loader-gold-soft);
  border-top-color:var(--chicona-loader-gold);
  animation:chiconaLoaderSpin .82s linear infinite;
}

.site-loader__mark::after{
  content:"C";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--chicona-loader-text);
  font-weight:800;
  font-size:18px;
  letter-spacing:.02em;
}

.site-loader__brand{
  font-weight:800;
  color:var(--chicona-loader-text);
  letter-spacing:.04em;
  line-height:1.2;
}

.site-loader__hint{
  width:92px;
  height:3px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(200,155,60,.16);
  position:relative;
}

.site-loader__hint::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:42%;
  border-radius:inherit;
  background:var(--chicona-loader-gold);
  animation:chiconaLoaderSlide 1.05s ease-in-out infinite;
}

@keyframes chiconaLoaderSpin{to{transform:rotate(360deg)}}
@keyframes chiconaLoaderSlide{
  0%{transform:translateX(-115%)}
  50%{transform:translateX(80%)}
  100%{transform:translateX(240%)}
}

@media (max-width:430px){
  .site-loader{padding:18px;}
  .site-loader__card{min-width:min(230px, calc(100vw - 36px));padding:24px 20px;border-radius:24px;}
  .site-loader__mark{width:56px;height:56px;}
  .site-loader__mark::before{width:43px;height:43px;border-width:3px;}
}

@media (prefers-reduced-motion:reduce){
  .site-loader,
  .site-loader__mark::before,
  .site-loader__hint::before{
    animation:none!important;
    transition:none!important;
  }
}

/* Soft placeholders for real page images. They never block the global loader. */
img.chicona-img-placeholder,
.p-img,
.prod-img,
.hero-img-full,
.offer-hero-img,
.review-media img,
.rev-media img,
.bc-img{
  background-color:#fbf7ef;
  background-image:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(200,155,60,.10) 45%, rgba(255,255,255,0) 80%);
  background-size:220% 100%;
}

img.chicona-img-loading{
  animation:chiconaImgPlaceholder 1.25s ease-in-out infinite;
}

img.chicona-img-loaded,
img.chicona-img-error{
  animation:none;
  background-image:none;
}

@keyframes chiconaImgPlaceholder{
  0%{background-position:120% 0;}
  100%{background-position:-120% 0;}
}

@media (prefers-reduced-motion:reduce){
  img.chicona-img-loading{animation:none!important;}
}
