/* ====================================================
   Custom CSS — alevel-sat-gmat.ro
   Stiluri ce nu pot fi exprimate doar cu utility classes
   ==================================================== */

/* Subtle grid pattern pentru hero */
.hero-grid {
  background-image:
    linear-gradient(to right, rgba(30, 58, 138, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 58, 138, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse at center, white, transparent 70%);
          mask-image: radial-gradient(ellipse at center, white, transparent 70%);
}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Selection */
::selection { background-color: #DBEAFE; color: #1E3A8A; }

/* Focus ring */
:focus-visible { outline: 2px solid #3B82F6; outline-offset: 2px; }

/* Subtle drop cap pentru articole blog (bonus) */
.prose-drop-cap > p:first-of-type::first-letter {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  float: left;
  margin: 0.1em 0.1em 0 0;
  color: #1E3A8A;
}

/* Hover lift pentru cards */
.lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* Text balance and pretty wrapping */
.text-balance { text-wrap: balance; }
.text-pretty { text-wrap: pretty; }

/* Hide scrollbar but allow scrolling */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* RTL specific overrides */
[dir="rtl"] body { font-family: 'IBM Plex Sans Arabic', system-ui, sans-serif; }
[dir="rtl"] .lg\:pl-8 { padding-left: 0; padding-right: 2rem; }
