/* ============================================
   SLIMWATT HUISSTIJL — WEBSHOP
   Consistent met slimwatt.be
   ============================================ */

:root {
    --sw-primary: #0f766e;
    --sw-primary-dark: #0d6560;
    --sw-primary-light: #14b8a6;
    --sw-accent: #f59e0b;
    --sw-accent-dark: #d97706;
    --sw-dark: #0f172a;
    --sw-light: #f0fdfa;
    --sw-gray: #64748b;
    --sw-gradient: linear-gradient(135deg, #0f766e 0%, #0d9488 50%, #14b8a6 100%);
    --sw-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    --sw-shadow-lg: 0 10px 25px -5px rgba(0,0,0,0.1);
    --sw-radius: 12px;
}

/* === GLOBAL === */
body,
body.woocommerce,
body.woocommerce-page {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: var(--sw-dark);
    line-height: 1.6;
    background: #fafbfc;
}

a { color: var(--sw-primary); }
a:hover { color: var(--sw-primary-dark); }

/* === HEADER === */
.site-header {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(15, 118, 110, 0.1) !important;
    box-shadow: none;
    transition: all 0.3s ease;
    position: sticky;
    top: 0;
    z-index: 999;
}

.site-header.scrolled {
    box-shadow: var(--sw-shadow-lg);
}

.site-header .col-full {
    max-width: 1200px;
    padding: 0.5rem 2rem;
}

/* Logo styling als gradient tekst */
.site-header .site-title a,
.site-header .beta a,
.site-header h1.site-title a {
    font-family: "Inter", sans-serif !important;
    font-weight: 800 !important;
    font-size: 1.6rem !important;
    background: var(--sw-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-decoration: none !important;
    letter-spacing: -0.02em;
}

/* Custom logo image sizing */
.site-header .custom-logo-link img {
    max-height: 45px;
    width: auto;
}

/* === NAVIGATIE === */
.main-navigation {
    clear: none;
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
    font-family: "Inter", sans-serif !important;
    color: var(--sw-dark) !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 0.5rem 0.8rem;
    transition: color 0.2s ease;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover {
    color: var(--sw-primary) !important;
}

/* Actief menu item */
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li.current_page_item > a {
    color: var(--sw-primary) !important;
    font-weight: 600 !important;
}

/* Dropdown */
.main-navigation ul.menu ul.sub-menu {
    background: white;
    border: 1px solid rgba(15, 118, 110, 0.1);
    border-radius: var(--sw-radius);
    box-shadow: var(--sw-shadow-lg);
    padding: 0.5rem 0;
}

.main-navigation ul.menu ul.sub-menu li a {
    color: var(--sw-dark) !important;
    font-size: 0.9rem !important;
    padding: 0.5rem 1.2rem !important;
}

.main-navigation ul.menu ul.sub-menu li a:hover {
    background: var(--sw-light);
    color: var(--sw-primary) !important;
}

/* === HEADER CART/SEARCH ICONS === */
.site-header-cart .cart-contents,
.site-search .widget_search {
    color: var(--sw-dark);
}

.site-header-cart .cart-contents:hover {
    color: var(--sw-primary);
}

.site-header-cart .count {
    background: var(--sw-accent) !important;
    color: var(--sw-dark) !important;
    font-weight: 700;
    border-color: var(--sw-accent) !important;
}

/* === KNOPPEN (GLOBAAL) === */
button,
input[type="submit"],
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--sw-primary) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 600 !important;
    padding: 0.7rem 1.8rem !important;
    font-size: 0.9rem !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--sw-primary-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(15, 118, 110, 0.3) !important;
}

/* Alt/accent button */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.checkout-button {
    background: var(--sw-accent) !important;
    color: var(--sw-dark) !important;
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover {
    background: var(--sw-accent-dark) !important;
    box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4) !important;
}

/* === PRODUCT KAARTEN === */
ul.products li.product {
    background: white;
    border-radius: var(--sw-radius);
    padding: 1rem;
    box-shadow: var(--sw-shadow);
    transition: all 0.3s ease;
    border: 1px solid rgba(15, 118, 110, 0.08);
    overflow: hidden;
}

ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: var(--sw-shadow-lg);
    border-color: rgba(15, 118, 110, 0.2);
}

ul.products li.product img,
ul.products li.product .woocommerce-placeholder {
    border-radius: 8px;
    background: linear-gradient(135deg, var(--sw-light) 0%, #e0f2f1 100%);
}

ul.products li.product .woocommerce-loop-product__title {
    font-family: "Inter", sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--sw-dark) !important;
    min-height: 2.5em;
    line-height: 1.3;
}

ul.products li.product .price {
    color: var(--sw-primary) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}

ul.products li.product .price del {
    color: var(--sw-gray) !important;
    font-weight: 400 !important;
}

ul.products li.product .price ins {
    color: var(--sw-accent) !important;
    font-weight: 700 !important;
}

ul.products li.product .star-rating {
    color: var(--sw-accent);
}

/* Product badge (sale) */
ul.products li.product .onsale,
.woocommerce span.onsale {
    background: var(--sw-accent) !important;
    color: var(--sw-dark) !important;
    font-weight: 700;
    border-radius: 50px;
    padding: 0.3rem 0.8rem;
    font-size: 0.8rem;
}

/* === SINGLE PRODUCT === */
.single-product div.product .price {
    color: var(--sw-primary) !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
}

.single-product div.product .product_title {
    font-family: "Inter", sans-serif !important;
    font-weight: 700;
    color: var(--sw-dark);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--sw-primary);
    border-bottom-color: var(--sw-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--sw-primary);
}

/* Quantity input */
.woocommerce .quantity .qty {
    border-radius: 8px !important;
    border: 2px solid #e2e8f0 !important;
    padding: 0.5rem !important;
}

.woocommerce .quantity .qty:focus {
    border-color: var(--sw-primary) !important;
    outline: none;
}

/* === CATEGORIEEEN === */
.woocommerce .widget_product_categories ul li a {
    color: var(--sw-dark);
    font-weight: 500;
}

.woocommerce .widget_product_categories ul li a:hover {
    color: var(--sw-primary);
}

/* === BREADCRUMBS === */
.woocommerce-breadcrumb,
.storefront-breadcrumb {
    background: var(--sw-light) !important;
    border-bottom: 1px solid rgba(15, 118, 110, 0.08);
    padding: 0.8rem 0 !important;
    margin-bottom: 2rem !important;
}

.woocommerce-breadcrumb a {
    color: var(--sw-primary) !important;
    font-weight: 500;
}

.woocommerce-breadcrumb {
    color: var(--sw-gray) !important;
    font-size: 0.85rem;
}

/* === WINKELWAGEN / CART === */
.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--sw-light);
    border-radius: var(--sw-radius);
    padding: 1.5rem;
    border: 1px solid rgba(15, 118, 110, 0.1);
}

.woocommerce table.shop_table {
    border-radius: var(--sw-radius);
    border: 1px solid rgba(15, 118, 110, 0.1);
    overflow: hidden;
}

.woocommerce table.shop_table th {
    background: var(--sw-light);
    color: var(--sw-dark);
    font-weight: 600;
}

/* === BERICHTEN === */
.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--sw-primary) !important;
    background: var(--sw-light);
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--sw-primary) !important;
}

.woocommerce-error {
    border-top-color: #ef4444 !important;
}

/* === FORMULIEREN === */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea,
select {
    border: 2px solid #e2e8f0 !important;
    border-radius: var(--sw-radius) !important;
    padding: 0.75rem 1rem !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.95rem !important;
    transition: border-color 0.2s !important;
}

.woocommerce form .form-row input.input-text:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border-color: var(--sw-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1) !important;
}

/* === FOOTER === */
.site-footer {
    background: var(--sw-dark) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border-top: none !important;
}

.site-footer h4.widget-title,
.site-footer .widget-title {
    color: white !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}

.site-footer a {
    color: var(--sw-primary-light) !important;
}

.site-footer a:hover {
    color: white !important;
}

.site-footer .site-info {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}

/* === PAGINATION === */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border-radius: 8px !important;
    margin: 0 2px;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--sw-primary) !important;
    border-color: var(--sw-primary) !important;
}

/* === WIDGET SIDEBAR === */
.widget {
    background: white;
    border-radius: var(--sw-radius);
    padding: 1.5rem;
    box-shadow: var(--sw-shadow);
    margin-bottom: 1.5rem;
}

.widget .widget-title {
    font-family: "Inter", sans-serif !important;
    font-weight: 700;
    color: var(--sw-dark);
    font-size: 1rem;
    border-bottom: 2px solid var(--sw-primary);
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

/* === PAGE TITLE === */
.page-title,
.entry-title,
.woocommerce-products-header__title {
    font-family: "Inter", sans-serif !important;
    font-weight: 700 !important;
    color: var(--sw-dark) !important;
}

/* === MOBIEL === */
@media (max-width: 768px) {
    .site-header .col-full {
        padding: 0.5rem 1rem;
    }
    
    ul.products li.product {
        padding: 0.75rem;
    }
    
    .main-navigation ul.menu {
        background: white;
        border-radius: var(--sw-radius);
        box-shadow: var(--sw-shadow-lg);
    }
    
    button,
    .button,
    .woocommerce a.button {
        padding: 0.6rem 1.2rem !important;
        font-size: 0.85rem !important;
    }
}

/* === ANIMATIES === */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

ul.products li.product {
    animation: fadeInUp 0.4s ease forwards;
}

ul.products li.product:nth-child(2) { animation-delay: 0.1s; }
ul.products li.product:nth-child(3) { animation-delay: 0.2s; }
ul.products li.product:nth-child(4) { animation-delay: 0.3s; }

/* === GEEN PARTICLES/ANIMATIE ACHTERGRONDEN === */
canvas,
.particles-js-canvas-el,
[id*="particle"] {
    display: none !important;
}

/* === STOREFRONT OVERRIDES === */
.storefront-primary-navigation {
    background: transparent !important;
    border-bottom: none !important;
}

.storefront-handheld-footer-bar {
    background: var(--sw-dark) !important;
}

.storefront-handheld-footer-bar ul li a,
.storefront-handheld-footer-bar ul li button {
    color: white !important;
}

.storefront-handheld-footer-bar ul li.cart .count {
    background: var(--sw-accent) !important;
    color: var(--sw-dark) !important;
}

/* Rating stars */
.star-rating span::before,
.star-rating::before {
    color: var(--sw-accent) !important;
}

/* Selection color */
::selection {
    background: rgba(15, 118, 110, 0.2);
    color: var(--sw-dark);
}
