/* ============================================================================
   premium-enhance.css — ALLEANZA. SPERANZA ANIMALE E MILIEU (S.A.M.)
   Net-new premium polish layer. Loaded LAST, after final-responsive-fix.css.
   Adds only refinements not already present in the codebase, using the existing
   design tokens (--cc-* forest/gold theme with ice-blue fallbacks). No layout
   rewrites — purely tactile, accessibility and finish improvements.
   ========================================================================== */

/* ---- 1. Text selection: branded, legible on the dark theme ---------------- */
::selection      { background: rgba(226,185,92,.30); color: #fff; text-shadow: none; }
::-moz-selection { background: rgba(226,185,92,.30); color: #fff; text-shadow: none; }

/* ---- 2. Crisper type rendering everywhere -------------------------------- */
html { -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ---- 3. Kill the blue mobile tap flash; keep our own feedback ------------- */
a, button, input, select, textarea, label, .btn, [role="button"], [onclick] {
  -webkit-tap-highlight-color: transparent;
}

/* ---- 4. Consistent, slim, branded scrollbars (site-wide) ------------------ */
* { scrollbar-width: thin; scrollbar-color: rgba(226,185,92,.45) transparent; }
::-webkit-scrollbar        { width: 10px; height: 10px; }
::-webkit-scrollbar-track  { background: transparent; }
::-webkit-scrollbar-thumb  {
  background: linear-gradient(180deg, rgba(226,185,92,.55), rgba(61,224,138,.40));
  border: 2px solid transparent; background-clip: padding-box; border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(226,185,92,.8), rgba(61,224,138,.6));
  background-clip: padding-box;
}

/* ---- 5. Unified, accessible focus ring (keyboard users only) -------------- */
:focus-visible {
  outline: 2px solid #ffd77a;
  outline-offset: 3px;
  border-radius: 6px;
}
/* never show the ring on a deliberate mouse click of these controls */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.btn:focus:not(:focus-visible) { outline: none; }

/* ---- 6. Tactile, premium interactions on buttons & cards ------------------ */
.btn, .hero2-cta-btn, .cta-btn {
  transition: transform .18s var(--ease, cubic-bezier(.22,.7,.2,1)),
              box-shadow .25s var(--ease, cubic-bezier(.22,.7,.2,1)),
              background-color .2s ease, border-color .2s ease, filter .2s ease;
  will-change: transform;
}
.btn:hover, .hero2-cta-btn:hover, .cta-btn:hover { filter: brightness(1.06); }
.btn:active, .hero2-cta-btn:active, .cta-btn:active { transform: translateY(1px) scale(.985); }

/* subtle lift for the common card families that don't already have JS tilt */
.pcard, .doc-card, .res-card, .bear-card, .news-card,
.home-hub-card, .official-contact-card, .gallery-item, .hub-card {
  transition: transform .22s var(--ease, cubic-bezier(.22,.7,.2,1)),
              box-shadow .28s var(--ease, cubic-bezier(.22,.7,.2,1)),
              border-color .22s ease;
}

/* ---- 7. Inputs: smoother focus, no jarring jumps ------------------------- */
.input, input, select, textarea {
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.input:focus, input:focus, select:focus, textarea:focus {
  box-shadow: 0 0 0 3px rgba(226,185,92,.14);
}

/* ---- 8. Images fade in instead of popping (decode-friendly) -------------- */
img { background-color: rgba(255,255,255,.02); }

/* ---- 9. Larger, comfier touch targets on phones -------------------------- */
@media (max-width: 760px) and (pointer: coarse) {
  .btn, .hero2-cta-btn, .cta-btn, .nav-dropdown a,
  .bottom-nav a, .lang-menu button, .mobile-menu .nav-links a {
    min-height: 44px;
  }
  .geo-suggestion, .footer-links a { padding-top: .7rem; padding-bottom: .7rem; }
}

/* ---- 10. Respect users who prefer reduced motion ------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---- 11. Higher-contrast mode: firm up borders & text -------------------- */
@media (prefers-contrast: more) {
  .input, input, select, textarea { border-color: rgba(255,255,255,.4) !important; }
  .footer-links a, .nav-dropdown a { color: #f3f8f5 !important; }
}

/* ---- 12. Clean, ink-saving print output --------------------------------- */
@media print {
  .site-header, .bottom-nav, .mobile-menu, .cookie-banner, .toast-stack,
  .lang-switch, .burger, .nav-actions, .scroll-cue, .env-backdrop, .env-fog {
    display: none !important;
  }
  body { background: #fff !important; color: #000 !important; }
  a { color: #000 !important; text-decoration: underline; }
  .site-footer { border-top: 1px solid #ccc; color: #000 !important; }
}

/* ── File upload inputs: make them obviously clickable on desktop & mobile ── */
input[type="file"].input,
.admin-body input[type="file"],
.form-card input[type="file"],
.registry-form input[type="file"],
.report-form input[type="file"]{
  display:block;width:100%;padding:.55rem .7rem;line-height:1.4;cursor:pointer;
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(226,185,92,.5);border-radius:10px;color:var(--cc-text,#e9eef5);
}
input[type="file"].input:hover,
.admin-body input[type="file"]:hover{border-color:rgba(226,185,92,.9);background:rgba(226,185,92,.08)}
input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button{
  margin-right:.7rem;padding:.4rem .9rem;cursor:pointer;font-weight:600;
  border:0;border-radius:8px;background:#e2b95c;color:#10161f;
}
input[type="file"]::file-selector-button:hover{filter:brightness(1.08)}
/* inputs living inside a custom dropzone stay hidden — the dropzone is the UI */
input[type="file"][hidden]{display:none!important}

/* Platform record attachments (documented cases / legal actions / petitions) */
.platform-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin:.6rem 0 .2rem}
.platform-media-item{display:block;border-radius:10px;overflow:hidden;background:#07111f;border:1px solid rgba(226,185,92,.18)}
.platform-media-item img,.platform-media-item video{width:100%;height:110px;object-fit:cover;display:block}
.platform-outcome{font-size:.85rem;color:var(--cc-text-2,#cfe6f5);margin:.3rem 0;line-height:1.5}
@media(max-width:760px){.platform-media-grid{grid-template-columns:repeat(2,1fr)}}
