@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap');

/* 
   B2B Promotional Products Design System
   Primary: #8BC53F (green accent)
   Secondary: dark charcoal, light gray backgrounds
*/
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

* {
    max-width: 100%;
    box-sizing: border-box;
}

 




:root {
    --primary: #8BC53F;
    --primary-hover: #7AB82E;
    --primary-dark: #6B9E2E;
    --charcoal: #2C3539;
    --charcoal-light: #3D4A4F;
    --bg-light: #F7F7F6;
    --bg-surface: #FFFFFF;
    --border-light: #E8E8E6;
    --shadow-soft: 0 2px 8px rgba(44, 53, 57, 0.06);
    --shadow-card: 0 4px 16px rgba(44, 53, 57, 0.08);
    --radius: 0.5rem;
    --radius-lg: 0.75rem;
    --z-mobile-menu: 950;
    --z-auth: 900;
    --z-cart: 800;
    --z-search: 700;
    --z-menu: 600;
    --z-content: 500;
    --z-base: 400;
    --z-whatsapp: 200000;
}

/* Yüzen WhatsApp — tüm katmanların üstünde */
a.alo-whatsapp-float,
a#wa-support-btn.alo-whatsapp-float,
a#wa-support-btn-footer.alo-whatsapp-float {
    z-index: var(--z-whatsapp) !important;
    position: fixed !important;
}

/* Override Bootstrap Primary Color - B2B Green Accent */
.bg-primary {
    background-color: #8BC53F !important;
}

.text-primary {
    color: #8BC53F !important;
}

.border-primary {
    border-color: #8BC53F !important;
}

.btn-primary {
    background-color: #8BC53F !important;
    border-color: #8BC53F !important;
}

.btn-primary:hover,
.bg-primary:hover {
    background-color: #39651d !important; /* koyu yesil hover */
    border-color: #39651d !important;
}

body {
    font-family: var(--site-font), sans-serif;
}

html {
    scroll-behavior: smooth;
}

/* Navigation Scrollbar Hiding */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.sidebar-scroll::-webkit-scrollbar {
    width: 6px;
}

.sidebar-scroll::-webkit-scrollbar-thumb {
    background-color: #CBD5E1;
    border-radius: 4px;
}

.dark .sidebar-scroll::-webkit-scrollbar-thumb {
    background-color: #4B5563;
}

/* Shared Form Compatibility (Contact / Appointment / Quote / Order) */
.contact-form,
form.ajax-form {
    display: block;
    width: 100%;
}

.contact-form .form-group,
form.ajax-form .form-group {
    margin-bottom: 14px;
}

.contact-form label,
form.ajax-form label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #64748b;
    letter-spacing: .02em;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
form.ajax-form input,
form.ajax-form textarea,
form.ajax-form select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.4;
    background: #f8fafc;
    color: #0f172a;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.contact-form textarea,
form.ajax-form textarea {
    min-height: 120px;
    resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
form.ajax-form input:focus,
form.ajax-form textarea:focus,
form.ajax-form select:focus {
    outline: none;
    border-color: var(--primary, #8BC53F);
    box-shadow: 0 0 0 3px rgba(139, 197, 63, .18);
    background: #fff;
}

.contact-form button[type="submit"],
form.ajax-form button[type="submit"],
.btn.btn-block.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    border: 0;
    border-radius: 12px;
    padding: 10px 20px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    cursor: pointer;
}

.contact-form button[type="submit"]:disabled,
form.ajax-form button[type="submit"]:disabled {
    opacity: .7;
    cursor: not-allowed;
}

.form-alert,
.form-message,
.form-feedback {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
}

.form-alert.error,
.form-message.error,
.form-feedback.error {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.form-alert.success,
.form-message.success,
.form-feedback.success {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

@media (max-width: 767.98px) {
    .contact-form .form-row,
    .contact-form .form-grid,
    form.ajax-form .form-row,
    form.ajax-form .form-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 40;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 0;
    visibility: hidden;
    display: block;
}

.dropdown-panel.open {
    opacity: 1;
    visibility: visible;
}

/* Mega Menu CSS */
.mega-menu-trigger:hover .mega-menu-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mega-menu-content {
    transition: all 0.2s ease-out;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
}

/* Z-INDEX SYSTEM (HARD VALUES) */
#idle-cart-modal,
#address-prompt-modal,
#last-added-product-banner,
#customer-auth-modal {
    z-index: var(--z-auth) !important;
}

#search-results-popup,
#search-results-container {
    z-index: var(--z-search) !important;
}

#mini-cart-popover,
#cartDropdown,
#mini-cart-content,
#cart-toast-container {
    position: fixed;
    z-index: var(--z-cart) !important;
}

#desktop-horizontal-menu,
#promo-main-nav,
#pvc-main-nav,
#main-nav,
#header-top-nav,
.mega-menu-content,
.dropdown-menu {
    z-index: var(--z-menu) !important;
}

#site-header {
    z-index: var(--z-menu) !important;
}

#promo-mobile-menu-overlay {
    z-index: calc(var(--z-mobile-menu) - 1) !important;
}

#promo-mobile-menu-sidebar {
    z-index: var(--z-mobile-menu) !important;
}

/* DB Content Form Fallback (category/detail HTML) */
.content-html-scope form,
.prose form {
    display: grid;
    gap: 12px;
    width: 100%;
    max-width: 760px;
}

.content-html-scope form label,
.prose form label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #64748b;
}

.content-html-scope form input,
.content-html-scope form textarea,
.content-html-scope form select,
.prose form input,
.prose form textarea,
.prose form select {
    width: 100% !important;
    min-height: 44px;
    border: 1px solid #dbe3ee !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-size: 14px;
    line-height: 1.4;
    background: #f8fafc !important;
    color: #0f172a !important;
    box-sizing: border-box;
}

.content-html-scope form textarea,
.prose form textarea {
    min-height: 120px;
    resize: vertical;
}

.content-html-scope form button,
.content-html-scope form input[type='submit'],
.prose form button,
.prose form input[type='submit'] {
    min-height: 46px;
    border: 0 !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    font-weight: 800;
    cursor: pointer;
}

main,
.main-content,
.page-content,
.content-wrapper {
    z-index: var(--z-content) !important;
}

@media (max-width: 1023px) {
    #cart-toast-container {
        inset: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
            width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 1rem !important;
        margin: 0 !important;
        transform: none !important;
    }

    #cart-toast-container > * {
        width: min(calc(100vw - 2rem), 380px) !important;
        max-width: calc(100vw - 2rem) !important;
        max-height: 84vh !important;
        margin: 0 auto !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        overflow-y: auto !important;
    }
}

/* Sepete Ekle - premium, hafif 3D (ALOKATALOG ile aynı) */
.btn-sepete-ekle-premium {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(175, 220, 255, 0.82);
    background:
        linear-gradient(180deg, #3b91ff 0%, #1f6fff 56%, #155be0 100%);
    box-shadow:
        0 8px 16px rgba(21, 91, 224, 0.22),
        0 3px 0 rgba(13, 72, 183, 0.82);
    transform: translateY(0);
    transition:
        transform 180ms ease,
        box-shadow 220ms ease,
        background 220ms ease,
        filter 220ms ease;
    will-change: transform;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}

.btn-sepete-ekle-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255, 240, 160, 0.22) 0%, rgba(170, 225, 255, 0.16) 38%, rgba(255, 255, 255, 0) 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 38%);
    box-shadow:
        inset 0 0 0 1px rgba(196, 232, 255, 0.42);
}

.btn-sepete-ekle-premium::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -35%;
    width: 32%;
    height: 220%;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
    transform: translateX(0) rotate(26deg);
    opacity: 0.65;
    animation: cartBtnLightSweep 1.5s linear infinite;
}

.btn-sepete-ekle-premium:hover {
    transform: translateY(-1px);
    background:
        linear-gradient(180deg, #327ff2 0%, #1f67dd 58%, #174fbe 100%),
        linear-gradient(135deg, rgba(222, 131, 0, 0.28) 0%, rgba(17, 72, 176, 0.36) 100%);
    box-shadow:
        0 10px 18px rgba(19, 75, 184, 0.24),
        0 3px 0 rgba(13, 61, 152, 0.86);
    filter: saturate(1.02);
}

.btn-sepete-ekle-premium:active {
    transform: translateY(2px);
    box-shadow:
        0 5px 10px rgba(21, 91, 224, 0.2),
        0 1px 0 rgba(13, 72, 183, 0.92);
}

.btn-sepete-ekle-premium .material-symbols-outlined,
.btn-sepete-ekle-premium {
    color: #ffffff !important;
}

@keyframes cartBtnLightSweep {
    0% {
        transform: translateX(0) rotate(26deg);
        opacity: 0;
    }
    16% {
        opacity: 0.72;
    }
    46% {
        transform: translateX(390%) rotate(26deg);
        opacity: 0;
    }
    100% {
        transform: translateX(390%) rotate(26deg);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .btn-sepete-ekle-premium,
    .btn-sepete-ekle-premium::before,
    .btn-sepete-ekle-premium::after {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 768px) {
    .btn-sepete-ekle-premium {
        width: 78%;
    }
}

/* Multi-site theme and layer system */
:root {
    --z-auth: 900;
    --z-cart: 800;
    --z-search: 700;
    --z-menu: 600;
    --z-content: 500;
    --z-base: 400;
    --z-mobile-menu: 950;
}

body[data-site="3"] {
    --site-dark-bg: #676252;
    --site-dark-surface: #6a6f6e;
    --site-dark-surface-alt: #8f908d;
    --site-dark-border: #9d9f98;
    --site-dark-text: #f4efe7;
    --site-dark-muted: rgba(244, 239, 231, 0.78);
    --site-dark-accent: #9ca095;
}

html[data-theme="dark"] {
    color-scheme: dark;
}

body[data-theme="dark"] {
    background: var(--site-dark-bg) !important;
    color: var(--site-dark-text) !important;
}

body[data-theme="dark"] .bg-white,
body[data-theme="dark"] .bg-slate-50,
body[data-theme="dark"] .bg-slate-100,
body[data-theme="dark"] .bg-gray-50,
body[data-theme="dark"] .bg-gray-100,
body[data-theme="dark"] .surface-light,
body[data-theme="dark"] .bg-background-light {
    background: var(--site-dark-surface) !important;
}

body[data-theme="dark"] .bg-slate-800,
body[data-theme="dark"] .bg-slate-900,
body[data-theme="dark"] .bg-slate-900\/40,
body[data-theme="dark"] .bg-slate-900\/50,
body[data-theme="dark"] .bg-slate-900\/60,
body[data-theme="dark"] .bg-slate-800\/50,
body[data-theme="dark"] .bg-gray-800,
body[data-theme="dark"] .bg-gray-800\/50 {
    background: var(--site-dark-surface-alt) !important;
}

body[data-theme="dark"] .border,
body[data-theme="dark"] .border-gray-100,
body[data-theme="dark"] .border-gray-200,
body[data-theme="dark"] .border-slate-100,
body[data-theme="dark"] .border-slate-200,
body[data-theme="dark"] .border-slate-700,
body[data-theme="dark"] .border-slate-800,
body[data-theme="dark"] .dark\:border-gray-700,
body[data-theme="dark"] .dark\:border-gray-800 {
    border-color: var(--site-dark-border) !important;
}

body[data-theme="dark"] .text-gray-400,
body[data-theme="dark"] .text-gray-500,
body[data-theme="dark"] .text-gray-600,
body[data-theme="dark"] .text-slate-400,
body[data-theme="dark"] .text-slate-500,
body[data-theme="dark"] .text-slate-600,
body[data-theme="dark"] .dark\:text-gray-400,
body[data-theme="dark"] .dark\:text-slate-300 {
    color: var(--site-dark-muted) !important;
}

body[data-theme="dark"] .text-gray-900,
body[data-theme="dark"] .text-slate-900,
body[data-theme="dark"] .dark\:text-white,
body[data-theme="dark"] .dark\:text-slate-100 {
    color: var(--site-dark-text) !important;
}

body[data-theme="dark"] input,
body[data-theme="dark"] textarea,
body[data-theme="dark"] select {
    background: var(--site-dark-surface-alt) !important;
    color: var(--site-dark-text) !important;
    border-color: var(--site-dark-border) !important;
}

body[data-theme="dark"] input::placeholder,
body[data-theme="dark"] textarea::placeholder {
    color: var(--site-dark-muted) !important;
}

#customer-auth-modal,
#idle-cart-modal,
#address-prompt-modal,
#last-added-product-banner {
    z-index: var(--z-auth) !important;
}

#mini-cart-popover,
#mini-cart-content,
#cartDropdown {
    z-index: var(--z-cart) !important;
}

#search-results-popup,
#search-results-container {
    z-index: var(--z-search) !important;
}

header,
#promo-main-nav,
#pvc-main-nav,
.dropdown-menu,
.mega-menu-content,
#promo-cat-menu,
#recent-menu {
    z-index: var(--z-menu) !important;
}

#promo-mobile-menu-overlay {
    z-index: calc(var(--z-mobile-menu) - 1) !important;
}

#promo-mobile-menu-sidebar {
    z-index: var(--z-mobile-menu) !important;
}
