/* ===================================================
   WESTARP SHOP - ZENTRALE CSS STRUKTUR
   Saubere, semantische Klassen statt Utility-Chaos
   =================================================== */

/* === RESET & BASE === */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: #374151;
    background-color: #f9fafb;
}

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

/* === LAYOUT CONTAINER === */
.westarp-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem;
}

.westarp-container-wide {
    max-width: 90rem;
    margin: 0 auto;
    padding: 0 1rem;
}

/* === HERO SECTION === */
.westarp-hero-section {
    margin-bottom: 2rem;
}

.westarp-hero-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.westarp-hero-content {
    background: linear-gradient(135deg, #4f46e5 0%, #3b82f6 100%);
    color: white;
    padding: 2rem;
    border-radius: 1.5rem;
}

.westarp-hero-title {
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.westarp-hero-text {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    opacity: 0.9;
    max-width: 36rem;
}

.westarp-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.westarp-hero-sidebar {
    background: white;
    padding: 1.5rem;
    border-radius: 1.5rem;
    border: 1px solid #e5e7eb;
}

.westarp-sidebar-title {
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.westarp-advantage-list {
    list-style: none;
    margin-bottom: 1.5rem;
}

.westarp-advantage-list li {
    padding: 0.5rem 0;
    font-size: 0.875rem;
    color: #374151;
}

.westarp-tip-box {
    background: #f8fafc;
    padding: 1rem;
    border-radius: 1rem;
}

.westarp-tip-box p {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0;
}

@media (max-width: 768px) {
    .westarp-hero-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .westarp-hero-title {
        font-size: 1.5rem;
    }
}

/* === BUTTONS === */
.westarp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border-radius: 0.75rem;
    font-weight: 500;
    font-size: 0.875rem;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.westarp-btn-primary {
    background: white;
    color: #1e293b;
}

.westarp-btn-primary:hover {
    background: rgba(255, 255, 255, 0.9);
}

.westarp-btn-secondary {
    background: transparent;
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.westarp-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
}

.westarp-btn-small {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
}

/* === FILTER SECTION === */
.westarp-filter-section {
    margin-bottom: 2rem;
}

.westarp-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.westarp-filter-tab {
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    background: white;
    border: 1px solid #e5e7eb;
    color: #374151;
    cursor: pointer;
    transition: all 0.2s ease;
}

.westarp-filter-tab:hover {
    background: #f8fafc;
}

.westarp-filter-tab.active {
    background: #1e293b;
    color: white;
    border-color: #1e293b;
}

.westarp-filter-controls {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.westarp-time-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.westarp-filter-label {
    font-size: 0.875rem;
    color: #6b7280;
}

.westarp-time-filter {
    padding: 0.375rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    background: white;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.westarp-time-filter:hover {
    background: #f8fafc;
}

.westarp-time-filter.active {
    background: #1e293b;
    color: white;
    border-color: #1e293b;
}

.westarp-sort-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.westarp-sort-select {
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    background: white;
    font-size: 0.875rem;
}

@media (min-width: 768px) {
    .westarp-filter-controls {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

/* === PRODUCTS GRID === */
.westarp-products-section {
    margin-bottom: 4rem;
}

.westarp-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

/* MOBILE: Weniger Spalten */
@media (max-width: 767px) {
    .westarp-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .westarp-products-grid {
        grid-template-columns: 1fr;
    }
}

.westarp-product-card {
    background: white;
    border-radius: 1.5rem;
    border: 1px solid #e5e7eb;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
}

.westarp-product-card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.westarp-product-image {
    position: relative;
    aspect-ratio: 3/4;
    background: #f8fafc;
}

.westarp-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.westarp-product-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background: rgba(79, 70, 229, 0.9);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.westarp-product-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #9ca3af;
}

.westarp-placeholder-icon {
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.westarp-placeholder-text {
    font-size: 0.75rem;
}

.westarp-product-content {
    padding: 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.westarp-product-title {
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.westarp-product-author {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.westarp-product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    margin-top: auto;
}

.westarp-product-price {
    font-size: 1.125rem;
    font-weight: 600;
}

.westarp-product-status {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    background: #dcfce7;
    color: #166534;
}

.westarp-product-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

/* === LOADING & NO RESULTS === */
.westarp-loading-state {
    text-align: center;
    padding: 4rem 0;
}

.westarp-spinner {
    width: 3rem;
    height: 3rem;
    border: 2px solid #e5e7eb;
    border-top: 2px solid #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 1rem;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.westarp-no-results {
    text-align: center;
    padding: 4rem 0;
}

.westarp-no-results-icon {
    font-size: 4rem;
    margin-bottom: 1.5rem;
}

.westarp-no-results h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.westarp-no-results p {
    color: #6b7280;
    max-width: 28rem;
    margin: 0 auto;
}

.hidden {
    display: none !important;
}

/* === GRID LAYOUTS === */
.westarp-grid-2 {
    display: grid;
    grid-template-columns: 1fr 2fr; /* 1/3 Bibliografie, 2/3 Beschreibung */
    gap: 3rem;
    align-items: start; /* Oben ausrichten für Sticky */
    min-height: 500px; /* Mindesthöhe für Scroll-Verhalten */
}

.westarp-grid-3 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 2rem;
    align-items: start;
}

.westarp-grid-recommendations {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
}

@media (max-width: 768px) {
    .westarp-grid-2,
    .westarp-grid-3 {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* === THEMES SECTION === */
.westarp-themes-section {
    margin-bottom: 4rem;
}

.westarp-section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.westarp-themes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .westarp-themes-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .westarp-themes-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.westarp-theme-card {
    background: white;
    padding: 1.5rem;
    border-radius: 1.5rem;
    border: 1px solid #e5e7eb;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s ease;
}

.westarp-theme-card:hover {
    background: #f8fafc;
}

.westarp-theme-label {
    font-size: 0.875rem;
    color: #6b7280;
}

.westarp-theme-title {
    font-weight: 600;
    margin: 0.25rem 0;
}

.westarp-theme-description {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0.25rem 0 0;
}

/* === NEWSLETTER SECTION === */
.westarp-newsletter-section {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 1.5rem;
    padding: 1.5rem;
    margin-bottom: 4rem;
}

.westarp-newsletter-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (min-width: 640px) {
    .westarp-newsletter-content {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.westarp-newsletter-text h2 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.westarp-newsletter-text p {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

.westarp-newsletter-form {
    display: flex;
    gap: 0.5rem;
    width: 100%;
}

@media (min-width: 640px) {
    .westarp-newsletter-form {
        width: auto;
    }
}

.westarp-newsletter-input {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    font-size: 0.875rem;
}

@media (min-width: 640px) {
    .westarp-newsletter-input {
        min-width: 200px;
    }
}

/* === PAGINATION === */
.westarp-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2rem 0;
}

.westarp-page-numbers {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.westarp-page-numbers button {
    padding: 0.5rem 0.75rem;
    border: 1px solid #e5e7eb;
    background: white;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.westarp-page-numbers button:hover {
    background: #f8fafc;
}

.westarp-page-numbers button.active {
    background: #1e293b;
    color: white;
    border-color: #1e293b;
}

/* === PRODUCT PAGE STRUCTURE === */
.westarp-product-header {
    background: white;
    border-bottom: 1px solid #e5e7eb;
    padding: 0.5rem 0;
}

.westarp-product-navigation {
    font-size: 0.875rem;
    color: #6b7280;
}

.westarp-product-navigation a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s;
}

.westarp-product-navigation a:hover {
    color: #374151;
}

.westarp-product-main {
    padding: 2rem 0;
}

.westarp-breadcrumb {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
    color: #6b7280;
}

.westarp-breadcrumb a {
    color: #2563eb;
    text-decoration: none;
}

.westarp-breadcrumb span {
    margin: 0 0.5rem;
}

/* === PRODUCT COMPONENTS === */
.westarp-product-cover {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    height: 100%; /* Gleiche Höhe */
    display: flex;
    align-items: flex-start;
}

.westarp-product-cover img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.westarp-product-cover img:hover {
    transform: scale(1.05);
}

.westarp-product-info {
    height: 100%; /* Gleiche Höhe wie Cover */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Inhalt verteilen */
    min-height: 400px; /* Minimum-Höhe für kleine Covers */
}

.westarp-product-title {
    font-size: 1.5rem; /* 2 Punkte kleiner */
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 0.5rem; /* Weniger Abstand zum Autor */
}

.westarp-product-author {
    font-size: 1.125rem; /* h5 Größe */
    font-weight: 400; /* Normal weight */
    color: #4b5563;
    margin-bottom: 1.5rem;
}

.westarp-product-author strong {
    color: #374151;
    font-weight: 500;
}

.westarp-product-price {
    background: #f9fafb;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
}

.westarp-price-main {
    font-size: 2rem;
    font-weight: 700;
    color: #1e3a8a;
}

.westarp-price-tax {
    font-size: 0.875rem;
    color: #6b7280;
    margin-left: 0.5rem;
}

.westarp-stock-status {
    display: flex;
    align-items: center;
    margin-top: 1rem;
}

.westarp-stock-available {
    color: #16a34a;
    font-weight: 500;
}

.westarp-stock-unavailable {
    color: #dc2626;
    font-weight: 500;
}

/* === BUTTONS === */
.westarp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    font-size: 0.875rem;
}

.westarp-btn-primary {
    background-color: #1e3a8a;
    color: white;
}

.westarp-btn-primary:hover {
    background-color: #1e40af;
    transform: translateY(-1px);
}

.westarp-btn-secondary {
    background-color: white;
    color: #374151;
    border: 2px solid #d1d5db;
}

.westarp-btn-secondary:hover {
    border-color: #9ca3af;
    background-color: #f9fafb;
}

.westarp-btn-cart {
    background-color: #1e3a8a;
    color: white;
    padding: 1rem 2rem;
    font-size: 1rem;
}

.westarp-btn-wishlist {
    background-color: white;
    color: #374151;
    border: 2px solid #d1d5db;
    padding: 1rem 2rem;
}

.westarp-btn-wishlist:hover {
    border-color: #dc2626;
    color: #dc2626;
}

.westarp-btn-share {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
    opacity: 0.7; /* 70% Transparenz für dezenteres Design */
    transition: opacity 0.2s ease;
}

.westarp-btn-share:hover {
    opacity: 1; /* Bei Hover volle Sichtbarkeit */
}

.westarp-btn-share.facebook { background-color: #2563eb; color: white; }
.westarp-btn-share.whatsapp { background-color: #16a34a; color: white; }
.westarp-btn-share.email { background-color: #db2777; color: white; }
.westarp-btn-share.copy { background-color: #4b5563; color: white; }

/* === CONTENT SECTIONS === */
.westarp-bibliography {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem;
    position: sticky;
    top: 1rem; /* Weniger Abstand für besseres Verhalten */
    height: fit-content; /* Flexible Höhe je nach Inhalt */
    max-height: calc(100vh - 2rem); /* Mehr verfügbare Höhe */
    overflow-y: auto; /* Scroll bei zu viel Inhalt */
    align-self: start; /* Wichtig für Sticky in Grid */
}

.westarp-bibliography h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
}

.westarp-bibliography dl {
    display: grid;
    gap: 0.75rem;
    font-size: 0.875rem;
}

.westarp-bibliography dt {
    font-weight: 500;
    color: #374151;
}

.westarp-bibliography dd {
    color: #6b7280;
}

.westarp-content-section {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.westarp-content-section h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.westarp-content-section h2 svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    color: #2563eb;
}

.westarp-author-bio {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.westarp-author-bio h2 {
    color: #1e40af;
}

/* === FEATURE SECTIONS === */
.westarp-reading-sample {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 0.75rem;
    padding: 1.5rem;
}

.westarp-reading-sample h4 {
    font-size: 1.125rem;
    font-weight: 700;
    color: #92400e;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.westarp-booktok {
    background: linear-gradient(135deg, #faf5ff 0%, #fdf2f8 100%);
    border: 1px solid #e9d5ff;
    border-radius: 0.75rem;
    padding: 1.5rem;
}

.westarp-booktok h4 {
    font-size: 1.125rem;
    font-weight: 700;
    color: #581c87;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.westarp-recommendations {
    background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%);
    border-radius: 0.75rem;
    padding: 2rem;
    margin-top: 3rem;
}

.westarp-recommendations h4 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
}

.westarp-recommendations h4 svg {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.5rem;
    color: #3730a3;
}

/* === RECOMMENDATION CARDS === */
.westarp-recommendation-card {
    background: white;
    border-radius: 0.5rem;
    padding: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease;
}

.westarp-recommendation-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.westarp-recommendation-card img {
    width: 100%;
    max-width: 120px;
    height: auto;
    border-radius: 0.25rem;
    margin: 0 auto 0.75rem;
    display: block;
}

.westarp-recommendation-card h5 {
    font-size: 0.875rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.westarp-recommendation-card p {
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 0.5rem;
}

.westarp-recommendation-card .price {
    font-weight: 600;
    color: #1e3a8a;
    font-size: 0.875rem;
}

/* === SHARING === */
.westarp-sharing {
    background: #f9fafb;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-top: 1rem;
}

.westarp-sharing h4 {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.75rem;
}

.westarp-sharing-buttons {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* === QUANTITY SELECTOR === */
.westarp-quantity-selector {
    position: relative;
    width: 100%;
}

.westarp-quantity-input {
    width: 100%;
    padding: 0.75rem 2.5rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    text-align: center;
    font-weight: 500;
    background: white;
}

.westarp-quantity-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #6b7280;
    padding: 0.5rem;
    cursor: pointer;
    transition: color 0.2s;
}

.westarp-quantity-btn:hover {
    color: #374151;
}

.westarp-quantity-btn.minus {
    left: 0.5rem;
}

.westarp-quantity-btn.plus {
    right: 0.5rem;
}

/* === TABS === */
.westarp-tabs {
    display: flex;
    background: white;
    border-radius: 0.5rem;
    padding: 0.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 1.5rem;
}

.westarp-tab {
    flex: 1;
    padding: 0.5rem 1rem;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
    background: none;
    border: none;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.2s;
}

.westarp-tab.active {
    background: #2563eb;
    color: white;
}

.westarp-tab:hover:not(.active) {
    background: #f3f4f6;
    color: #374151;
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
    .westarp-bibliography {
        position: static;
    }
    
    .westarp-product-cover {
        max-width: 250px;
    }
    
    .westarp-product-title {
        font-size: 1.5rem;
    }
}

@media (max-width: 640px) {
    .westarp-container,
    .westarp-container-wide {
        padding: 0 0.5rem;
    }
    
    .westarp-product-main {
        padding: 1rem 0;
    }
    
    .westarp-sharing-buttons {
        justify-content: center;
    }
    
    .westarp-btn {
        width: 100%;
        justify-content: center;
    }
    
    .westarp-recommendations {
        padding: 1rem;
    }
}

/* === FOOTER === */
.westarp-footer {
    background: white;
    border-top: 1px solid #e5e7eb;
    margin-top: 4rem;
}

.westarp-footer-content {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1rem;
}

.westarp-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.westarp-footer-section h3 {
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    font-size: 1rem;
}

.westarp-footer-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.westarp-footer-section li {
    margin-bottom: 0.5rem;
}

.westarp-footer-section a {
    color: #6b7280;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s;
}

.westarp-footer-section a:hover {
    color: #2563eb;
}

.westarp-footer-copyright {
    border-top: 1px solid #e5e7eb;
    margin-top: 2rem;
    padding-top: 2rem;
    text-align: center;
}

.westarp-footer-copyright p {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

@media (max-width: 768px) {
    .westarp-footer-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .westarp-footer-content {
        padding: 2rem 1rem;
    }
}

/* === WISHLIST BUTTON === */
.westarp-btn-wishlist {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #d1d5db;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.westarp-btn-wishlist:hover {
    background: #ef4444;
    color: white;
    border-color: #ef4444;
    transform: translateY(-1px);
}

.westarp-btn-wishlist svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* === UTILITIES === */
.westarp-hidden { display: none !important; }
.westarp-visible { display: block !important; }
.westarp-text-center { text-align: center; }
.westarp-text-right { text-align: right; }
.westarp-mb-4 { margin-bottom: 1rem; }
.westarp-mt-8 { margin-top: 2rem; }
.westarp-p-4 { padding: 1rem; }
