/* Ateliê Ana: loja de roupas de linho no ar com domínio próprio. Pedra quente, tinta e um bordô. */
.sc-atelie {
  --ink: #1e1a16;
  --muted: #857a6f;
  --wine: #6d1f2c;
  --line: #e4dbd0;
  background:
    radial-gradient(55% 60% at 18% 8%, rgb(255 242 228 / 0.85), transparent 62%),
    radial-gradient(50% 60% at 92% 95%, rgb(109 31 44 / 0.22), transparent 62%),
    linear-gradient(160deg, #e7ddd2, #c4ad9b);
  color: var(--ink);
}

.at-browser {
  position: absolute;
  top: 2.4em;
  left: calc(50% - 29em);
  width: 56em;
  height: 36.4em;
  overflow: hidden;
  border-radius: 1.2em;
  background: #faf7f2;
  box-shadow: 0 0 0 1px rgb(30 26 22 / 0.06), 0 2.5em 5em -1.5em rgb(60 35 20 / 0.5);
}

.at-bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1em;
  height: 2.8em;
  padding: 0 1em;
  border-bottom: 1px solid var(--line);
  background: #efe9e1;
}

.at-url {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45em;
  min-width: 18em;
  margin: 0 auto;
  padding: 0.4em 1em;
  border-radius: 99em;
  background: #fff;
  color: #3b332c;
  font-family: var(--mono);
  font-size: 0.72em;
}

.at-url > .sc-ico {
  color: #2f8a4b;
}

.at-load-wrap {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
}

.at-load {
  display: block;
  height: 100%;
  background: var(--wine);
}

.at-page {
  padding: 1em 2.6em;
}

.at-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.at-links {
  display: flex;
  gap: 1.4em;
  color: var(--muted);
  font-size: 0.75em;
}

.at-logo {
  font-size: 0.95em;
  font-weight: 400;
  font-stretch: 112%;
  letter-spacing: 0.38em;
}

.at-icons {
  display: flex;
  gap: 1em;
  justify-self: end;
}

.at-bag {
  position: relative;
}

.at-badge {
  position: absolute;
  top: -0.55em;
  right: -0.65em;
  display: grid;
  place-items: center;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: var(--wine);
  color: #fff;
  font-size: 0.62em;
  font-style: normal;
  font-weight: 700;
}

.at-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  align-items: center;
  gap: 2em;
  margin-top: 1em;
}

.at-kicker {
  color: var(--wine);
  font-size: 0.7em;
  font-weight: 650;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.at-title {
  margin-top: 0.3em;
  font-size: 3em;
  font-weight: 300;
  font-stretch: 112%;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.at-lead {
  max-width: 19em;
  margin-top: 0.9em;
  color: var(--muted);
  font-size: 0.85em;
}

.at-actions {
  display: flex;
  gap: 0.6em;
  margin-top: 1.3em;
}

.at-btn {
  padding: 0.75em 1.3em;
  border-radius: 99em;
  background: var(--wine);
  color: #fff;
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
}

.at-btn--ghost {
  background: none;
  box-shadow: inset 0 0 0 1px #cdbfb2;
  color: var(--ink);
}

/* A foto da coleção, recortada em arco */
.at-arch {
  position: relative;
  justify-self: center;
  width: 10.5em;
  height: 11.5em;
  overflow: hidden;
  border-radius: 99em 99em 1.2em 1.2em;
  background: #e9e3dc;
}

.at-arch img,
.at-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.at-tag {
  position: absolute;
  bottom: 0.8em;
  left: 0.8em;
  padding: 0.3em 0.75em;
  border-radius: 99em;
  background: #fff;
  color: var(--wine);
  font-size: 0.65em;
  font-weight: 700;
}

.at-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1em;
  margin-top: 1.1em;
}

.at-product {
  position: relative;
}

.at-thumb {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 0.8em;
  background: #fff;
}

.at-product__name {
  margin-top: 0.5em;
  font-size: 0.78em;
  font-weight: 600;
}

.at-product__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.25em;
  color: var(--muted);
  font-size: 0.7em;
}

.at-add {
  position: relative;
  padding: 0.3em 0.75em;
  overflow: hidden;
  border-radius: 99em;
  box-shadow: inset 0 0 0 1px #cdbfb2;
  color: var(--ink);
  font-weight: 600;
  white-space: nowrap;
}

.at-add .sc-in {
  color: var(--wine);
}

/* Fora do navegador: o endereço no ar e a nota de desempenho */
.at-live,
.at-score {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 0.75em;
  padding: 0.9em 1.15em;
  border-radius: 1.2em;
  box-shadow: 0 1.6em 3em -1em rgb(60 35 20 / 0.45);
}

.at-live {
  top: 8em;
  left: calc(50% + 18em);
  width: 16em;
  background: #fff;
}

.at-live__ico {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.4em;
  height: 2.4em;
  border-radius: 50%;
  background: #eaf5ed;
  color: #2f8a4b;
}

.at-live__ico .sc-ico {
  width: 1.3em;
  height: 1.3em;
}

.at-live > span:last-child,
.at-score > span {
  display: grid;
  line-height: 1.3;
}

.at-live b {
  font-size: 0.82em;
}

.at-live small {
  display: flex;
  align-items: center;
  gap: 0.4em;
  color: var(--muted);
  font-size: 0.68em;
}

.at-live small i {
  width: 0.55em;
  height: 0.55em;
  border-radius: 50%;
  background: #2f8a4b;
  box-shadow: 0 0 0 0.25em rgb(47 138 75 / 0.18);
}

.at-score {
  top: 25em;
  left: calc(50% - 33.5em);
  background: var(--ink);
  color: #fff;
}

.at-score svg {
  width: 3.2em;
  height: 3.2em;
  fill: none;
  stroke-width: 4;
  transform: rotate(-90deg);
}

.at-score circle {
  stroke: rgb(255 255 255 / 0.15);
}

.at-score .at-score__fg {
  stroke: #5fd08a;
  stroke-linecap: round;
  stroke-dasharray: 98 100;
}

.film.is-playing .at-score__fg {
  animation: at-score 1s var(--ease-out) both;
  animation-delay: calc(var(--film) * 0.72);
}

@keyframes at-score {
  from {
    stroke-dasharray: 0 100;
  }
}

.at-score b {
  font-size: 1.3em;
  font-weight: 750;
}

.at-score small {
  color: rgb(255 255 255 / 0.65);
  font-size: 0.68em;
}

/* O cursor clica em "Adicionar" (medido a partir do canto de baixo à direita do produto) */
.at-cursor {
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
}

.film.is-playing .at-cursor {
  animation: at-cursor var(--film) var(--ease-out) both;
}

@keyframes at-cursor {
  0%, 46% { opacity: 0; transform: translate(5em, -4em); }
  49% { opacity: 1; transform: translate(3em, -2em); }
  53% { transform: translate(-0.6em, 1.4em) scale(1); }
  54.5% { transform: translate(-0.6em, 1.4em) scale(0.85); }
  56% { opacity: 1; transform: translate(-0.6em, 1.4em) scale(1); }
  59%, 100% { opacity: 0; transform: translate(1em, 3em); }
}

@container film (max-width: 560px) {
  .at-browser {
    top: 2em;
    left: 1.25em;
    width: 41em;
    height: 49em;
  }

  .at-page {
    padding: 1em 1.6em;
  }

  .at-links {
    display: none;
  }

  .at-nav {
    grid-template-columns: auto 1fr;
  }

  .at-icons {
    justify-self: end;
  }

  .at-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.4em;
  }

  .at-arch {
    justify-self: stretch;
    width: auto;
    height: 12em;
    border-radius: 1.2em;
  }

  .at-live {
    top: 45.5em;
    left: calc(50% - 8em);
  }

  .at-score {
    display: none;
  }
}
