/* ============================================================
   PRO ENHANCEMENTS  —  Tourix Group (TRG)
   Tasteful, low-risk premium polish. Loaded after responsive.css.
   Desktop + mobile safe; nothing here changes the page structure.
   ============================================================ */

/* ---- Global rendering & feel ---- */
html { scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #c9a227 #ece7df; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: #c9a227; color: #1a1a1a; }

/* Tasteful page scrollbar (WebKit) */
body::-webkit-scrollbar { width: 11px; }
body::-webkit-scrollbar-track { background: #ece7df; }
body::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #c9a227, #d4af37);
    border-radius: 10px;
    border: 2px solid #ece7df;
}

/* ---- Accessible keyboard focus rings ---- */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
    outline: 2px solid #c9a227;
    outline-offset: 3px;
    border-radius: 8px;
}

/* ---- Navbar: premium shrink-on-scroll ---- */
.navbar {
    transition: padding .35s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease;
    border-bottom: 1px solid transparent;
}
.navbar.scrolled {
    padding: 12px 0 !important;
    background: rgba(18, 18, 18, .98) !important;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .5);
    border-bottom-color: rgba(201, 162, 39, .28);
}

/* ---- Buttons: refined sheen sweep on hover ---- */
.btn { letter-spacing: .2px; position: relative; overflow: hidden; }
.btn-primary::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, .45), transparent 80%);
    transform: translateX(-130%);
    transition: transform .7s ease;
    pointer-events: none;
}
.btn-primary:hover::after { transform: translateX(130%); }

/* ---- Cards: consistent premium elevation & easing ---- */
.service-card, .feature-card, .partner-card {
    transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease, border-color .4s ease;
}
/* Portfolio image zoom (cards that wrap an <img>) */
.service-card { overflow: hidden; }
.service-card img { transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.service-card:hover img { transform: scale(1.06); }

/* ---- Section titles: subtle centered gold underline ---- */
.section-title { position: relative; padding-bottom: 18px; }
.section-title::after {
    content: '';
    position: absolute; left: 50%; bottom: 0;
    transform: translateX(-50%);
    width: 64px; height: 4px; border-radius: 4px;
    background: linear-gradient(90deg, #c9a227, #d4af37);
}

/* ---- Testimonials: better glass-card legibility ---- */
.testimonial-slide > div {
    background: linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)) !important;
}

/* ---- Contact form: refined focus state ---- */
.contact-enhanced input, .contact-enhanced textarea, .contact-enhanced select {
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.contact-enhanced input:focus, .contact-enhanced textarea:focus, .contact-enhanced select:focus {
    border-color: #c9a227 !important;
    box-shadow: 0 0 0 3px rgba(201, 162, 39, .18);
    background: rgba(255, 255, 255, .08) !important;
}
.contact-enhanced input::placeholder, .contact-enhanced textarea::placeholder { color: rgba(255, 255, 255, .55); }

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