﻿/*
Theme Name: Albi Web E-Ticaret
Theme URI: https://albihediye.com
Author: Erdal Işık
Author URI: https://albihediye.com
Contact: 05529366594
Description: Profesyonel, çok amaçlı e-ticaret teması. WooCommerce uyumlu, slider, yorumlar, tam özelleştirilebilir menü/buton/renk/tipografi/layout. Kolay içerik yönetimi ve Trendyol-stili sepet/ödeme sayfaları.
Version: 2.0.0
License: GPL v2 or later
Text Domain: albi-hediye
Tags: one-column, two-columns, left-sidebar, right-sidebar, custom-header, custom-menu, custom-logo, custom-colors, custom-background, featured-images, theme-options, translation-ready, blog, business, e-commerce, full-width-template, sticky-header, footer-widgets
*/

:root {
    --primary-gradient: linear-gradient(135deg, #d63350 0%, #b71e3e 100%);
    --secondary-gradient: linear-gradient(135deg, #c9a84c 0%, #b8942e 100%);
    --accent: #f5a623;
    --text-dark: #1a1a2e;
    --text-body: #4a4a6a;
    --text-light: #8e8ea0;
    --bg-white: #ffffff;
    --bg-light: #f8f5ff;
    --bg-soft: #fff5f7;
    --bg-dark: #1a1a2e;
    --bg-card: #ffffff;
    --white: #ffffff;
    --black: #000000;
    --border: #e8e6f0;
    --border-light: #f0eff5;
    --shadow-sm: 0 1px 3px rgba(26,26,46,0.06);
    --shadow: 0 2px 12px rgba(26,26,46,0.08);
    --shadow-md: 0 4px 24px rgba(26,26,46,0.1);
    --shadow-lg: 0 12px 48px rgba(26,26,46,0.12);
    --shadow-xl: 0 20px 60px rgba(26,26,46,0.15);
    --shadow-primary: 0 4px 20px rgba(214,51,80,0.25);
    --radius-sm: 6px;
    --radius: 12px;
    --radius-lg: 20px;
    --radius-xl: 28px;
    --radius-full: 9999px;
    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    --transition-slow: all 0.5s cubic-bezier(0.4,0,0.2,1);
    --transition-spring: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
    --container-wide: 1400px;
    --container-narrow: 900px;
    --section-py: 100px;
    --section-py-sm: 60px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust:100%; }

body {
    font-family: var(--body-font);
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    color: var(--body-color);
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--bg-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing:grayscale;
}

a { color: var(--link-color); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--link-hover); }
a:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius:4px; }

img { max-width: 100%; height: auto; display: block; }

h1,h2,h3,h4,h5,h6 {
    font-family: var(--heading-font);
    color: var(--heading-color);
    margin-bottom: 0.5em;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing:-0.02em;
}
h1 { font-size: clamp(28px, 4vw, 44px); }
h2 { font-size: clamp(24px, 3vw, 34px); }
h3 { font-size: clamp(20px, 2.2vw, 26px); }
h4 { font-size: clamp(18px, 1.8vw, 22px); }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

p { margin-bottom: 1.2em; color:var(--body-color); }
ul,ol { margin-bottom: 1.2em; padding-left: 20px; }

::selection { background:var(--primary); color:var(--white); }
::-moz-selection { background:var(--primary); color:var(--white); }

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.container-wide { max-width: var(--container-wide); margin:0 auto; padding:0 24px; }
.container-narrow { max-width: var(--container-narrow); margin:0 auto; padding:0 24px; }

.section { padding:var(--section-py) 0; }
.section-sm { padding:var(--section-py-sm) 0; }

.section-title {
    font-size:clamp(26px,3vw,36px);
    text-align:center;
    margin-bottom:10px;
}
.section-subtitle {
    text-align:center;
    color:var(--text-light);
    font-size:16px;
    max-width:600px;
    margin:0 auto 48px;
    line-height:1.7;
}

.sr-only {
    position:absolute;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    border:0;
}

/* ===== PRELOADER ===== */
.preloader {
    position:fixed;
    top:0; left:0; right:0; bottom:0;
    background:var(--bg-white);
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity 0.5s ease, visibility 0.5s ease;
}
.preloader.loaded { opacity:0; visibility:hidden; pointer-events:none; }
.preloader-spinner {
    width:44px; height:44px;
    border:3px solid var(--border);
    border-top-color:var(--primary);
    border-radius:50%;
    animation:spin 0.7s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

/* ===== MOBILE MENU OPEN (prevent body scroll) ===== */
body.mobile-menu-open { overflow:hidden; position:fixed; width:100%; }

/* ===== DEVICE VISIBILITY ===== */
@media (max-width:768px) { .hide-mobile { display:none !important; } }
@media (min-width:769px) and (max-width:1024px) { .hide-tablet { display:none !important; } }
@media (min-width:1025px) { .hide-desktop { display:none !important; } }

/* ===== HEADER ROW SYSTEM ===== */
.header-row {
    transition:var(--transition);
    position:relative;
}
.header-row-inner {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

/* Header Row Top */
.header-row-top {
    background:var(--header-top-bg);
    color:var(--white);
    padding:6px 0;
    font-size:12px;
    line-height:1.4;
}
.header-row-top .header-row-inner {
    justify-content:space-between;
}
.header-row-top .h-module {
    display:flex;
    align-items:center;
    gap:8px;
}

/* Header Row Middle */
.header-row-middle {
    background:var(--header-bg);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--border-light);
    padding:var(--header-padding) 0;
    z-index:999;
}
.header-row-middle .header-row-inner {
    justify-content:space-between;
}

/* Header Row Bottom */
.header-row-bottom {
    background:var(--header-bg);
    border-bottom:1px solid var(--border-light);
    padding:0 0 8px;
}
.header-row-bottom .header-row-inner {
    justify-content:center;
}

/* Site Header (wrapper for all rows) */
.site-header {
    transition:var(--transition);
    position:relative;
    z-index:1000;
}
.header-sticky { position:sticky; top:0; z-index:1000; }
.header-sticky.header-scrolled {
    box-shadow:var(--shadow);
}
.header-sticky.header-scrolled .header-row-middle {
    border-bottom-color:var(--border);
}

/* ===== HEADER MODULES ===== */
.h-module {
    display:flex;
    align-items:center;
}

/* Logo Module */
.h-logo .site-branding { display:flex; align-items:center; flex-shrink:0; gap:12px; }
.h-logo .site-logo { display:flex; align-items:center; }
.h-logo .site-logo img { max-height:var(--logo-max-height); width:auto; }
.h-logo .site-branding-text { display:flex; flex-direction:column; }
.h-logo .site-title { font-size:22px; font-weight:800; font-family:var(--body-font); color:var(--primary); margin:0; line-height:1.2; letter-spacing:-0.5px; }
.h-logo .site-title a { color:inherit; }
.h-logo .site-title a:hover { color:var(--primary-dark); }
.h-logo .site-description { font-size:12px; color:var(--text-light); margin:0; line-height:1.3; }

/* Search Module */
.h-search {
    position:relative;
    flex:1;
    max-width:400px;
}
.header-search-toggle {
    display:none;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:var(--bg-soft);
    color:var(--text-dark);
    border:none;
    cursor:pointer;
    transition:var(--transition-spring);
}
.header-search-toggle:hover {
    background:var(--primary);
    color:var(--white);
}
.header-search-form {
    width:100%;
}
.h-search-form {
    display:flex;
    align-items:center;
    background:var(--bg-soft);
    border-radius:var(--radius-full);
    border:1px solid var(--border-light);
    transition:var(--transition);
    overflow:hidden;
}
.h-search-form:focus-within {
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(214,51,80,0.1);
    background:var(--white);
}
.h-search-input {
    flex:1;
    padding:10px 16px;
    border:none;
    background:transparent;
    font-size:14px;
    color:var(--text-dark);
    outline:none;
    font-family:var(--body-font);
}
.h-search-input::placeholder { color:var(--text-light); }
.h-search-submit {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    background:none;
    border:none;
    color:var(--text-light);
    cursor:pointer;
    transition:var(--transition);
    flex-shrink:0;
}
.h-search-submit:hover { color:var(--primary); }
.h-search-submit svg { width:18px; height:18px; }

/* Contact Module */
.h-contact { display:flex; align-items:center; gap:12px; }
.header-top-link {
    color:rgba(255,255,255,0.8);
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:12px;
    transition:var(--transition);
    letter-spacing:0.2px;
}
.header-top-link:hover { color:var(--white); }
.header-top-link svg { flex-shrink:0; opacity:0.7; }

/* Top Text Module */
.h-top-text .header-top-text {
    color:rgba(255,255,255,0.9);
    font-size:12px;
    letter-spacing:0.3px;
}

/* Social Module */
.h-social { display:flex; align-items:center; gap:6px; }
.header-social-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:8px;
    background:rgba(255,255,255,0.1);
    color:rgba(255,255,255,0.8);
    transition:var(--transition-spring);
}
.header-social-icon:hover {
    background:var(--primary);
    color:var(--white);
    transform:translateY(-1px);
}
.header-social-icon svg { width:14px; height:14px; }

/* Header Action Buttons (account, cart) */
.header-action-btn {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:var(--bg-soft);
    color:var(--text-dark);
    transition:var(--transition-spring);
    position:relative;
    border:none;
    flex-shrink:0;
}
.header-action-btn:hover {
    background:var(--primary);
    color:var(--white);
    transform:translateY(-2px) scale(1.05);
    box-shadow:var(--shadow-primary);
}
.header-action-btn:active { transform:scale(0.95); }
.header-cart-btn .cart-count {
    position:absolute;
    top:-6px;
    right:-6px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--primary-gradient);
    color:var(--white);
    font-size:10px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 8px rgba(214,51,80,0.35);
    border:2px solid var(--white);
}

/* CTA Button */
.h-cta { flex-shrink:0; }
.header-cta-btn {
    display:inline-flex;
    align-items:center;
    background:var(--cta-bg, var(--primary-gradient));
    color:var(--cta-color, var(--white));
    border-radius:var(--cta-radius, var(--radius-full));
    padding:var(--cta-py, 8px) var(--cta-px, 20px);
    font-size:var(--cta-fs, 13px);
    font-weight:var(--cta-fw, 600);
    transition:var(--transition-spring);
    text-decoration:none;
    white-space:nowrap;
}
.header-cta-btn:hover {
    background:var(--cta-hover-bg, var(--primary-dark));
    color:var(--cta-hover-color, var(--white));
    transform:translateY(-2px);
    box-shadow:var(--shadow-primary);
}

/* Header Marketplace */
.h-marketplace {
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.header-marketplace-link {
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:2px 6px;
    border-radius:6px;
    text-decoration:none;
    transition:var(--transition);
    font-size:12px;
}
.header-marketplace-link:hover {
    background:var(--bg-soft);
    transform:translateY(-1px);
}
.header-marketplace-name {
    color:var(--text-body);
    white-space:nowrap;
}
.header-marketplace-link svg {
    width:18px;
    height:18px;
    flex-shrink:0;
}

/* Marquee / Kayan Yazı */
.h-marquee {
    overflow:hidden;
    width:100%;
    flex:1 1 auto;
    min-width:0;
    position:relative;
    height:40px;
}
.h-marquee .h-marquee-text {
    position:absolute;
    white-space:nowrap;
    top:50%;
    transform:translateY(-50%);
    padding:0;
    animation-name:marquee-scroll;
    animation-duration:var(--marquee-speed, 20s);
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}
@keyframes marquee-scroll {
    0% { left:100%; }
    100% { left:-100%; }
}

/* Wishlist Button */
.header-wishlist-btn svg { transition:var(--transition); }
.header-wishlist-btn:hover svg { fill:currentColor; }

/* Secondary Nav */
.h-secondary-nav ul.secondary-menu {
    list-style:none;
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
    padding:0;
}
.h-secondary-nav ul.secondary-menu li a {
    display:block;
    padding:4px 12px;
    color:var(--top-menu-color, var(--text-light));
    font-size:var(--top-menu-fs, 12px);
    font-weight:var(--top-menu-fw, 500);
    border-radius:6px;
    transition:var(--transition);
}
.h-secondary-nav ul.secondary-menu li a:hover {
    color:var(--top-menu-hover-color, var(--primary));
    background:var(--top-menu-hover-bg, var(--bg-soft));
}

/* Language Switcher */
.h-language-list {
    list-style:none;
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
    padding:0;
}
.h-language-list li a {
    display:flex;
    align-items:center;
    padding:4px 8px;
    font-size:12px;
    color:var(--text-light);
    border-radius:4px;
    transition:var(--transition);
}
.h-language-list li a:hover,
.h-language-list li a.active {
    color:var(--primary);
    background:var(--bg-soft);
}
.h-language-placeholder {
    font-size:18px;
    line-height:1;
    opacity:0.6;
}

.nav-mobile-extra { display:none; }
.nav-mobile-extra a {
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 20px;
    color:var(--text-dark);
    font-size:14px;
    font-weight:500;
    border-bottom:1px solid var(--border-light);
}
.nav-mobile-extra a:hover { background:var(--bg-soft); color:var(--primary); }
.nav-mobile-extra .cart-count {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px; height:22px;
    border-radius:50%;
    background:var(--primary);
    color:var(--white);
    font-size:10px;
    font-weight:800;
}

/* ===== SMART MORE MENU ===== */
.menu-more-item > a .more-arrow { font-size:10px; margin-left:4px; }
.main-navigation .menu-more-item > ul.sub-menu.more-submenu { min-width:180px; right:0; left:auto; }
.main-navigation .menu-more-item > ul.sub-menu.more-submenu li a { white-space:nowrap; }

/* ===== NAVIGATION ===== */
.main-navigation { display:flex; align-items:center; }
.main-navigation ul { list-style:none; display:flex; align-items:center; gap:4px; margin:0; padding:0; }
.main-navigation ul li { position:relative; margin:0; }
.main-navigation ul li a {
    display:block;
    padding:10px 18px;
    color:var(--menu-color);
    font-size:var(--menu-fs);
    font-weight:var(--menu-fw);
    border-radius:10px;
    white-space:nowrap;
    transition:var(--transition-spring);
    position:relative;
}
.main-navigation ul li a:hover {
    background:var(--menu-hover-bg);
    color:var(--menu-hover-color);
}
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.main-navigation ul li.current-page-ancestor > a {
    background:var(--menu-active-bg);
    color:var(--menu-active-color);
    font-weight:600;
}
.main-navigation ul li.menu-item-has-children > a::after {
    content:'';
    display:inline-block;
    width:5px; height:5px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    margin-left:6px;
    margin-bottom:2px;
    transition:var(--transition);
}
.main-navigation ul li.menu-item-has-children > a:hover::after { transform:rotate(45deg) translateY(1px); }

.main-navigation ul ul {
    display:none;
    position:absolute;
    top:100%; left:0;
    background:var(--dropdown-bg);
    box-shadow:var(--shadow-lg);
    border-radius:var(--radius);
    min-width:240px;
    z-index:998;
    padding:6px;
    animation:fadeInDown 0.25s ease;
    border:1px solid var(--border-light);
}
.main-navigation ul ul ul { top:-6px; left:100%; }
.main-navigation ul ul li { display:block; }
.main-navigation ul ul a {
    padding:10px 16px;
    white-space:normal;
    border-radius:8px;
    color:var(--dropdown-link);
    font-size:13px;
}
.main-navigation ul ul a:hover { background:var(--dropdown-hover-bg); color:var(--dropdown-hover-color); }
.main-navigation ul li:hover > ul { display:block; }

@keyframes fadeInDown { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.menu-toggle {
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:42px; height:42px;
    background:var(--bg-soft);
    border:none;
    border-radius:12px;
    cursor:pointer;
    padding:10px; gap:5px;
    transition:var(--transition);
}
.menu-toggle:hover { background:var(--primary); }
.menu-toggle:hover .menu-toggle-bar { background:var(--white); }
.menu-toggle-bar {
    display:block;
    width:18px; height:2px;
    background:var(--text-dark);
    border-radius:2px;
    transition:var(--transition);
}
.menu-toggle[aria-expanded="true"] { background:var(--primary); }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar { background:var(--white); }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-bar:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ===== BREADCRUMB ===== */
.breadcrumb-wrapper { background:var(--bg-soft); border-bottom:1px solid var(--border-light); padding:12px 0; }
.breadcrumb ul { list-style:none; display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; padding:0; font-size:13px; }
.breadcrumb li { display:flex; align-items:center; gap:8px; }
.breadcrumb li a { color:var(--text-light); transition:var(--transition); }
.breadcrumb li a:hover { color:var(--primary); }
.breadcrumb .sep { color:var(--border); font-size:10px; }
.breadcrumb .current { color:var(--primary); font-weight:600; }

/* ===== MOBILE TOUCH OPTIMIZATION ===== */
@media (hover:none) and (pointer:coarse) {
    .product-card-inner:hover .product-card-img-primary { opacity:1; }
    .product-card-inner:hover .product-card-img-hover { opacity:0; }
    .product-card-inner:hover .product-card-overlay { opacity:1; transform:translateY(0); }
    .product-card-overlay { opacity:1; transform:translateY(0); position:relative; background:var(--bg-white); padding:8px 12px 12px; }
    .product-card-overlay .product-card-add-cart { box-shadow:none; }
    .sp-gallery-main:hover .sp-slide-prev,
    .sp-gallery-main:hover .sp-slide-next { opacity:0; }
    .sp-slide-prev, .sp-slide-next { opacity:0.8; }
}

/* ===== BUTTONS ===== */
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 36px;
    font-size:15px;
    font-weight:600;
    border-radius:var(--radius-full);
    border:none;
    cursor:pointer;
    transition:var(--transition-spring);
    text-align:center;
    line-height:1.4;
    text-decoration:none;
    position:relative;
    overflow:hidden;
}
.btn::after {
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:rgba(255,255,255,0.15);
    opacity:0;
    transition:opacity 0.3s;
}
.btn:hover::after { opacity:1; }
.btn:active { transform:scale(0.97); }

.btn-primary {
    background:var(--btn-bg);
    color:var(--btn-color);
    box-shadow:0 4px 16px rgba(214,51,80,0.3);
}
.btn-primary:hover {
    background:var(--btn-hover-bg);
    color:var(--btn-hover-color);
    transform:translateY(-3px);
    box-shadow:0 8px 28px rgba(214,51,80,0.4);
}
.btn-outline {
    background:transparent;
    color:var(--white);
    border:2px solid rgba(255,255,255,0.4);
    box-shadow:none;
}
.btn-outline:hover {
    background:var(--white);
    color:var(--primary);
    border-color:var(--white);
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}
.btn-ghost {
    background:transparent;
    color:var(--primary);
    border:2px solid var(--border);
}
.btn-ghost:hover {
    background:var(--bg-soft);
    border-color:var(--primary);
    transform:translateY(-2px);
}
.btn-secondary {
    background:var(--bg-soft);
    color:var(--primary);
    border:2px solid transparent;
}
.btn-secondary:hover {
    background:var(--primary);
    color:var(--white);
    transform:translateY(-2px);
    box-shadow:var(--shadow-primary);
}
.btn-sm { padding:10px 24px; font-size:13px; }
.btn-lg { padding:16px 48px; font-size:17px; }
.btn-block { width:100%; }
.btn-icon { padding:10px; width:44px; height:44px; }

/* ===== HERO / SLIDER ===== */
.hero-section {
    color:var(--white);
    padding:120px 0;
    text-align:center;
    position:relative;
    overflow:hidden;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
}
.hero-section::before {
    content:'';
    position:absolute;
    top:0; left:0; right:0; bottom:0;
    background: none;
    opacity:0.03;
}
.hero-section::after {
    content:'';
    position:absolute;
    bottom:-2px; left:0; right:0;
    height:120px;
    background:var(--white);
    clip-path:ellipse(65% 100% at 50% 100%);
    opacity:0.08;
}

.hero-slide { position:relative; background-repeat:no-repeat; background-size:cover; background-position:center; }

.hero-slide.slide-visual-only .hero-section {
    padding:0;
    min-height:600px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.hero-slide.slide-visual-only .hero-section::before,
.hero-slide.slide-visual-only .hero-section::after { display:none; }

.hero-slide.has-bg-image .hero-section {
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
}
.hero-content { position:relative; z-index:1; max-width:720px; margin:0 auto; }
.hero-content h1 { font-size:clamp(32px,4.5vw,48px); color:var(--white); margin-bottom:20px; font-weight:700; line-height:1.15; }
.hero-content p { font-size:18px; opacity:0.9; margin-bottom:36px; line-height:1.8; }
.hero-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* Slider */
.hero-slider { position:relative; }
.hero-slides { position:relative; overflow:hidden; }
.hero-slide { display:none; }
.hero-slide.active { display:block; }
.hero-slide.fade-in { animation:heroFadeIn 0.7s cubic-bezier(0.4,0,0.2,1); }
@keyframes heroFadeIn { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

.slider-nav {
    position:absolute;
    bottom:30px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:12px;
    z-index:10;
}
.slider-dot {
    width:12px; height:12px;
    border-radius:50%;
    background: rgba(255,255,255,0.4);
    border: 2px solid rgba(255,255,255,0.6);
    cursor: pointer;
    transition: var(--transition);
}
.slider-dot.active { background: var(--secondary); border-color: var(--secondary); transform: scale(1.2); }

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px; height: 50px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: var(--white);
    border: 2px solid rgba(255,255,255,0.3);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    transition: var(--transition);
    z-index: 10;
}
.slider-arrow:hover { background: var(--secondary); border-color: var(--secondary); color: var(--primary-dark); }
.slider-prev { left: 20px; }
.slider-next { right: 20px; }
.slider-arrow svg { width: 24px; height: 24px; }

/* ===== SECTIONS ===== */
.section { padding: 80px 0; }
.section-alt { background: var(--bg-light); }

.section-title { text-align: center; font-size: 34px; margin-bottom: 10px; font-weight: 700; }
.section-subtitle { text-align: center; color: var(--text-light); font-size: 16px; margin-bottom: 50px; max-width: 600px; margin-left: auto; margin-right: auto; }

/* ===== SERVICES ===== */
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
.service-card {
    background: var(--white); padding: 40px 28px 35px;
    border-radius: var(--radius); box-shadow: var(--shadow);
    text-align: center; transition: var(--transition);
    position: relative; overflow: hidden;
    border: 1px solid transparent;
}
.service-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--secondary); transform:scaleX(0); transform-origin:left; transition:var(--transition); }
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-hover); border-color:var(--secondary); }
.service-card:hover::before { transform:scaleX(1); }
.service-icon { width:80px; height:80px; margin:0 auto 22px; background:var(--bg-light); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:34px; transition:var(--transition); }
.service-card:hover .service-icon { background:var(--primary); color:var(--white); }
.service-card h3 { font-size:20px; font-family:var(--body-font); margin-bottom:12px; }
.service-card p { font-size:14px; color:var(--text-light); margin-bottom:18px; }

/* ===== STATS ===== */
.stats-section { padding:70px 0; background:var(--primary); color:var(--white); text-align:center; }
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:30px; }
.stat-item { padding:20px; }
.stat-item h3 { font-size:46px; color:var(--secondary); margin-bottom:5px; font-family:var(--body-font); font-weight:800; }
.stat-item p { font-size:16px; opacity:0.9; margin:0; }

/* ===== ABOUT ===== */
.about-section { padding:80px 0; }
.about-content { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-text h2 { font-size:34px; }
.about-text p { margin-bottom:15px; color:var(--text-light); }
.about-features { list-style:none; margin:20px 0 0; padding:0; }
.about-features li { padding:10px 0 10px 34px; position:relative; font-weight:500; }
.about-features li::before { content:'✓'; position:absolute; left:0; top:12px; width:20px; height:20px; background:var(--secondary); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--primary-dark); font-weight:bold; }
.about-cta-box { background:var(--bg-light); padding:50px 40px; border-radius:var(--radius-lg); border:1px solid #eef0f2; }
.about-cta-box h3 { font-family:var(--body-font); margin-bottom:10px; }
.about-cta-box .phone-large { font-size:28px; font-weight:700; color:var(--primary); margin:15px 0; }

/* ===== VISA ===== */
.visa-section { padding:80px 0; }
.visa-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:25px; }
.visa-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:var(--transition); border:1px solid transparent; }
.visa-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:var(--secondary); }
.visa-card-header { background:var(--primary); color:var(--white); padding:22px; text-align:center; }
.visa-card-header h3 { color:var(--white); margin:0; font-size:18px; font-family:var(--body-font); }
.visa-card-body { padding:24px; }
.visa-card-body p { font-size:14px; color:var(--text-light); margin-bottom:18px; }

/* ===== TRANSLATION ===== */
.translation-section { padding:80px 0; }
.translation-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:20px; }
.translation-item { background:var(--bg-light); padding:30px 25px; border-radius:var(--radius); text-align:center; transition:var(--transition); border:1px solid #eef0f2; cursor:default; }
.translation-item:hover { background:var(--primary); color:var(--white); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.translation-item h4 { font-family:var(--body-font); font-size:17px; margin-bottom:10px; transition:var(--transition); }
.translation-item:hover h4 { color:var(--secondary); }
.translation-item p { font-size:13px; color:var(--text-light); margin:0; transition:var(--transition); }
.translation-item:hover p { color:rgba(255,255,255,0.85); }

/* ===== TESTIMONIALS ===== */
.testimonials-section { padding:80px 0; }
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:30px; }
.testimonial-card {
    background:var(--white); padding:35px 30px;
    border-radius:var(--radius); box-shadow:var(--shadow);
    position:relative; border:1px solid #eef0f2;
    transition:var(--transition);
}
.testimonial-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.testimonial-card::before { content:'"'; position:absolute; top:15px; right:25px; font-size:60px; color:var(--secondary); opacity:0.2; font-family:Georgia,serif; line-height:1; }
.testimonial-stars { color:var(--secondary); font-size:18px; margin-bottom:15px; }
.testimonial-text { font-size:15px; color:var(--text-light); font-style:italic; line-height:1.8; margin-bottom:20px; }
.testimonial-author { display:flex; align-items:center; gap:15px; }
.testimonial-avatar { width:55px; height:55px; border-radius:50%; background:var(--bg-light); display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--primary); }
.testimonial-name { font-weight:600; font-size:15px; color:var(--primary-dark); font-family:var(--body-font); }
.testimonial-title { font-size:13px; color:var(--text-light); }

/* ===== PARTNERS ===== */
.partners-section { padding:60px 0; background:var(--white); }
.partners-grid { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:40px; }
.partner-item { opacity:0.6; transition:var(--transition); filter:grayscale(100%); max-width:160px; }
.partner-item:hover { opacity:1; filter:grayscale(0%); transform:scale(1.05); }
.partner-item img { max-height:60px; width:auto; }
.partner-item .partner-placeholder { width:120px; height:50px; background:var(--bg-light); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--text-light); border:1px dashed #d0d0d0; }

/* ===== BLOG ===== */
.blog-section { padding:80px 0; }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:30px; }
.blog-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:var(--transition); border:1px solid transparent; }
.blog-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-hover); border-color:#eef0f2; }
.blog-card-image { height:210px; overflow:hidden; position:relative; }
.blog-card-image img { width:100%; height:100%; object-fit:cover; transition:var(--transition-slow); }
.blog-card:hover .blog-card-image img { transform:scale(1.08); }
.blog-card-body { padding:25px; }
.blog-card-meta { font-size:13px; color:var(--text-light); margin-bottom:12px; display:flex; flex-wrap:wrap; gap:15px; }
.blog-card h3 { font-size:20px; margin-bottom:12px; font-family:var(--body-font); }
.blog-card h3 a { color:var(--primary-dark); }
.blog-card h3 a:hover { color:var(--primary); }
.blog-card p { font-size:14px; color:var(--text-light); margin-bottom:18px; }

/* ===== CTA ===== */
.cta-section { padding:70px 0; text-align:center; color:var(--white); position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; opacity:0.04; }
.cta-section * { position:relative; z-index:1; }
.cta-section h2 { color:var(--white); font-size:34px; font-weight:700; }
.cta-section p { opacity:0.9; margin-bottom:30px; font-size:18px; max-width:600px; margin-left:auto; margin-right:auto; }

/* ===== PAGE HEADER ===== */
.page-header {
    background:var(--primary-gradient);
    color:var(--white);
    padding:60px 0;
    text-align:center;
    position:relative;
    overflow:hidden;
}
.page-header::before {
    content:'';
    position:absolute;
    inset:0;
    background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.04)" d="M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,213.3C672,224,768,224,864,208C960,192,1056,160,1152,149.3C1248,139,1344,149,1392,154.7L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"/></svg>') no-repeat bottom;
    background-size:cover;
    pointer-events:none;
}
.page-header .container { position:relative; z-index:1; }
.page-header h1 { color:var(--white); font-size:clamp(28px,3.5vw,40px); margin:0; }
.page-header p { color:rgba(255,255,255,0.85); margin-top:10px; font-size:16px; max-width:600px; margin-left:auto; margin-right:auto; }
.page-header .post-meta { justify-content:center; margin-top:15px; color:rgba(255,255,255,0.8); }

/* ===== PAGE CONTENT ===== */
.page-content { padding:var(--section-py) 0; }
.page-content-full { padding-bottom:var(--section-py); }
.page-featured-image { margin-bottom:40px; max-height:500px; overflow:hidden; border-radius:var(--radius); }
.page-featured-image img { width:100%; object-fit:cover; }

.content-area { max-width:800px; margin:0 auto; }
.content-layout { display:grid; grid-template-columns:1fr 300px; gap:40px; }
.content-layout-left { grid-template-columns:300px 1fr; }


.post-thumbnail { margin-bottom:35px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.post-meta { font-size:14px; color:var(--text-light); margin-bottom:25px; display:flex; flex-wrap:wrap; gap:20px; }
.post-meta span { display:inline-flex; align-items:center; gap:6px; }
.post-navigation { display:flex; justify-content:space-between; margin-top:50px; padding-top:35px; border-top:1px solid var(--border); }

.comments-area { margin-top:60px; padding-top:40px; border-top:2px solid #eef0f2; }
.comment-list { list-style:none; padding:0; }
.comment { padding:25px 0; border-bottom:1px solid #f0f0f0; }
.comment:last-child { border-bottom:none; }
.comment-author { font-weight:600; }
.comment-author .avatar { border-radius:50%; margin-right:10px; vertical-align:middle; }
.comment-meta { font-size:13px; color:var(--text-light); margin-bottom:10px; }

/* ===== SIDEBAR ===== */
.sidebar { width:var(--sidebar-width, 280px); flex-shrink:0; }
.sidebar .container > *:last-child { margin-bottom:0; }

/* Sidebar Card Widget (standart widget görünümü) */
.sidebar .widget {
    background:var(--sidebar-bg, var(--bg-card));
    border-radius:var(--radius);
    margin-bottom:20px;
    border:1px solid var(--border);
    transition:var(--transition);
    box-shadow:var(--shadow-sm);
}
.sidebar .widget:hover { border-color:var(--primary); box-shadow:0 2px 12px rgba(214,51,80,0.08); }

.sidebar .widget-title,
.sidebar .widget-title-wrap {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    padding:16px 20px 12px;
    margin:0;
    color:var(--heading-color);
    border-bottom:1px solid var(--border-light);
    cursor:pointer;
    user-select:none;
    transition:var(--transition);
}
.sidebar .widget-title:hover,
.sidebar .widget-title-wrap:hover { color:var(--primary); }

.widget-toggle-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:var(--text-light);
    transition:transform 0.25s ease;
}
.widget-toggle-icon svg { display:block; }
.sidebar .widget.collapsed .widget-toggle-icon {
    transform:rotate(180deg);
}

/* Widget content area for collapse animation */
.sidebar .widget > ul,
.sidebar .widget > div:not(.widget-title):not(.widget-title-wrap),
.sidebar .widget > form,
.sidebar .widget > nav,
.sidebar .widget > .albi-price-filter-form,
.sidebar .widget > .albi-attr-filter {
    overflow:hidden;
}

/* Sidebar içerik listeleri */
.sidebar-widget-list {
    list-style:none;
    padding:4px 0;
    margin:0;
}
.sidebar-widget-list li {
    padding:0;
    margin:0;
}
.sidebar-widget-list li a {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 20px;
    color:var(--text-body);
    font-size:14px;
    font-weight:400;
    transition:all 0.2s ease;
    text-decoration:none;
    border-left:3px solid transparent;
}
.sidebar-widget-list li a:hover {
    color:var(--primary);
    background:var(--bg-soft);
    border-left-color:var(--primary);
    padding-left:23px;
}
.sidebar-widget-list.has-thumbs li a {
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 20px;
    border-left:none;
}
.sidebar-widget-list.has-thumbs li a:hover {
    padding-left:20px;
}
.widget-post-thumb {
    flex-shrink:0;
    width:48px;
    height:48px;
    border-radius:var(--radius-sm);
    overflow:hidden;
    background:var(--bg-light);
}
.widget-post-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.widget-post-title {
    flex:1;
    font-size:13px;
    line-height:1.4;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* Sidebar Category Tree (toptantr-style) */
.sidebar-cat-search {
    padding:14px 16px;
    background:var(--bg-card);
}
.sidebar-cat-search form {
    position:relative;
    display:flex;
    align-items:center;
}
.sidebar-cat-search-icon {
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:var(--text-light);
    pointer-events:none;
    flex-shrink:0;
}
.sidebar-cat-search input[type="search"] {
    width:100%;
    padding:8px 12px 8px 36px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    font-size:13px;
    font-family:var(--body-font);
    color:var(--text-dark);
    background:var(--bg-light);
    outline:none;
    transition:var(--transition);
}
.sidebar-cat-search input[type="search"]:focus {
    border-color:var(--primary);
    background:var(--bg-card);
    box-shadow:0 0 0 3px rgba(214,51,80,0.08);
}

.sidebar-cat-nav {
    background:var(--bg-card);
    max-height:480px;
    overflow-y:auto;
    overflow-x:hidden;
}
.sidebar-cat-nav::-webkit-scrollbar { width:4px; }
.sidebar-cat-nav::-webkit-scrollbar-track { background:transparent; }
.sidebar-cat-nav::-webkit-scrollbar-thumb { background:var(--border); border-radius:4px; }
.sidebar-cat-nav::-webkit-scrollbar-thumb:hover { background:var(--text-light); }

.sidebar-cat-header {
    padding:14px 16px 10px;
    border-bottom:1px solid var(--border-light);
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
    user-select:none;
}
.sidebar-cat-header:hover .sidebar-cat-title { color:var(--primary); }
.sidebar-cat-title {
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--heading-color);
    margin:0;
    transition:var(--transition);
}
.sidebar-cat-header-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border:none;
    background:none;
    cursor:pointer;
    color:var(--text-light);
    transition:var(--transition);
    padding:0;
}
.sidebar-cat-header-toggle:hover { color:var(--primary); }
.sidebar-cat-header-toggle svg {
    transition:transform 0.25s ease;
}
.sidebar-cat-nav.open .sidebar-cat-header-toggle svg {
    transform:rotate(180deg);
}

.cat-tree-list {
    list-style:none;
    padding:0;
    margin:0;
}
.cat-tree-item {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    margin:0;
    padding:0;
}
.cat-tree-item:not(:last-child) {
    border-bottom:1px solid var(--border-light);
}

.cat-tree-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    min-height:40px;
    flex-shrink:0;
    border:none;
    background:none;
    cursor:pointer;
    color:var(--text-light);
    transition:var(--transition);
    padding:0;
    font-size:0;
    align-self:stretch;
}
.cat-tree-toggle:hover { color:var(--primary); }
.cat-tree-toggle svg {
    width:10px;
    height:10px;
    transition:transform 0.2s ease;
}
.cat-tree-item.open > .cat-tree-toggle svg {
    transform:rotate(90deg);
}
.cat-tree-item:not(.has-children) .cat-tree-toggle {
    opacity:0;
    pointer-events:none;
    width:0;
    overflow:hidden;
}

.cat-tree-link {
    display:flex;
    align-items:center;
    gap:8px;
    flex:1;
    min-height:40px;
    padding:8px 16px 8px 0;
    color:var(--text-body);
    font-size:14px;
    font-weight:400;
    transition:all 0.2s ease;
    text-decoration:none;
    cursor:pointer;
}
.cat-tree-link:hover {
    color:var(--primary);
}
.cat-tree-item.active > .cat-tree-link,
.cat-tree-item.active-parent > .cat-tree-link {
    color:var(--primary);
    font-weight:600;
}

.cat-tree-name {
    flex:1;
    line-height:1.4;
}

.cat-tree-count {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:10px;
    background:var(--bg-light);
    color:var(--text-light);
    font-size:11px;
    font-weight:600;
    line-height:1;
    transition:var(--transition);
}
.cat-tree-item.active .cat-tree-count,
.cat-tree-item.active-parent .cat-tree-count {
    background:rgba(214,51,80,0.1);
    color:var(--primary);
}

/* Nested subcategories */
.cat-tree-list .cat-tree-list {
    padding-left:32px;
    width:100%;
}
.cat-tree-list .cat-tree-list .cat-tree-item {
    background:var(--bg-light);
    border-bottom-color:rgba(0,0,0,0.04);
}
.cat-tree-list .cat-tree-list .cat-tree-item:last-child { border-bottom:none; }
.cat-tree-list .cat-tree-list .cat-tree-link {
    font-size:13px;
    min-height:36px;
    padding-top:6px;
    padding-bottom:6px;
}
.cat-tree-list .cat-tree-list .cat-tree-toggle {
    min-height:36px;
}

/* Third level */
.cat-tree-list .cat-tree-list .cat-tree-list {
    padding-left:12px;
}
.cat-tree-list .cat-tree-list .cat-tree-list .cat-tree-item {
    background:var(--bg-card);
}

/* Show active branch */
.cat-tree-item.active > .cat-tree-list,
.cat-tree-item.active-parent > .cat-tree-list {
    display:block !important;
}

.cat-tree-no-results {
    padding:30px 20px;
    text-align:center;
    color:var(--text-light);
    font-size:13px;
}
.sidebar-empty {
    padding:20px;
    text-align:center;
    color:var(--text-light);
    font-size:13px;
    background:var(--bg-light);
    border-radius:var(--radius);
    border:1px dashed var(--border);
}

/* Sidebar header toggle functionality */
.sidebar-cat-header-toggle {
    /* hidden by default, shown when JS adds .has-toggle */
}
.sidebar-cat-nav:not(.open) .cat-tree-list:first-of-type > .cat-tree-item {
    display:list-item;
}

/* ===== ALBİ FİYAT FİLTRESİ ===== */
.albi-price-filter-form {
    padding:16px 20px;
}
.albi-price-inputs {
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
}
.albi-price-field {
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.albi-price-field label {
    font-size:11px;
    font-weight:600;
    color:var(--text-light);
    text-transform:uppercase;
    letter-spacing:0.3px;
}
.albi-price-field input[type="number"] {
    width:100%;
    padding:8px 10px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    font-size:13px;
    font-family:var(--body-font);
    color:var(--text-dark);
    background:var(--bg-light);
    outline:none;
    transition:var(--transition);
    -moz-appearance:textfield;
}
.albi-price-field input[type="number"]::-webkit-outer-spin-button,
.albi-price-field input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.albi-price-field input[type="number"]:focus {
    border-color:var(--primary);
    background:var(--bg-card);
    box-shadow:0 0 0 3px rgba(214,51,80,0.08);
}
.albi-price-sep {
    color:var(--text-light);
    font-size:14px;
    margin-top:18px;
    flex-shrink:0;
}
.albi-price-btn {
    display:block;
    width:100%;
    padding:9px 16px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:var(--radius-sm);
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition);
    font-family:var(--body-font);
}
.albi-price-btn:hover { background:var(--primary-dark); }
.albi-price-clear {
    display:block;
    text-align:center;
    margin-top:8px;
    font-size:12px;
    color:var(--text-light);
    text-decoration:none;
    transition:var(--transition);
}
.albi-price-clear:hover { color:var(--primary); }

/* ===== ALBİ ÖZELLİK FİLTRESİ ===== */
.albi-attr-filter {
    padding:4px 0;
}
.albi-attr-item {
    margin:0;
}
.albi-attr-link {
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 20px;
    color:var(--text-body);
    font-size:14px;
    text-decoration:none;
    transition:all 0.2s ease;
    border-left:3px solid transparent;
}
.albi-attr-link:hover {
    color:var(--primary);
    background:var(--bg-soft);
    border-left-color:var(--primary);
    padding-left:23px;
}
.albi-attr-link.active {
    color:var(--primary);
    font-weight:600;
    background:var(--bg-soft);
    border-left-color:var(--primary);
}
.albi-attr-check {
    width:16px;
    height:16px;
    border:2px solid var(--border);
    border-radius:3px;
    flex-shrink:0;
    position:relative;
    transition:var(--transition);
}
.albi-attr-link.active .albi-attr-check {
    background:var(--primary);
    border-color:var(--primary);
}
.albi-attr-link.active .albi-attr-check::after {
    content:'';
    position:absolute;
    left:4px; top:1px;
    width:5px; height:9px;
    border:solid var(--white);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}
.albi-attr-color {
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid var(--border);
    flex-shrink:0;
}
.albi-attr-link.active .albi-attr-color {
    border-color:var(--primary);
    box-shadow:0 0 0 2px rgba(214,51,80,0.2);
}
.albi-attr-name { flex:1; }
.albi-attr-count {
    font-size:11px;
    color:var(--text-light);
    background:var(--bg-light);
    padding:1px 7px;
    border-radius:8px;
    font-weight:600;
    min-width:20px;
    text-align:center;
}
.albi-attr-clear-wrap {
    padding:8px 20px 12px;
    border-top:1px solid var(--border-light);
}
.albi-attr-clear {
    font-size:12px;
    color:var(--primary);
    text-decoration:none;
    font-weight:600;
    transition:var(--transition);
}
.albi-attr-clear:hover { color:var(--primary-dark); text-decoration:underline; }

/* ===== FOOTER ===== */
.site-footer {
    background:var(--footer-bg);
    color:var(--footer-text);
    position:relative;
}
.site-footer::before {
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:4px;
    background:var(--primary-gradient);
}

.footer-map { width:100%; height:250px; overflow:hidden; }
.footer-map iframe { width:100%; height:100%; border:none; }

.footer-widgets { padding:80px 0 40px; }
.footer-grid { display:grid; gap:40px; }
.footer-grid-2 { grid-template-columns:1fr 1fr; }
.footer-grid-3 { grid-template-columns:1fr 1fr 1fr; }
.footer-grid-4 { grid-template-columns:1fr 1fr 1fr 1fr; }

.footer-widget { margin-bottom:30px; }
.footer-widget-title {
    color:var(--footer-title);
    font-size:17px;
    font-family:var(--body-font);
    font-weight:600;
    margin-bottom:22px;
    padding-bottom:12px;
    position:relative;
    letter-spacing:-0.2px;
}
.footer-widget-title::after {
    content:'';
    position:absolute;
    bottom:0; left:0;
    width:36px;
    height:3px;
    background:var(--secondary);
    border-radius:2px;
}
.footer-widget p { font-size:14px; line-height:1.8; color:var(--footer-link); }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { padding:var(--footer-links-gap) 0; }
.footer-links li a {
    color:var(--footer-link);
    font-size:14px;
    transition:var(--transition);
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.footer-links li a::before {
    content:'';
    width:5px; height:5px;
    border-right:1.5px solid var(--secondary);
    border-bottom:1.5px solid var(--secondary);
    transform:rotate(-45deg);
    transition:var(--transition);
}
.footer-links li a:hover { color:var(--footer-link-hover); gap:12px; }
.footer-contact { list-style:none; padding:0; margin:0; }
.footer-contact li {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:8px 0;
    font-size:14px;
    color:var(--footer-link);
    line-height:1.6;
}
.footer-contact-icon { flex-shrink:0; color:var(--secondary); font-size:16px; }
.footer-contact li a { color:var(--footer-link); }
.footer-contact li a:hover { color:var(--footer-link-hover); }

.footer-social { display:flex; gap:8px; margin-top:20px; flex-wrap:wrap; }
.social-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px; height:38px;
    border-radius:10px;
    background:var(--footer-icon-bg);
    color:var(--footer-icon-color);
    transition:var(--transition-spring);
    border:1px solid var(--footer-icon-border);
}
.social-icon:hover { transform:translateY(-3px) scale(1.05); }
.social-icon svg { width:16px; height:16px; }
.social-icon.facebook:hover { background:#1877f2; border-color:#1877f2; }
.social-icon.twitter:hover { background:#000; border-color:#000; }
.social-icon.instagram:hover { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); border-color:transparent; }
.social-icon.linkedin:hover { background:#0a66c2; border-color:#0a66c2; }
.social-icon.youtube:hover { background:#ff0000; border-color:#ff0000; }
.social-icon.whatsapp:hover { background:#25d366; border-color:#25d366; }

.footer-marketplace { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.footer-marketplace-link {
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:5px 8px;
    border-radius:8px;
    background:var(--footer-icon-bg);
    border:1px solid var(--footer-icon-border);
    transition:var(--transition-spring);
    text-decoration:none;
    font-size:11px;
    color:var(--footer-link);
}
.footer-marketplace-link:hover { transform:translateY(-2px) scale(1.05); background:var(--footer-icon-hover-bg); color:var(--footer-title); }
.footer-marketplace-link svg { width:18px; height:18px; flex-shrink:0; }
.footer-marketplace-name { white-space:nowrap; font-weight:500; }

.footer-bottom {
    background:var(--footer-bottom-bg);
    padding:22px 0;
    font-size:14px;
    border-top:1px solid var(--footer-bottom-border-color);
}
.footer-bottom-inner { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.footer-copyright { color:var(--footer-bottom-text); font-size:13px; order:1; margin-top:4px; }
.footer-copyright a { color:var(--secondary); }
.footer-copyright a:hover { color:var(--secondary-light); }
.footer-sep { margin:0 10px; opacity:0.2; }
.footer-bottom-menu ul { list-style:none; display:flex; gap:16px; margin:0; padding:0; justify-content:center; }
.footer-bottom-menu ul li a { color:var(--footer-bottom-text); font-size:13px; transition:var(--transition); }
.footer-bottom-menu ul li a:hover { color:var(--footer-bottom-text-hover); }

/* ===== BACK TO TOP ===== */
.back-to-top {
    position:fixed;
    bottom:30px; right:30px;
    width:48px; height:48px;
    border-radius:14px;
    background:var(--primary-gradient);
    color:var(--white);
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 4px 16px rgba(214,51,80,0.3);
    transition:var(--transition-spring);
    opacity:0; visibility:hidden;
    transform:translateY(20px) scale(0.9);
    z-index:999;
}
.back-to-top.visible { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.back-to-top:hover { transform:translateY(-4px) scale(1.05); box-shadow:0 8px 28px rgba(214,51,80,0.4); }
.back-to-top:active { transform:scale(0.95); }
.back-to-top svg { width:20px; height:20px; }

/* ===== COOKIE CONSENT ===== */
.cookie-consent {
    position:fixed; bottom:0; left:0; right:0;
    background:var(--primary-dark); color:var(--white);
    padding:15px 20px;
    display:flex; align-items:center; justify-content:center;
    gap:20px; flex-wrap:wrap;
    z-index:9998;
    transform:translateY(100%);
    transition:var(--transition);
    font-size:14px;
}
.cookie-consent.visible { transform:translateY(0); }
.cookie-consent p { margin:0; color:rgba(255,255,255,0.85); font-size:13px; }
.cookie-btn {
    padding:8px 22px;
    background:var(--secondary);
    color:var(--primary-dark);
    border:none; border-radius:var(--radius-full);
    cursor:pointer;
    font-weight:600;
    font-size:13px;
    transition:var(--transition);
    white-space:nowrap;
}
.cookie-btn:hover { background:var(--secondary-light); }

/* ===== 404 ===== */
.not-found { text-align:center; padding:120px 0; }
.not-found h1 { font-size:140px; color:var(--primary); line-height:1; font-family:var(--body-font); opacity:0.15; margin-bottom:10px; }
.not-found p { font-size:18px; color:var(--text-light); margin:0 0 30px; }

/* ===== PAGINATION ===== */
.pagination { text-align:center; margin:50px 0 20px; }
.pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; margin:0 3px; border-radius:var(--radius); border:1px solid #e0e0e0; font-size:14px; font-weight:500; color:var(--text-dark); background:var(--white); transition:var(--transition); }
.pagination .page-numbers.current { background:var(--primary); color:var(--white); border-color:var(--primary); }
.pagination a.page-numbers:hover { background:var(--bg-light); border-color:var(--primary); }

/* ===== SEARCH ===== */
.search-form { display:flex; gap:5px; }
.search-form input[type="search"] { flex:1; padding:11px 16px; border:1px solid #d0d0d0; border-radius:var(--radius); font-size:14px; outline:none; transition:var(--transition); }
.search-form input[type="search"]:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(26,60,110,0.1); }
.search-form button { padding:11px 20px; background:var(--primary); color:var(--white); border:none; border-radius:var(--radius); cursor:pointer; transition:var(--transition); font-weight:600; }
.search-form button:hover { background:var(--primary-dark); }

/* ===== SCROLL ANIMATION ===== */
.has-scroll-animation .animate-on-scroll { opacity:0; transform:translateY(40px); transition:opacity 0.7s ease, transform 0.7s ease; }
.has-scroll-animation .animate-on-scroll.animated { opacity:1; transform:translateY(0); }
.has-scroll-animation .animate-on-scroll.delay-1 { transition-delay:0.1s; }
.has-scroll-animation .animate-on-scroll.delay-2 { transition-delay:0.2s; }
.has-scroll-animation .animate-on-scroll.delay-3 { transition-delay:0.3s; }
.has-scroll-animation .animate-on-scroll.delay-4 { transition-delay:0.4s; }

/* ===== CONTACT PAGE ===== */
.contact-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.contact-info-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:30px; }
.contact-info-card { background:var(--bg-light); padding:25px; border-radius:var(--radius); text-align:center; border:1px solid #eef0f2; transition:var(--transition); }
.contact-info-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.contact-info-card .icon { font-size:32px; margin-bottom:12px; }
.contact-info-card h4 { font-family:var(--body-font); font-size:16px; margin-bottom:5px; }
.contact-info-card p { font-size:14px; color:var(--text-light); margin:0; }
.contact-info-card a { color:var(--primary); font-weight:500; }

/* ===== WORDPRESS ALIGN ===== */
.alignleft { float:left; margin-right:20px; margin-bottom:20px; }
.alignright { float:right; margin-left:20px; margin-bottom:20px; }
.aligncenter { display:block; margin:0 auto; }
.wp-caption { max-width:100%; }
.wp-caption-text { font-size:13px; color:var(--text-light); text-align:center; padding:10px 0; }

/* ===== WOOCOMMERCE - HEADER MINI-CART (Trendyol-style) ===== */
.header-cart-wrap {
    position:relative;
    z-index:10000;
}
.header-mini-cart {
    position:absolute;
    top:calc(100% + 10px);
    right:-8px;
    width:360px;
    background:var(--white);
    border-radius:12px;
    box-shadow:0 8px 40px rgba(0,0,0,0.15);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
    z-index:10001;
    border:1px solid var(--border-light);
}
.header-cart-wrap:hover .header-mini-cart,
.header-cart-wrap:focus-within .header-mini-cart {
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}
.header-mini-cart-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 20px;
    border-bottom:1px solid var(--border-light);
}
.header-mini-cart-title {
    font-size:15px;
    font-weight:700;
    color:var(--text-dark);
}
.header-mini-cart-total {
    font-size:12px;
    color:var(--text-light);
    font-weight:500;
}
.header-mini-cart-inner { max-height:380px; overflow-y:auto; }
.header-mini-cart-inner::-webkit-scrollbar { width:4px; }
.header-mini-cart-inner::-webkit-scrollbar-thumb { background:var(--border); border-radius:4px; }
.header-mini-cart-empty {
    padding:40px 20px;
    text-align:center;
    color:var(--text-light);
    font-size:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}
.header-mini-cart-empty svg { color:var(--border); }
.header-mini-cart-items { list-style:none; padding:0; margin:0; }
.header-mini-cart-items li {
    display:flex;
    gap:12px;
    padding:14px 20px;
    border-bottom:1px solid var(--border-light);
    position:relative;
    align-items:flex-start;
}
.header-mini-cart-items li:last-child { border-bottom:none; }
.header-mini-cart-image { width:60px; height:60px; flex-shrink:0; border-radius:8px; overflow:hidden; background:var(--bg-soft); }
.header-mini-cart-image img { width:100%; height:100%; object-fit:cover; }
.header-mini-cart-details { flex:1; display:flex; flex-direction:column; gap:4px; padding-right:20px; }
.header-mini-cart-name { font-size:13px; font-weight:500; color:var(--text-dark); line-height:1.3; text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.header-mini-cart-name:hover { color:var(--primary); }
.header-mini-cart-meta {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
}
.header-mini-cart-qty { font-size:12px; color:var(--text-light); }
.header-mini-cart-price { font-size:13px; font-weight:600; color:var(--primary); }
.header-mini-cart-remove {
    position:absolute;
    top:12px;
    right:14px;
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:var(--text-light);
    transition:var(--transition);
    text-decoration:none;
    z-index:2;
    opacity:0;
}
.header-mini-cart-items li:hover .header-mini-cart-remove { opacity:1; }
.header-mini-cart-remove:hover { background:var(--bg-soft); color:var(--primary); }
.header-mini-cart-footer {
    padding:16px 20px;
    border-top:1px solid var(--border-light);
    background:var(--bg-white);
    display:flex;
    flex-direction:column;
    gap:8px;
}
.header-mini-cart-subtotal {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:14px;
    color:var(--text-dark);
    margin-bottom:4px;
}
.header-mini-cart-subtotal strong { color:var(--primary); font-size:16px; }
.header-mini-cart-btn {
    display:block;
    text-align:center;
    padding:11px;
    border-radius:8px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    transition:var(--transition-spring);
    cursor:pointer;
}
.header-mini-cart-btn-outline {
    background:var(--bg-white);
    color:var(--text-dark);
    border:1px solid var(--border);
}
.header-mini-cart-btn-outline:hover {
    border-color:var(--primary);
    color:var(--primary);
    background:var(--bg-soft);
}
.header-mini-cart-btn-primary {
    background:var(--primary);
    color:var(--white);
}
.header-mini-cart-btn-primary:hover {
    background:var(--primary-dark);
    color:var(--white);
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(214,51,80,0.25);
}
@media (max-width:768px) { .header-mini-cart { display:none !important; } }

/* ===== TRENDYOL STEPS ===== */
.ty-steps {
    background:var(--bg-white);
    border-bottom:1px solid var(--border-light);
    padding:16px 0;
}
.ty-steps-bar {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    max-width:600px;
    margin:0 auto;
}
.ty-step {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    position:relative;
}
.ty-step-num {
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    background:var(--border-light);
    color:var(--text-light);
    transition:var(--transition);
    border:2px solid transparent;
}
.ty-step.active .ty-step-num {
    background:var(--primary);
    color:var(--white);
    border-color:var(--primary-light);
    box-shadow:0 0 0 4px rgba(214,51,80,0.15);
}
.ty-step.completed .ty-step-num {
    background:#22c55e;
    color:var(--white);
    border-color:#86efac;
}
.ty-step-label {
    font-size:12px;
    font-weight:600;
    color:var(--text-light);
    text-transform:uppercase;
    letter-spacing:0.3px;
}
.ty-step.active .ty-step-label { color:var(--primary); }
.ty-step.completed .ty-step-label { color:#22c55e; }
.ty-step-line {
    flex:1;
    height:2px;
    background:var(--border-light);
    margin:0 12px;
    min-width:40px;
    position:relative;
    top:-14px;
}

/* ===== FREE SHIPPING BAR ===== */
.ty-free-shipping-bar {
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:12px;
    padding:16px 24px;
    margin-bottom:20px;
}
.ty-free-shipping-text {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:500;
    color:var(--text-body);
    margin-bottom:12px;
}
.ty-free-shipping-text svg { flex-shrink:0; }
.ty-free-shipping-track {
    height:6px;
    background:var(--border-light);
    border-radius:3px;
    overflow:hidden;
}
.ty-free-shipping-progress {
    height:100%;
    background:linear-gradient(90deg, var(--primary), #ff6b81);
    border-radius:3px;
    transition:width 0.8s cubic-bezier(0.34,1.56,0.64,1);
}
.ty-free-shipping-success .ty-free-shipping-text { color:#22c55e; }
.ty-free-shipping-success {
    border-color:#bbf7d0;
    background:#f0fdf4;
}

/* ===== CART ITEM BADGE & STOCK ===== */
.ty-cart-item-badge {
    position:absolute;
    top:6px;
    left:6px;
    z-index:2;
    background:var(--primary);
    color:var(--white);
    font-size:9px;
    font-weight:700;
    padding:2px 8px;
    border-radius:4px;
    text-transform:uppercase;
    letter-spacing:0.3px;
}
.ty-cart-item-image { position:relative; }
.ty-cart-item-stock {
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:11px;
    color:#22c55e;
    font-weight:500;
}

/* ===== APPLIED COUPONS ===== */
.ty-cart-applied-coupons {
    padding:14px 24px;
    border-top:1px solid var(--border-light);
    background:var(--bg-soft);
}
.ty-cart-applied-title {
    font-size:12px;
    font-weight:600;
    color:var(--text-light);
    text-transform:uppercase;
    letter-spacing:0.3px;
    display:block;
    margin-bottom:8px;
}
.ty-cart-applied-list { display:flex; gap:8px; flex-wrap:wrap; }
.ty-cart-applied-tag {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    border-radius:6px;
    padding:4px 10px;
    font-size:12px;
    font-weight:500;
    color:#16a34a;
}
.ty-cart-applied-tag-remove {
    display:flex;
    align-items:center;
    color:#16a34a;
    opacity:0.6;
    transition:var(--transition);
}
.ty-cart-applied-tag-remove:hover { opacity:1; }

/* ===== CART INSTALLMENT ===== */
.ty-cart-installment {
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 0 4px;
    font-size:12px;
    color:var(--text-body);
    border-top:1px solid var(--border-light);
    margin-top:8px;
}
.ty-cart-installment strong { color:var(--text-dark); }

/* ===== CART SECURITY ===== */
.ty-cart-security {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:16px;
    font-size:12px;
    color:var(--text-light);
}

/* ===== RECOMMENDED PRODUCTS ===== */
.ty-cart-recommended {
    margin-top:40px;
}
.ty-cart-recommended-title {
    font-size:18px;
    font-weight:700;
    font-family:var(--body-font);
    color:var(--text-dark);
    margin:0 0 20px;
    padding-bottom:12px;
    border-bottom:1px solid var(--border-light);
}
.ty-cart-recommended-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
@media (max-width:992px) { .ty-cart-recommended-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .ty-cart-recommended-grid { grid-template-columns:1fr; } }
.ty-cart-rec-item {
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:12px;
    overflow:hidden;
    transition:var(--transition);
}
.ty-cart-rec-item:hover {
    box-shadow:var(--shadow-md);
    transform:translateY(-2px);
}
.ty-cart-rec-img {
    display:block;
    aspect-ratio:1;
    overflow:hidden;
    background:var(--bg-soft);
}
.ty-cart-rec-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:var(--transition);
}
.ty-cart-rec-item:hover .ty-cart-rec-img img { transform:scale(1.05); }
.ty-cart-rec-info {
    padding:12px 14px 14px;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.ty-cart-rec-name {
    font-size:13px;
    font-weight:500;
    color:var(--text-dark);
    text-decoration:none;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.ty-cart-rec-name:hover { color:var(--primary); }
.ty-cart-rec-price {
    font-size:14px;
    font-weight:700;
    color:var(--primary);
}
.ty-cart-rec-price del { font-size:12px; color:var(--text-light); margin-right:4px; }
.ty-cart-rec-add {
    display:block;
    text-align:center;
    padding:8px;
    margin-top:6px;
    background:var(--bg-soft);
    border:1px solid var(--border-light);
    border-radius:6px;
    font-size:12px;
    font-weight:600;
    color:var(--text-dark);
    text-decoration:none;
    transition:var(--transition);
}
.ty-cart-rec-add:hover {
    background:var(--primary);
    color:var(--white);
    border-color:var(--primary);
}

/* ===== EMPTY CART SUGGESTIONS ===== */
.ty-cart-empty-suggestions {
    margin-top:40px;
    width:100%;
    max-width:500px;
}
.ty-cart-empty-suggestions h4 {
    font-size:15px;
    font-weight:600;
    font-family:var(--body-font);
    color:var(--text-dark);
    margin:0 0 16px;
    text-align:left;
}
.ty-cart-empty-cats {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}
.ty-cart-empty-cat {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:8px;
    text-decoration:none;
    transition:var(--transition);
}
.ty-cart-empty-cat:hover {
    border-color:var(--primary);
    box-shadow:var(--shadow-sm);
    transform:translateY(-1px);
}
.ty-cart-empty-cat img {
    width:40px;
    height:40px;
    border-radius:6px;
    object-fit:cover;
}
.ty-cart-empty-cat span {
    font-size:13px;
    font-weight:600;
    color:var(--text-dark);
}

/* ===== MOBILE STICKY CART BAR ===== */
.ty-mobile-cart-bar,
.ty-mobile-checkout-bar {
    display:none;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:9999;
    background:var(--bg-white);
    border-top:1px solid var(--border-light);
    padding:12px 16px;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0));
    box-shadow:0 -4px 20px rgba(0,0,0,0.08);
    align-items:center;
    gap:12px;
}
.ty-mobile-cart-bar { justify-content:space-between; }
.ty-mobile-checkout-bar { justify-content:space-between; }
.ty-mobile-cart-bar-info,
.ty-mobile-checkout-bar-info {
    display:flex;
    flex-direction:column;
    gap:2px;
}
.ty-mobile-cart-bar-total,
.ty-mobile-checkout-bar-total {
    font-size:18px;
    font-weight:700;
    color:var(--primary);
}
.ty-mobile-cart-bar-total .woocommerce-Price-amount,
.ty-mobile-checkout-bar-total .woocommerce-Price-amount { color:var(--primary); }
.ty-mobile-cart-bar-count,
.ty-mobile-checkout-bar-count {
    font-size:12px;
    color:var(--text-light);
}
.ty-mobile-cart-bar-btn,
.ty-mobile-checkout-bar-btn {
    flex-shrink:0;
    padding:12px 32px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:8px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    text-decoration:none;
    transition:var(--transition);
    text-align:center;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
}
.ty-mobile-cart-bar-btn:hover,
.ty-mobile-checkout-bar-btn:hover {
    background:var(--primary-dark);
    transform:translateY(-1px);
    box-shadow:var(--shadow-primary);
}

@media (max-width:768px) {
    .ty-mobile-cart-bar { display:flex; }
    .ty-mobile-checkout-bar { display:flex; }
    .ty-cart-page .container { padding-bottom:90px !important; }
    .ty-checkout-page .container { padding-bottom:90px !important; }
}

/* ===== CHECKOUT NOTE ===== */
.ty-checkout-note { }
.ty-checkout-note-input {
    width:100%;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:8px;
    font-size:14px;
    outline:none;
    transition:var(--transition);
    background:var(--bg-white);
    color:var(--text-dark);
    font-family:var(--body-font);
    min-height:80px;
    resize:vertical;
}
.ty-checkout-note-input:focus {
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(214,51,80,0.08);
}

/* ===== CHECKOUT BADGES ===== */
.ty-checkout-badges {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--border-light);
}
.ty-checkout-badges .ty-checkout-security {
    justify-content:flex-start;
    margin-top:0;
}

/* ===== TRENDYOL-STYLE CART PAGE ===== */
.ty-cart-empty {
    text-align:center;
    padding:80px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
}
.ty-cart-empty h3 { font-size:22px; font-family:var(--body-font); margin:0; }
.ty-cart-empty p { color:var(--text-light); margin:0; }
.ty-cart-layout {
    display:grid;
    grid-template-columns:1fr 380px;
    gap:32px;
    align-items:start;
}
@media (max-width:1100px) { .ty-cart-layout { grid-template-columns:1fr; } }

.ty-cart-items {
    background:var(--bg-white);
    border-radius:12px;
    border:1px solid var(--border-light);
    overflow:hidden;
}
.ty-cart-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 24px;
    border-bottom:1px solid var(--border-light);
    background:var(--bg-soft);
}
.ty-cart-header-title { font-size:16px; font-weight:700; color:var(--text-dark); }
.ty-cart-header-count { font-size:13px; color:var(--text-light); }

.ty-cart-item {
    display:flex;
    gap:16px;
    padding:20px 24px;
    border-bottom:1px solid var(--border-light);
    position:relative;
    align-items:center;
    animation:cartItemIn 0.4s cubic-bezier(0.34,1.56,0.64,1);
    transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.ty-cart-item:last-child { border-bottom:none; }
.ty-cart-item.ty-cart-item-removing {
    opacity:0;
    transform:translateX(-40px) scale(0.96);
    max-height:0;
    padding:0 24px;
    overflow:hidden;
}
@keyframes cartItemIn {
    from { opacity:0; transform:translateY(16px); }
    to { opacity:1; transform:translateY(0); }
}
.ty-cart-item-remove {
    position:absolute;
    top:12px;
    right:12px;
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:var(--text-light);
    transition:var(--transition);
    z-index:2;
}
.ty-cart-item-remove:hover { background:var(--bg-soft); color:var(--primary); }
.ty-cart-item-image { width:100px; height:100px; flex-shrink:0; border-radius:8px; overflow:hidden; background:var(--bg-soft); }
.ty-cart-item-image img { width:100%; height:100%; object-fit:cover; }
.ty-cart-item-details { flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; padding-right:32px; }
.ty-cart-item-name { font-size:14px; font-weight:600; color:var(--text-dark); line-height:1.4; }
.ty-cart-item-name a { color:var(--text-dark); }
.ty-cart-item-name a:hover { color:var(--primary); }
.ty-cart-item-price { font-size:14px; font-weight:600; color:var(--primary); }
.ty-cart-item .variation { font-size:12px; color:var(--text-light); margin:0; display:flex; gap:4px; flex-wrap:wrap; }
.ty-cart-item .variation dt { font-weight:500; }
.ty-cart-item .variation dd { margin:0; }
.ty-cart-item-qty { flex-shrink:0; }
.ty-cart-qty-selector {
    display:flex;
    align-items:center;
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden;
    background:var(--bg-white);
}
.ty-qty-btn {
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:none;
    background:var(--bg-soft);
    color:var(--text-dark);
    cursor:pointer;
    transition:var(--transition);
    flex-shrink:0;
}
.ty-qty-btn:hover { background:var(--primary); color:var(--white); }
.ty-qty-input {
    width:48px;
    height:36px;
    border:none;
    text-align:center;
    font-size:14px;
    font-weight:600;
    outline:none;
    -moz-appearance:textfield;
    background:transparent;
}
.ty-qty-input::-webkit-outer-spin-button,
.ty-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ty-cart-qty-display { font-size:14px; font-weight:600; color:var(--text-dark); padding:0 10px; }
.ty-cart-item-total {
    font-size:16px;
    font-weight:700;
    color:var(--primary);
    min-width:80px;
    text-align:right;
    flex-shrink:0;
}

.ty-cart-actions {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 24px;
    border-top:1px solid var(--border-light);
    gap:12px;
    flex-wrap:wrap;
}
.ty-cart-coupon {
    display:flex;
    gap:8px;
    flex:1;
    min-width:200px;
}
.ty-coupon-input {
    flex:1;
    padding:10px 14px;
    border:1px solid var(--border);
    border-radius:8px;
    font-size:13px;
    outline:none;
    transition:var(--transition);
    height:40px;
}
.ty-coupon-input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(214,51,80,0.08); }
.ty-coupon-btn {
    padding:10px 20px;
    background:var(--text-dark);
    color:var(--white);
    border:none;
    border-radius:8px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition);
    height:40px;
    white-space:nowrap;
}
.ty-coupon-btn:hover { background:var(--primary); }
.ty-cart-update-btn {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:10px 20px;
    background:var(--bg-soft);
    color:var(--text-dark);
    border:1px solid var(--border);
    border-radius:8px;
    font-size:13px;
    font-weight:500;
    cursor:pointer;
    transition:var(--transition);
    height:40px;
}
.ty-cart-update-btn:hover { border-color:var(--primary); color:var(--primary); background:var(--bg-white); }

/* Cart Summary Sidebar */
.ty-cart-summary { position:relative; }
.ty-cart-summary-sticky {
    position:sticky;
    top:100px;
    background:var(--bg-white);
    border-radius:12px;
    border:1px solid var(--border-light);
    padding:24px;
    max-height:calc(100vh - 140px);
    overflow-y:auto;
}
.ty-cart-summary-title {
    font-size:17px;
    font-weight:700;
    font-family:var(--body-font);
    margin:0 0 20px;
    padding-bottom:16px;
    border-bottom:1px solid var(--border-light);
    color:var(--text-dark);
}
.ty-cart-summary-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 0;
    font-size:14px;
    color:var(--text-body);
}
.ty-cart-summary-coupon span:last-child { color:var(--primary); }
.ty-cart-summary-divider { height:1px; background:var(--border-light); margin:12px 0; }
.ty-cart-summary-total { font-size:17px; font-weight:700; color:var(--text-dark); padding:12px 0; }
.ty-cart-summary-total .woocommerce-Price-amount { color:var(--primary); }
.ty-cart-checkout-btn {
    margin-top:16px;
    padding:14px;
    font-size:15px;
}
.ty-cart-continue {
    display:block;
    text-align:center;
    margin-top:14px;
    font-size:13px;
    color:var(--text-light);
    text-decoration:none;
}
.ty-cart-continue:hover { color:var(--primary); }

/* Cart shipping */
.ty-cart-summary .shipping { font-size:13px; }
.ty-cart-summary .shipping td, 
.ty-cart-summary .shipping th { padding:4px 0; border:none; display:block; }
.ty-cart-summary .shipping th { font-weight:500; color:var(--text-body); font-size:14px; }
.ty-cart-summary .shipping ul { list-style:none; padding:0; margin:4px 0; }
.ty-cart-summary .shipping li { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:13px; }
.ty-cart-summary .shipping input[type="radio"] { accent-color:var(--primary); }

/* ===== TRENDYOL-STYLE CHECKOUT PAGE ===== */
.ty-checkout-login-msg {
    text-align:center;
    padding:60px 20px;
    font-size:16px;
    color:var(--text-body);
}
.ty-checkout-layout {
    display:grid;
    grid-template-columns:1fr 400px;
    gap:32px;
    align-items:start;
}
@media (max-width:1100px) { .ty-checkout-layout { grid-template-columns:1fr; } }

.ty-checkout-section {
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:12px;
    padding:28px;
    margin-bottom:24px;
}
.ty-checkout-section-title {
    font-size:17px;
    font-weight:700;
    font-family:var(--body-font);
    color:var(--text-dark);
    margin:0 0 24px;
    padding-bottom:16px;
    border-bottom:1px solid var(--border-light);
}

.ty-checkout-fields { display:grid; gap:24px; }
.ty-checkout-fields .form-row { margin:0 0 16px; display:block; }
.ty-checkout-fields .form-row label { display:block; font-size:13px; font-weight:600; color:var(--text-dark); margin-bottom:6px; }
.ty-checkout-fields .form-row input,
.ty-checkout-fields .form-row select,
.ty-checkout-fields .form-row textarea {
    width:100%;
    padding:11px 14px;
    border:1px solid var(--border);
    border-radius:8px;
    font-size:14px;
    outline:none;
    transition:var(--transition);
    background:var(--bg-white);
    color:var(--text-dark);
    font-family:var(--body-font);
}
.ty-checkout-fields .form-row input:focus,
.ty-checkout-fields .form-row select:focus,
.ty-checkout-fields .form-row textarea:focus {
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(214,51,80,0.08);
}
.ty-checkout-fields .form-row .select2-selection {
    border:1px solid var(--border);
    border-radius:8px;
    padding:11px 14px;
    height:auto;
    font-size:14px;
}
.ty-checkout-fields .form-row .select2-selection:focus { border-color:var(--primary); }
.ty-checkout-fields .form-row textarea { min-height:80px; resize:vertical; }
.ty-checkout-fields .form-row .woocommerce-input-wrapper { display:block; }
.ty-checkout-fields .form-row-first,
.ty-checkout-fields .form-row-last { width:48%; float:none; display:inline-block; }
.ty-checkout-fields .form-row-first { margin-right:3%; }
.ty-checkout-fields .form-row-wide { clear:both; }
.ty-checkout-fields .clear { clear:both; }

/* Checkout review / payment */
.ty-checkout-review { }
.ty-checkout-review .woocommerce-checkout-review-order-table { display:none; }
.ty-checkout-review .shop_table { width:100%; border-collapse:collapse; margin-bottom:20px; }
.ty-checkout-review .shop_table th,
.ty-checkout-review .shop_table td { padding:8px 0; border-bottom:1px solid var(--border-light); font-size:14px; text-align:left; }
.ty-checkout-review .shop_table th { font-weight:600; color:var(--text-dark); }
.ty-checkout-review .shop_table .order-total { font-size:16px; font-weight:700; }
.ty-checkout-review .shop_table .order-total td { color:var(--primary); }

.woocommerce-checkout-payment {
    background:var(--bg-soft);
    border-radius:8px;
    padding:20px;
}
.woocommerce-checkout-payment ul { list-style:none; padding:0; margin:0; }
.woocommerce-checkout-payment li { padding:10px 0; border-bottom:1px solid var(--border-light); }
.woocommerce-checkout-payment li:last-child { border-bottom:none; }
.woocommerce-checkout-payment .payment_box { background:var(--bg-white); padding:14px; border-radius:8px; margin-top:8px; font-size:13px; color:var(--text-body); }
.woocommerce-checkout-payment input[type="radio"] { accent-color:var(--primary); margin-right:8px; }
.woocommerce-checkout-payment label { font-weight:500; color:var(--text-dark); font-size:14px; cursor:pointer; }
.woocommerce-checkout-payment .place-order { padding-top:20px; }
.woocommerce-checkout-payment .button.alt {
    display:block;
    width:100%;
    padding:14px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition-spring);
}
.woocommerce-checkout-payment .button.alt:hover {
    background:var(--primary-dark);
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(214,51,80,0.3);
}
.woocommerce-checkout-payment .button.alt:disabled {
    opacity:0.6;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}
.woocommerce-checkout-payment .wc-terms-and-conditions { font-size:13px; margin-bottom:16px; }
.woocommerce-checkout-payment .wc-terms-and-conditions input { accent-color:var(--primary); }
.woocommerce-checkout-payment .woocommerce-privacy-policy-text { font-size:12px; color:var(--text-light); margin-bottom:16px; }

/* Checkout sidebar */
.ty-checkout-sidebar { position:relative; }
.ty-checkout-sidebar-sticky { position:sticky; top:100px; }
.ty-checkout-minicart {
    background:var(--bg-white);
    border:1px solid var(--border-light);
    border-radius:12px;
    padding:24px;
}
.ty-checkout-minicart-title {
    font-size:17px;
    font-weight:700;
    font-family:var(--body-font);
    margin:0 0 20px;
    padding-bottom:16px;
    border-bottom:1px solid var(--border-light);
    color:var(--text-dark);
}
.ty-checkout-minicart-items { list-style:none; padding:0; margin:0; }
.ty-checkout-minicart-item {
    display:flex;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid var(--border-light);
    align-items:flex-start;
}
.ty-checkout-minicart-item:last-child { border-bottom:none; }
.ty-checkout-minicart-img {
    position:relative;
    width:56px;
    height:56px;
    flex-shrink:0;
    border-radius:8px;
    overflow:hidden;
    background:var(--bg-soft);
}
.ty-checkout-minicart-img img { width:100%; height:100%; object-fit:cover; }
.ty-checkout-minicart-qty {
    position:absolute;
    top:-6px;
    right:-6px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--primary);
    color:var(--white);
    font-size:10px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--white);
}
.ty-checkout-minicart-info {
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.ty-checkout-minicart-name { font-size:13px; font-weight:500; color:var(--text-dark); line-height:1.3; }
.ty-checkout-minicart-price { font-size:13px; font-weight:600; color:var(--primary); }

.ty-checkout-minicart-totals { margin-top:16px; padding-top:12px; border-top:1px solid var(--border-light); }
.ty-checkout-minicart-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 0;
    font-size:14px;
    color:var(--text-body);
}
.ty-checkout-minicart-divider { height:1px; background:var(--border-light); margin:8px 0; }
.ty-checkout-minicart-total { font-size:17px; font-weight:700; color:var(--text-dark); }
.ty-checkout-minicart-total .woocommerce-Price-amount { color:var(--primary); }

.ty-checkout-payment-icons {
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid var(--border-light);
    text-align:center;
}
.ty-checkout-payment-icons p { font-size:12px; color:var(--text-light); margin:0 0 10px; font-weight:500; text-transform:uppercase; letter-spacing:0.5px; }
.ty-payment-icons { display:flex; justify-content:center; gap:8px; }
.ty-payment-icons svg { border-radius:4px; transition:var(--transition-spring); cursor:pointer; }
.ty-payment-icons svg:hover { transform:translateY(-3px) scale(1.06); box-shadow:0 4px 12px rgba(0,0,0,0.15); }

.ty-checkout-security {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--border-light);
    font-size:12px;
    color:var(--text-light);
    text-align:center;
}

/* Checkout shipping */
.ty-checkout-minicart .shipping { font-size:13px; }
.ty-checkout-minicart .shipping td, 
.ty-checkout-minicart .shipping th { padding:4px 0; border:none; display:block; }
.ty-checkout-minicart .shipping th { font-weight:500; color:var(--text-body); font-size:14px; }
.ty-checkout-minicart .shipping ul { list-style:none; padding:0; margin:4px 0; }
.ty-checkout-minicart .shipping li { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:13px; }
.ty-checkout-minicart .shipping input[type="radio"] { accent-color:var(--primary); }

/* Toast notification */
.ty-toast-container {
    position:fixed;
    top:20px;
    right:20px;
    z-index:99999;
    display:flex;
    flex-direction:column;
    gap:10px;
    pointer-events:none;
}
.ty-toast {
    pointer-events:auto;
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 20px;
    background:var(--text-dark);
    color:var(--white);
    border-radius:12px;
    box-shadow:var(--shadow-lg);
    font-size:14px;
    font-weight:500;
    min-width:280px;
    max-width:420px;
    animation:toastIn 0.35s cubic-bezier(0.34,1.56,0.64,1);
    transition:var(--transition);
}
.ty-toast.ty-toast-success { background:#1e7e34; }
.ty-toast.ty-toast-error { background:#dc3545; }
.ty-toast.ty-toast-info { background:var(--primary); }
.ty-toast.ty-toast-removing {
    opacity:0;
    transform:translateX(60px);
}
.ty-toast-icon { flex-shrink:0; width:20px; height:20px; display:flex; align-items:center; justify-content:center; }
.ty-toast-close {
    margin-left:auto;
    flex-shrink:0;
    cursor:pointer;
    opacity:0.6;
    transition:var(--transition);
    border:none;
    background:none;
    color:inherit;
    padding:2px;
}
.ty-toast-close:hover { opacity:1; }
@keyframes toastIn {
    from { opacity:0; transform:translateX(60px) scale(0.96); }
    to { opacity:1; transform:translateX(0) scale(1); }
}

/* Notice styles */
.woocommerce-notices-wrapper { margin-bottom:16px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border-radius:8px;
    padding:12px 16px 12px 44px;
    margin-bottom:12px;
    border:none;
    font-size:13px;
    line-height:1.6;
    position:relative;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top:12px; left:14px; }

/* ===== TRENDYOL-STYLE ARCHIVE ===== */
.ty-archive { padding-bottom: 60px; }

/* Category Banner */
.ty-cat-banner {
    background-size: cover;
    background-position: center;
    padding: 80px 0 60px;
    position: relative;
    color: #fff;
}
.ty-cat-banner .woocommerce-breadcrumb,
.ty-cat-banner .breadcrumb {
    color: rgba(255,255,255,0.75);
    font-size: 13px;
    margin-bottom: 12px;
}
.ty-cat-banner .woocommerce-breadcrumb a,
.ty-cat-banner .breadcrumb a { color: rgba(255,255,255,0.75); }
.ty-cat-banner .woocommerce-breadcrumb a:hover,
.ty-cat-banner .breadcrumb a:hover { color: #fff; }
.ty-cat-banner .breadcrumb .current,
.ty-cat-banner .breadcrumb .breadcrumb_last { color: #fff; font-weight: 500; }
.ty-cat-banner .breadcrumb .sep { color: rgba(255,255,255,0.4); }
.ty-cat-banner-content { position: relative; z-index: 1; }
.ty-cat-title {
    font-size: clamp(28px, 3.5vw, 38px);
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    font-family: var(--body-font);
}
.ty-cat-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    max-width: 600px;
    margin: 0 0 12px;
    line-height: 1.6;
}
.ty-cat-count {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: rgba(255,255,255,0.8);
    background: rgba(255,255,255,0.12);
    padding: 4px 14px;
    border-radius: 20px;
    backdrop-filter: blur(4px);
}

/* Category Header (no image) */
.ty-cat-header {
    background: var(--bg-soft);
    border-bottom: 1px solid var(--border-light);
    padding: 24px 0 20px;
}
.ty-cat-breadcrumb { font-size: 13px; margin-bottom: 10px; }
.ty-cat-breadcrumb a { color: var(--text-light); }
.ty-cat-breadcrumb a:hover { color: var(--primary); }
.ty-cat-breadcrumb .breadcrumb_last,
.ty-cat-breadcrumb .current { color: var(--primary); font-weight: 500; }
.ty-cat-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}
.ty-cat-title-sm {
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 700;
    color: var(--heading-color);
    margin: 0;
    font-family: var(--body-font);
}
.ty-cat-desc-sm {
    font-size: 14px;
    color: var(--text-body);
    margin: 6px 0 0;
    max-width: 600px;
}
.ty-cat-count-badge {
    font-size: 13px;
    color: var(--text-light);
    background: var(--bg-white);
    padding: 6px 18px;
    border-radius: 20px;
    border: 1px solid var(--border-light);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Subcategory Chips */
.ty-subcats {
    background: var(--bg-white);
    border-bottom: 1px solid var(--border-light);
    padding: 16px 0;
}
.ty-subcats-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}
.ty-subcats-scroll::-webkit-scrollbar { height: 4px; }
.ty-subcats-scroll::-webkit-scrollbar-track { background: transparent; }
.ty-subcats-scroll::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
.ty-subcat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 80px;
    padding: 8px 14px;
    border-radius: 12px;
    border: 1px solid var(--border-light);
    background: var(--bg-white);
    text-decoration: none;
    transition: var(--transition-spring);
    scroll-snap-align: start;
    flex-shrink: 0;
}
.ty-subcat-item:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 12px rgba(214,51,80,0.1);
    transform: translateY(-2px);
}
.ty-subcat-img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-color: var(--bg-soft);
    flex-shrink: 0;
}
.ty-subcat-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
}
.ty-subcat-name {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-dark);
    text-align: center;
    line-height: 1.3;
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Toolbar */
.ty-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-light);
    margin-bottom: 20px;
    gap: 12px;
    flex-wrap: wrap;
}
.ty-toolbar-left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.ty-toolbar-right { display: flex; align-items: center; }
.ty-filter-toggle {
    display: none;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-white);
    color: var(--text-dark);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}
.ty-filter-toggle:hover { border-color: var(--primary); color: var(--primary); }
.ty-filter-toggle.active { background: var(--primary); color: var(--white); border-color: var(--primary); }
.ty-result-count { font-size: 14px; color: var(--text-light); }
.ty-result-count .woocommerce-result-count { margin: 0; }

/* Active Filters */
.ty-active-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0 16px;
}
.ty-active-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-dark);
}
.ty-filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: var(--bg-soft);
    border: 1px solid var(--border-light);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-body);
    text-decoration: none;
    transition: var(--transition);
}
.ty-filter-tag:hover {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}
.ty-filter-tag svg { flex-shrink: 0; }
.ty-filter-clear {
    font-size: 12px;
    color: var(--primary);
    font-weight: 500;
    text-decoration: underline;
    margin-left: 4px;
}
.ty-filter-clear:hover { color: var(--primary-dark); }

/* ===== FILTER OVERLAY (mobile/tablet) ===== */
.ty-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}
.ty-filter-overlay.visible { opacity: 1; visibility: visible; pointer-events: auto; }

/* Filter count badge on toggle button */
.ty-filter-count {
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}
.ty-filter-count.visible { display: inline-flex; }

/* ===== MOBILE FILTER BOTTOM SHEET (≤992px) ===== */
@media (max-width:992px) {
    .ty-filter-toggle { display: inline-flex; }
    .shop-sidebar {
        position: fixed;
        left: 0; right: 0; bottom: 0;
        top: auto;
        width: 100%;
        max-width: 100%;
        height: 85vh;
        max-height: 85vh;
        z-index: 9999;
        background: var(--bg-white);
        border-radius: 16px 16px 0 0;
        transform: translateY(100%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        box-shadow: 0 -8px 40px rgba(0,0,0,0.18);
    }
    .shop-sidebar.ty-filter-open {
        transform: translateY(0);
    }

    /* Header */
    .ty-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
        padding: 16px 20px;
        border-bottom: 1px solid var(--border-light);
        background: var(--bg-white);
    }
    .ty-filter-header-title {
        font-size: 17px;
        font-weight: 700;
        color: var(--text-dark);
    }
    .ty-filter-header-actions {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .ty-filter-header-clear {
        font-size: 13px;
        color: var(--primary);
        font-weight: 500;
        text-decoration: none;
    }
    .ty-filter-header-clear:hover { text-decoration: underline; }
    .ty-filter-header-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: none;
        background: var(--bg-soft);
        border-radius: 50%;
        font-size: 20px;
        color: var(--text-dark);
        cursor: pointer;
        transition: var(--transition);
    }
    .ty-filter-header-close:hover { background: var(--border-light); }

    /* Scrollable body */
    .ty-filter-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
    .shop-sidebar .widget {
        margin: 0;
        padding: 16px 20px;
        border-radius: 0;
        border-bottom: 1px solid var(--border-light);
    }
    .shop-sidebar .widget:last-child { border-bottom: none; }

    /* Footer with apply button */
    .ty-filter-footer {
        flex-shrink: 0;
        padding: 12px 20px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
        border-top: 1px solid var(--border-light);
        background: var(--bg-white);
    }
    .ty-filter-apply {
        display: block;
        width: 100%;
        padding: 15px;
        background: var(--primary);
        color: #fff;
        border: none;
        border-radius: 12px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
        text-align: center;
    }
    .ty-filter-apply:hover { background: var(--primary-dark); }
    .ty-filter-apply:active { transform: scale(0.98); }

    .shop-content { position: relative; }
    body.ty-filter-open { overflow: hidden; }

    /* Mobile-only elements */
}

/* ===== DESKTOP (≥993px) ===== */
@media (min-width:993px) {
    .ty-filter-header,
    .ty-filter-footer,
    .ty-filter-apply { display: none; }
    .ty-filter-toggle { display: none; }
}

/* Empty state */
.ty-empty {
    text-align: center;
    padding: 80px 20px;
}
.ty-empty p {
    font-size: 16px;
    color: var(--text-light);
    margin-bottom: 24px;
}

@media (max-width:768px) {
    .ty-cat-banner { padding: 30px 0 24px; }
    .ty-cat-header { padding: 14px 0 10px; }
    .ty-cat-header-row { flex-direction: column; gap: 8px; }
    .ty-cat-title-sm { font-size: clamp(18px, 4vw, 22px); }
    .ty-cat-desc-sm { font-size: 13px; margin: 4px 0 0; }
    .ty-cat-count-badge { font-size: 12px; padding: 4px 14px; }
    .ty-cat-breadcrumb { font-size: 12px; margin-bottom: 6px; }
    .ty-subcats { padding: 10px 0; }
    .ty-subcat-item { min-width: 64px; padding: 4px 8px; gap: 4px; }
    .ty-subcat-img { width: 32px; height: 32px; }
    .ty-subcat-name { font-size: 10px; max-width: 56px; }
    .ty-active-filters { gap: 6px; padding: 8px 0 12px; }
    .ty-toolbar { padding: 8px 0; margin-bottom: 12px; }
    .ty-filter-toggle { font-size: 12px; padding: 6px 12px; }
    .ty-result-count { font-size: 12px; }
}

@media (max-width:480px) {
    .ty-cat-banner { padding: 24px 0 18px; }
    .ty-cat-header { padding: 10px 0 8px; }
    .ty-subcats { padding: 6px 0; }
    .ty-subcat-name { display: none; }
    .ty-toolbar { flex-direction: column; align-items: stretch; gap: 6px; }
    .ty-toolbar-left { justify-content: space-between; }
    .ty-toolbar { padding: 6px 0; margin-bottom: 8px; }
}

/* ===== WOOCOMMERCE - SHOP ARCHIVE ===== */
.archive-top {
    background:var(--bg-soft);
    border-bottom:1px solid var(--border-light);
    padding:28px 0 24px;
}
.archive-top-inner { max-width:var(--container); margin:0 auto; padding:0 24px; }
.archive-breadcrumbs { font-size:13px; color:var(--text-light); margin-bottom:8px; }
.archive-breadcrumbs a { color:var(--text-light); }
.archive-breadcrumbs a:hover { color:var(--primary); }
.archive-breadcrumbs .breadcrumb_last { color:var(--primary); font-weight:500; }
.archive-title {
    font-size:clamp(24px,3vw,32px);
    color:var(--heading-color);
    font-weight:700;
    margin:0;
    letter-spacing:-0.5px;
}
.archive-desc { color:var(--text-body); font-size:15px; margin-top:8px; max-width:600px; }

.shop-content { display:grid; grid-template-columns:260px 1fr; gap:36px; align-items:start; }
@media (max-width:992px) { .shop-content { grid-template-columns:1fr; } }

/* Shop Toolbar */
.shop-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 0;
    border-bottom:1px solid var(--border-light);
    margin-bottom:24px;
    flex-wrap:wrap;
    gap:12px;
}
.woocommerce .woocommerce-result-count {
    font-size:14px;
    color:var(--text-light);
    margin:0;
}
.woocommerce .woocommerce-ordering { margin:0; }
.woocommerce .woocommerce-ordering select {
    padding:10px 40px 10px 16px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    font-size:13px;
    background:var(--bg-white);
    cursor:pointer;
    outline:none;
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8ea0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 12px center;
    transition:var(--transition);
    color:var(--text-body);
}
.woocommerce .woocommerce-ordering select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(214,51,80,0.08); }

/* Product Grid */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px; margin:0; padding:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce li.product { width:100% !important; margin:0 !important; padding:0; list-style:none; clear:none !important; float:none !important; }

/* ===== PRODUCT CARD (Trendyol-style) ===== */
.product-card-inner {
    background:var(--bg-card);
    border:1px solid var(--border-light);
    border-radius:8px;
    overflow:hidden;
    transition:var(--transition-spring);
    height:100%;
    display:flex;
    flex-direction:column;
    position:relative;
}
.product-card-inner:hover {
    box-shadow:0 4px 20px rgba(26,26,46,0.08);
    border-color:var(--border);
}

/* Product Image */
.product-card-image {
    position:relative;
    overflow:hidden;
    background:#fafafa;
    aspect-ratio:1;
    display:flex;
    align-items:center;
    justify-content:center;
}
.product-card-link { display:block; width:100%; height:100%; }
.product-card-image .product-card-img-primary {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:opacity 0.35s ease;
}
.product-card-image .product-card-img-hover {
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity 0.35s ease;
}
.product-card-inner:hover .product-card-img-primary { opacity:0; }
.product-card-inner:hover .product-card-img-hover { opacity:1; }

/* Favorite / Wishlist Heart */
.product-card-fav {
    position:absolute;
    top:10px;
    right:10px;
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,0.9);
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--text-light);
    transition:var(--transition-spring);
    z-index:3;
    box-shadow:0 2px 8px rgba(0,0,0,0.06);
    backdrop-filter:blur(4px);
}
.product-card-fav:hover {
    color:var(--primary);
    transform:scale(1.1);
    background:var(--white);
}
.product-card-fav.active { color:var(--primary); }

/* Product Badges */
.product-badge {
    position:absolute;
    top:10px;
    left:10px;
    padding:3px 10px;
    font-size:11px;
    font-weight:700;
    z-index:2;
    border-radius:4px;
}
.sale-badge { background:var(--primary); color:var(--white); }
.out-of-stock-badge { background:var(--text-dark); color:var(--white); }

/* Add to Cart Overlay (hover reveal) */
.product-card-overlay {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:12px;
    background:linear-gradient(transparent, rgba(0,0,0,0.15));
    opacity:0;
    transform:translateY(8px);
    transition:var(--transition-spring);
    z-index:2;
}
.product-card-inner:hover .product-card-overlay {
    opacity:1;
    transform:translateY(0);
}
.product-card-add-cart {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    padding:10px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:6px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition);
    text-decoration:none;
    box-shadow:0 4px 12px rgba(214,51,80,0.25);
}
.product-card-add-cart:hover {
    background:var(--primary-dark);
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(214,51,80,0.35);
    color:var(--white);
}

/* Product Card Body */
.product-card-body {
    padding:12px 14px 14px;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.product-card-category {
    font-size:11px;
    color:var(--text-light);
    text-transform:uppercase;
    letter-spacing:0.4px;
    font-weight:500;
    margin-bottom:2px;
}
.product-card-category a { color:var(--text-light); }
.product-card-category a:hover { color:var(--primary); }
.product-card-title {
    font-size:14px;
    font-weight:500;
    color:var(--text-dark);
    margin:0;
    line-height:1.4;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:2.8em;
}
.product-card-title a { color:var(--text-dark); }
.product-card-title a:hover { color:var(--primary); }

/* Rating */
.product-card-rating {
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:2px;
}
.product-card-stars { line-height:1; }
.product-card-stars .star-rating { margin:0; float:none; width:5em; font-size:11px; }
.product-card-stars .star-rating::before { color:var(--border); }
.product-card-stars .star-rating span::before { color:var(--secondary); }
.product-card-review-count { font-size:11px; color:var(--text-light); }

/* Price */
.product-card-price {
    font-size:16px;
    font-weight:700;
    color:var(--primary);
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:4px;
    flex-wrap:wrap;
}
.product-card-price .price { color:var(--primary); font-weight:700; margin:0; font-size:16px; }
.product-card-price del { color:var(--text-light); font-size:12px; font-weight:400; }
.product-card-price ins { text-decoration:none; }

/* Variable product color dots */
.product-card-colors {
    display:flex;
    align-items:center;
    gap:4px;
    margin-top:6px;
}
.product-card-color-dot {
    width:14px; height:14px;
    border-radius:50%;
    border:1px solid rgba(0,0,0,0.06);
    display:inline-block;
}
.product-card-color-more {
    font-size:11px;
    color:var(--text-light);
    margin-left:2px;
}

/* Sidebar */
@media (min-width:993px) { .shop-sidebar { position:sticky; top:100px; } }
.shop-sidebar .widget {
    background:var(--bg-card);
    padding:0;
    border-radius:var(--radius);
    margin-bottom:16px;
    border:1px solid var(--border);
    overflow:hidden;
    transition:var(--transition);
}
.shop-sidebar .widget:hover { border-color:rgba(214,51,80,0.15); box-shadow:var(--shadow-sm); }
.shop-sidebar .widget .widget-title {
    font-size:14px;
    font-weight:700;
    padding:16px 20px 12px;
    margin:0 0 6px;
    border-bottom:1px solid var(--border-light);
    color:var(--heading-color);
    letter-spacing:-0.2px;
    text-transform:uppercase;
}
.shop-sidebar .widget ul { list-style:none; padding:4px 0; margin:0; }
.shop-sidebar .widget ul li { padding:0; border-bottom:1px solid var(--border-light); }
.shop-sidebar .widget ul li:last-child { border-bottom:none; }
.shop-sidebar .widget ul li a {
    color:var(--text-body);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 20px;
    font-size:14px;
    transition:var(--transition);
    gap:8px;
}
.shop-sidebar .widget ul li a:hover { color:var(--primary); background:var(--bg-soft); padding-left:24px; }
.shop-sidebar .widget .count {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 7px;
    border-radius:11px;
    background:var(--bg-light);
    color:var(--text-light);
    font-size:11px;
    font-weight:600;
    line-height:1;
    transition:var(--transition);
}
.shop-sidebar .widget ul li a:hover .count {
    background:rgba(214,51,80,0.1);
    color:var(--primary);
}

/* Widget children padding */
.shop-sidebar .widget ul.children { padding-left:16px; }
.shop-sidebar .widget ul.children li a { padding-left:16px; font-size:13px; }

/* Price Filter */
.shop-sidebar .widget_price_filter .price_slider_wrapper .ui-widget-content { background:var(--border); }
.shop-sidebar .widget_price_filter .ui-slider .ui-slider-range { background:var(--primary); }
.shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle { background:var(--primary); width:16px; height:16px; top:-6px; }
.shop-sidebar .widget_price_filter .price_slider_amount { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.shop-sidebar .widget_price_filter .price_slider_amount .button {
    padding:8px 18px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:6px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition);
}
.shop-sidebar .widget_price_filter .price_slider_amount .button:hover { background:var(--primary-dark); }

/* WooCommerce widget layared nav - checkbox style */
.shop-sidebar .widget_layered_nav ul li a { display:flex !important; }
.shop-sidebar .widget_layered_nav ul li.chosen a { color:var(--primary); font-weight:600; background:var(--bg-soft); }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top:40px; }
.woocommerce nav.woocommerce-pagination ul { border:none; gap:4px; }
.woocommerce nav.woocommerce-pagination ul li { border:none; margin:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    border-radius:6px;
    border:1px solid var(--border);
    font-size:13px;
    font-weight:500;
    color:var(--text-body);
    background:var(--bg-white);
    transition:var(--transition-spring);
}
.woocommerce nav.woocommerce-pagination ul li a:hover { background:var(--bg-soft); border-color:var(--primary); color:var(--primary); }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--primary); color:var(--white); border-color:var(--primary); }

/* ===== WOOCOMMERCE SINGLE PRODUCT (Trendyol-style) ===== */
.sp-wrap {
    padding:16px 0 60px;
    background:var(--bg-white);
}
.sp-breadcrumb { font-size:13px; color:var(--text-light); margin-bottom:16px; }
.sp-breadcrumb a { color:var(--text-light); }
.sp-breadcrumb a:hover { color:var(--primary); }

.sp-layout {
    display:grid;
    grid-template-columns:1fr 480px;
    gap:40px;
    align-items:start;
}
@media (max-width:1024px) { .sp-layout { grid-template-columns:1fr; gap:24px; } }

/* Gallery */
.sp-gallery {
    position:sticky;
    top:100px;
}
@media (max-width:768px) {
    .sp-gallery { position:relative; top:auto; }
}

.sp-gallery-main {
    position:relative;
    background:#fafafa;
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--border-light);
    margin-bottom:12px;
}
.sp-gallery-badges {
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    display:flex;
    gap:6px;
    flex-direction:column;
}
.sp-badge {
    padding:4px 12px;
    font-size:11px;
    font-weight:700;
    border-radius:6px;
    letter-spacing:0.3px;
    text-transform:uppercase;
}
.sp-badge-sale { background:var(--primary); color:var(--white); }
.sp-badge-stock { background:var(--text-dark); color:var(--white); }
.sp-badge-featured { background:var(--secondary); color:var(--text-dark); }

.sp-gallery-slider { position:relative; }
.sp-slide { display:none; }
.sp-slide.active { display:block; }
.sp-slide img { width:100%; height:auto; display:block; }

.sp-slide-prev,
.sp-slide-next {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(255,255,255,0.9);
    border:1px solid var(--border-light);
    color:var(--text-dark);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:var(--transition);
    opacity:0;
    z-index:3;
    box-shadow:var(--shadow-sm);
}
.sp-gallery-main:hover .sp-slide-prev,
.sp-gallery-main:hover .sp-slide-next { opacity:1; }
.sp-slide-prev { left:12px; }
.sp-slide-next { right:12px; }
.sp-slide-prev:hover,
.sp-slide-next:hover { background:var(--white); color:var(--primary); box-shadow:var(--shadow-md); }

.sp-thumbs {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
}
.sp-thumb {
    border-radius:8px;
    overflow:hidden;
    cursor:pointer;
    border:2px solid var(--border-light);
    transition:var(--transition);
    background:#fafafa;
    aspect-ratio:1;
}
.sp-thumb:hover { border-color:var(--primary-light); }
.sp-thumb.active { border-color:var(--primary); box-shadow:0 0 0 3px rgba(214,51,80,0.1); }
.sp-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

/* Info - Right Side */
.sp-info { display:flex; flex-direction:column; gap:12px; }
.sp-category {
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    font-weight:600;
    color:var(--text-light);
}
.sp-category a { color:var(--text-light); }
.sp-category a:hover { color:var(--primary); }

.sp-title {
    font-size:clamp(20px,2.2vw,26px);
    font-weight:700;
    color:var(--heading-color);
    margin:0;
    line-height:1.25;
    letter-spacing:-0.3px;
}

.sp-rating {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    font-size:13px;
}
.sp-stars .star-rating { margin:0; float:none; }
.sp-stars .star-rating::before { color:var(--border); }
.sp-stars .star-rating span::before { color:var(--secondary); }
.sp-review-link { color:var(--text-light); font-size:13px; text-decoration:none; }
.sp-review-link:hover { color:var(--primary); }
.sp-sku { color:var(--text-light); font-size:12px; margin-left:auto; }

.sp-price {
    font-size:clamp(24px,2.5vw,30px);
    font-weight:700;
    color:var(--primary);
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 0;
}
.sp-price .price { color:var(--primary); font-weight:700; margin:0; }
.sp-price del { color:var(--text-light); font-size:18px; font-weight:400; }
.sp-price ins { text-decoration:none; }

.sp-desc {
    color:var(--text-body);
    font-size:14px;
    line-height:1.7;
    padding:12px 0;
    border-top:1px solid var(--border-light);
    border-bottom:1px solid var(--border-light);
}

.sp-variations .cart { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.sp-variations .quantity { margin:0; }
.sp-variations .quantity {
    display:inline-flex;
    align-items:center;
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden;
    background:var(--bg-white);
}
.sp-variations .quantity input {
    width:52px;
    height:46px;
    border:none;
    text-align:center;
    font-size:14px;
    font-weight:600;
    outline:none;
    background:transparent;
    -moz-appearance:textfield;
}
.sp-variations .quantity input::-webkit-outer-spin-button,
.sp-variations .quantity input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.sp-variations .quantity .qty-minus,
.sp-variations .quantity .qty-plus {
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:46px;
    border:none;
    background:var(--bg-soft);
    color:var(--text-dark);
    cursor:pointer;
    font-size:18px;
    font-weight:500;
    transition:var(--transition);
}
.sp-variations .quantity .qty-minus:hover,
.sp-variations .quantity .qty-plus:hover { background:var(--primary); color:var(--white); }
.sp-variations .single_add_to_cart_button {
    height:48px;
    padding:0 40px;
    background:var(--primary);
    color:var(--white);
    border:none;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:var(--transition);
    flex:1;
    min-width:180px;
    letter-spacing:0.3px;
}
.sp-variations .single_add_to_cart_button:hover {
    background:var(--primary-dark);
    box-shadow:0 6px 20px rgba(214,51,80,0.3);
}

/* Features */
.sp-features {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    padding:16px 0;
    border-top:1px solid var(--border-light);
}
.sp-feature {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:500;
    color:var(--text-body);
    padding:8px 12px;
    background:var(--bg-soft);
    border-radius:8px;
}
.sp-feature svg { flex-shrink:0; }

/* Meta */
.sp-meta .product_meta {
    display:flex;
    flex-wrap:wrap;
    gap:4px 8px;
    font-size:13px;
    color:var(--text-light);
    padding:14px 0 10px;
    border-top:1px solid var(--border-light);
    margin-top:4px;
}
.sp-meta .product_meta > span {
    display:inline-flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.sp-meta .product_meta .sku-wrapper .sku { color:var(--text-body); font-weight:500; }
.sp-meta .product_meta a {
    display:inline-block;
    padding:2px 10px;
    background:var(--bg-soft);
    border:1px solid var(--border-light);
    border-radius:var(--radius-sm);
    color:var(--text-body);
    font-size:12px;
    transition:var(--transition);
    text-decoration:none;
}
.sp-meta .product_meta a:hover {
    background:var(--primary);
    border-color:var(--primary);
    color:var(--white);
}
.sp-meta .product_meta .posted_in a,
.sp-meta .product_meta .tagged_as a {
    display:inline-block;
    margin:2px 0;
}

/* Share */
.sp-share {
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 0 0;
    font-size:13px;
    font-weight:500;
    color:var(--text-body);
}
.sp-share a {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid var(--border-light);
    transition:var(--transition);
}
.sp-share a:hover { border-color:var(--primary); transform:translateY(-2px); box-shadow:var(--shadow-sm); }

/* Marketplace */
.sp-marketplace {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    padding:10px 0 0;
    font-size:13px;
    font-weight:500;
    color:var(--text-body);
}
.sp-marketplace-link {
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 10px 4px 6px;
    border:1px solid var(--border-light);
    border-radius:var(--radius-sm);
    text-decoration:none;
    font-size:12px;
    font-weight:500;
    color:var(--text-body);
    transition:var(--transition);
}
.sp-marketplace-link:hover {
    border-color:var(--primary);
    background:var(--bg-soft);
    transform:translateY(-1px);
    box-shadow:var(--shadow-sm);
}
.sp-marketplace-link svg {
    width:20px;
    height:20px;
    flex-shrink:0;
    border-radius:3px;
}
.sp-marketplace-name { white-space:nowrap; }

/* Tabs */
.sp-tabs { margin-top:40px; }
.woocommerce-tabs {
    background:var(--bg-card);
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--border-light);
}
.woocommerce-tabs ul.tabs {
    display:flex;
    border-bottom:1px solid var(--border-light);
    padding:0;
    margin:0;
    background:var(--bg-soft);
    overflow-x:auto;
}
.woocommerce-tabs ul.tabs li { margin:0; padding:0; border:none; border-radius:0; background:none; display:block; }
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce-tabs ul.tabs li a {
    display:block;
    padding:16px 28px;
    font-size:14px;
    font-weight:600;
    color:var(--text-body);
    border-bottom:2px solid transparent;
    transition:var(--transition);
    white-space:nowrap;
}
.woocommerce-tabs ul.tabs li a:hover { color:var(--primary); background:rgba(214,51,80,0.03); }
.woocommerce-tabs ul.tabs li.active a { color:var(--primary); border-bottom-color:var(--primary); }
.woocommerce-tabs .panel { padding:28px; margin:0; border:none; display:none; }
.woocommerce-tabs .panel:first-of-type { display:block; }
.woocommerce-tabs .panel h2 { font-size:18px; margin-bottom:14px; font-weight:600; }
.woocommerce-tabs .panel p { margin-bottom:12px; line-height:1.8; color:var(--text-body); }

/* Related */
.sp-related { margin-top:40px; }
.sp-related h2 {
    font-size:clamp(18px,2vw,22px);
    margin-bottom:20px;
    text-align:left;
    font-weight:700;
}
.sp-related ul.products { grid-template-columns:repeat(4,1fr); gap:14px; }
@media (max-width:992px) { .sp-related ul.products { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .sp-related ul.products { grid-template-columns:1fr; } }

/* ===== WOOCOMMERCE GENERAL ===== */
.woocommerce .price { color:var(--primary); font-weight:700; }
.woocommerce .button { background:var(--primary); color:var(--white); border-radius:6px; font-weight:600; padding:10px 24px; transition:var(--transition-spring); border:none; }
.woocommerce .button:hover { background:var(--primary-dark); color:var(--white); transform:translateY(-1px); box-shadow:0 4px 12px rgba(214,51,80,0.2); }

/* Store Notice */
.woocommerce-store-notice { background:var(--primary); color:var(--white); padding:12px; text-align:center; font-size:14px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border-radius:8px;
    padding:14px 18px 14px 48px;
    margin-bottom:20px;
    border:none;
    font-size:13px;
    line-height:1.6;
}
.woocommerce-message { background:#f0faf1; color:#1e7e34; border-left:3px solid #28a745; }
.woocommerce-info { background:#f0f8ff; color:#0c5b8c; border-left:3px solid #17a2b8; }
.woocommerce-error { background:#fdf0f0; color:#8a1f1f; border-left:3px solid #dc3545; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top:14px; left:14px; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
    float:right;
    background:transparent !important;
    color:inherit !important;
    padding:3px 10px;
    font-size:12px;
    border:1px solid currentColor;
    border-radius:4px !important;
}

/* ===== UTILITY ===== */
.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }
.mt-10 { margin-top:10px; }
.mt-20 { margin-top:20px; }
.mt-30 { margin-top:30px; }
.mt-40 { margin-top:40px; }
.mb-10 { margin-bottom:10px; }
.mb-20 { margin-bottom:20px; }
.mb-30 { margin-bottom:30px; }
.mb-40 { margin-bottom:40px; }
