/* ArtinTech cookie consent banner. Uses the site's theme tokens (light and dark).
   Scoped under .atcc so Hello Elementor's button reset (#c36 on hover) never wins. */

.atcc{
  --atcc-bg: var(--at-surface, #ffffff);
  --atcc-soft: var(--at-surface-2, #f4ece5);
  --atcc-ink: var(--at-heading, #1d1614);
  --atcc-text: var(--at-text, #554d48);
  --atcc-muted: var(--at-muted, #7b726c);
  --atcc-line: var(--at-line-2, rgba(28,20,18,.16));
  --atcc-track: var(--at-line-3, rgba(28,20,18,.24));
  --atcc-accent: var(--at-accent, #ec3350);
  position: fixed;
  z-index: 9500; /* above the chat launcher, below the overlay menu and booking modal */
  bottom: 28px;
  inset-inline-start: 28px;
  width: min(440px, calc(100vw - 32px));
  font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--atcc-text);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .25s ease, transform .25s ease;
}
.atcc[hidden]{ display: none; }
.atcc.is-in{ opacity: 1; transform: none; }
.atcc *, .atcc *::before, .atcc *::after{ box-sizing: border-box; }

.atcc .atcc-card{
  padding: 22px 22px 14px;
  border: 1px solid var(--atcc-line);
  border-radius: 20px;
  background: var(--atcc-bg);
  box-shadow: 0 24px 60px rgba(20,12,10,.22);
  outline: none;
}
.atcc .atcc-title{
  margin: 0 0 8px;
  font-family: 'Space Grotesk', 'DM Sans', sans-serif;
  font-weight: 700; font-size: 18px; line-height: 1.3; letter-spacing: -.01em;
  color: var(--atcc-ink);
}
.atcc .atcc-text{ margin: 0 0 16px; font-size: 14px; line-height: 1.6; color: var(--atcc-text); }
.atcc .atcc-text a{ color: var(--at-accent-ink, #c8203c); text-decoration: underline; text-underline-offset: 2px; }

.atcc .atcc-btns{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.atcc .atcc-btn{
  margin: 0; padding: 12px 14px;
  border: 0; border-radius: 999px;
  font: 600 14px/1.2 'DM Sans', system-ui, sans-serif;
  cursor: pointer;
  transition: filter .2s ease, transform .2s ease;
}
.atcc .atcc-accept,
.atcc .atcc-accept:hover,
.atcc .atcc-accept:focus{ background: var(--atcc-accent); color: #fff; }
.atcc .atcc-reject,
.atcc .atcc-reject:hover,
.atcc .atcc-reject:focus{ background: var(--atcc-ink); color: var(--atcc-bg); }
.atcc .atcc-btn:hover{ filter: brightness(1.08); transform: translateY(-1px); }
.atcc .atcc-btn:focus-visible,
.atcc .atcc-link:focus-visible{ outline: 2px solid var(--atcc-accent); outline-offset: 3px; }

.atcc .atcc-foot{ display: flex; justify-content: center; margin-top: 8px; }
.atcc .atcc-link,
.atcc .atcc-link:hover,
.atcc .atcc-link:focus{
  margin: 0; padding: 6px 10px;
  border: 0; background: none;
  font: 600 13px/1.2 'DM Sans', system-ui, sans-serif;
  color: var(--atcc-muted);
  text-decoration: underline; text-underline-offset: 3px;
  cursor: pointer;
}
.atcc .atcc-link:hover{ color: var(--atcc-ink); }

.atcc .atcc-prefs{ display: flex; flex-direction: column; gap: 10px; margin: 0 0 16px; }
.atcc .atcc-prefs[hidden]{ display: none; }
.atcc .atcc-row{
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  margin: 0; padding: 12px 14px;
  border-radius: 14px; background: var(--atcc-soft);
}
.atcc label.atcc-row{ cursor: pointer; }
.atcc .atcc-rowtext{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.atcc .atcc-rowtext strong{ font-size: 14px; color: var(--atcc-ink); }
.atcc .atcc-rowtext span{ font-size: 12.5px; line-height: 1.45; color: var(--atcc-muted); }
.atcc .atcc-always{ flex: none; font-size: 12px; font-weight: 600; color: var(--atcc-muted); }

.atcc .atcc-switch{
  -webkit-appearance: none; appearance: none;
  position: relative; flex: none;
  width: 44px; height: 26px; margin: 0;
  border: 0; border-radius: 999px;
  background: var(--atcc-track);
  cursor: pointer;
  transition: background .2s ease;
}
.atcc .atcc-switch::after{
  content: "";
  position: absolute; top: 3px; inset-inline-start: 3px;
  width: 20px; height: 20px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25);
  transition: transform .2s ease;
}
.atcc .atcc-switch:checked{ background: var(--atcc-accent); }
.atcc .atcc-switch:checked::after{ transform: translateX(18px); }
.atcc[dir="rtl"] .atcc-switch:checked::after{ transform: translateX(-18px); }
.atcc .atcc-switch:focus-visible{ outline: 2px solid var(--atcc-accent); outline-offset: 2px; }

@media (max-width: 560px){
  .atcc{ inset-inline: 12px; bottom: 12px; width: auto; }
  .atcc .atcc-card{ padding: 18px 18px 10px; }
  .atcc .atcc-text{ font-size: 13.5px; }
  body.atcc-open .atc{ visibility: hidden; } /* the chat launcher would sit under the banner */
}
@media (prefers-reduced-motion: reduce){
  .atcc, .atcc *{ transition: none !important; }
}
@media print{ .atcc{ display: none !important; } }
