/* =========================================
   TASTE & CO — MAIN STYLESHEET
   Author: Syrus Herbert | ricoteck.net
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Outfit:wght@300;400;500;600&display=swap');

:root {
    --brand-dark: #050505;
    --brand-royal-deep: #0A192F;
    --brand-royal: #1D4ED8;
    --brand-surface: #121212;
    --brand-border: #27272A;
    --brand-accent: #FCA311;
    --brand-accent-hover: #E0900B;
    --brand-light: #FAF9F6;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    background-color: var(--brand-dark);
    color: #d4d4d4;
    font-family: 'Outfit', sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
::selection { background-color: #1D4ED8; color: #FAF9F6; }

/* ---- Utility ---- */
.text-gradient {
    background: linear-gradient(to right, #FCA311, #FFD166);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ---- Animation ---- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.page-content { animation: fadeInUp 0.6s ease-in-out forwards; }

/* ---- Cards ---- */
.card-hover { transition: all 0.4s ease; }
.card-hover:hover {
    transform: translateY(-5px);
    border-color: var(--brand-royal) !important;
    box-shadow: 0 10px 30px -10px rgba(29,78,216,.2);
}

/* ---- Review Cards ---- */
.review-card { background-color: #18181B; border: 1px solid #27272A; transition: all 0.3s ease; }
.review-card:hover { border-color: var(--brand-royal); background-color: #1C1C21; }

/* ---- Marquee ---- */
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.marquee-track { display: flex; width: max-content; animation: marquee 35s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }

/* ---- Client Logos ---- */
.client-logo { filter: grayscale(1) brightness(.8); opacity: .5; transition: all .5s ease; max-height: 50px; width: auto; }
.client-logo:hover { filter: grayscale(0) brightness(1); opacity: 1; }

/* ---- Scrollbar ---- */
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }

/* ---- AI Output ---- */
.ai-output-container h4 { color: #FCA311; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; margin-top: 1.5rem; margin-bottom: .5rem; }
.ai-output-container h4:first-child { margin-top: 0; }
.ai-output-container p { color: #9ca3af; margin-bottom: 1rem; }
.ai-output-container ul { list-style-type: none; padding-left: 0; margin-bottom: 1.5rem; }
.ai-output-container li { margin-bottom: .75rem; border-left: 2px solid #1D4ED8; padding-left: 1rem; border-radius: 2px; }
.ai-output-container strong { color: #FAF9F6; font-weight: 500; }

/* ---- WordPress Admin Bar ---- */
.admin-bar #site-navbar { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar #site-navbar { top: 46px; } }

/* ---- WordPress Alignment ---- */
.alignnone { margin: 5px 20px 20px 0; }
.aligncenter, div.aligncenter { display: block; margin: 5px auto; }
.alignright { float: right; margin: 5px 0 20px 20px; }
.alignleft { float: left; margin: 5px 20px 20px 0; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; }

/* ---- WPForms Dark Theme Overrides ---- */
.wpforms-container { font-family: 'Outfit', sans-serif !important; }
.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field select,
.wpforms-container .wpforms-field textarea {
    background-color: #1A1A1A !important;
    border: 1px solid #27272A !important;
    color: #FAF9F6 !important;
    border-radius: 0.75rem !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 300 !important;
    font-size: 0.875rem !important;
    padding: 0.75rem 1rem !important;
    color-scheme: dark;
    transition: border-color 0.2s !important;
}
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field select:focus,
.wpforms-container .wpforms-field textarea:focus {
    border-color: #1D4ED8 !important;
    box-shadow: none !important;
    outline: none !important;
}
.wpforms-container .wpforms-field-label {
    color: #6b7280 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 400 !important;
    margin-bottom: 0.5rem !important;
}
.wpforms-container .wpforms-submit-container button[type=submit] {
    background-color: #1D4ED8 !important;
    border: none !important;
    color: white !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 1rem 2.5rem !important;
    border-radius: 0.75rem !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    box-shadow: 0 0 20px rgba(29,78,216,.4) !important;
    width: 100%;
}
.wpforms-container .wpforms-submit-container button[type=submit]:hover {
    background-color: #fff !important;
    color: #1D4ED8 !important;
}
.wpforms-container .wpforms-field-checkbox li label,
.wpforms-container .wpforms-field-radio li label {
    color: #d1d5db !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 300 !important;
    font-size: 0.875rem !important;
}
.wpforms-container .wpforms-field-checkbox input[type=checkbox],
.wpforms-container .wpforms-field-radio input[type=radio] {
    accent-color: #1D4ED8;
    width: 1rem;
    height: 1rem;
}
.wpforms-container .wpforms-confirmation-container-full {
    background-color: #18181B !important;
    border: 1px solid #1D4ED8 !important;
    color: #FAF9F6 !important;
    border-radius: 0.75rem !important;
    font-family: 'Outfit', sans-serif !important;
}
.wpforms-container .wpforms-error-container {
    background-color: rgba(239,68,68,.1) !important;
    border-color: #ef4444 !important;
    border-radius: 0.75rem !important;
}
.wpforms-container .wpforms-field-container { margin-bottom: 1.5rem !important; }
