@import url("tokens/fonts.css");
@import url("tokens/colors.css");
@import url("tokens/typography.css");
@import url("tokens/spacing.css");
@import url("tokens/effects.css");
@import url("tokens/base.css");
@import url("components/core/core.css");

/* ---------------- Contatto rapido: Chiama + WhatsApp (contatto-rapido.js) ---------------- */
.cr-bar, .cr-fab { display: none; }
body.intro-lock .cr-bar, body.intro-lock .cr-fab { display: none !important; }

@media (min-width: 769px) {
  .cr-fab {
    position: fixed; right: 24px; bottom: 24px; z-index: 90;
    display: flex; align-items: center; justify-content: center;
    width: 54px; height: 54px; border-radius: 50%;
    background: var(--oxblood-700); color: var(--gold-300); text-decoration: none;
    border: 1.5px solid var(--gold-400); box-shadow: 0 8px 24px rgba(33,28,22,0.3);
    transition: transform .25s ease, background .25s ease;
  }
  .cr-fab svg { width: 26px; height: 26px; }
  .cr-fab:hover { transform: translateY(-2px) scale(1.05); background: var(--oxblood-800); }
  .cr-fab__tip {
    position: absolute; right: 66px; top: 50%; transform: translateY(-50%) translateX(6px);
    white-space: nowrap; padding: 7px 12px; border-radius: 6px;
    background: var(--ink-900, #211c16); color: var(--parchment-50);
    font-family: var(--font-serif); font-size: .92rem; letter-spacing: 0;
    opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease;
  }
  .cr-fab:hover .cr-fab__tip, .cr-fab:focus-visible .cr-fab__tip { opacity: 1; transform: translateY(-50%); }
}

@media (max-width: 768px) {
  .cr-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    display: flex; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--oxblood-900); border-top: 1px solid var(--gold-500);
    box-shadow: 0 -6px 20px rgba(33,28,22,0.25);
  }
  .cr-bar__btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 9px;
    min-height: 46px; border-radius: 999px; text-decoration: none;
    font-family: var(--font-serif); font-size: 1.05rem; font-weight: 500;
  }
  .cr-bar__btn--call { color: var(--parchment-50); border: 1px solid var(--gold-400); background: transparent; }
  .cr-bar__btn--wa { color: var(--oxblood-900); background: var(--gold-300); border: 1px solid var(--gold-300); }
  body.has-cr-bar { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}
