/* ==========================================================================
   Cultural Themes: Japanese Zen, Scandinavian, Wabi-Sabi, Korean Modern,
   French Parisian, Greek Mediterranean, Moroccan Luxe, Southwest Desert,
   Tropical Paradise, African Bold
   ========================================================================== */

/* Japanese Zen specific */
.japanese-zen .demo-card {
    border: 1px solid rgba(45, 52, 54, 0.1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border-radius: 2px !important;
}

.japanese-zen .demo-btn-primary,
.japanese-zen .demo-btn-secondary {
    border: 1px solid var(--text);
    box-shadow: none;
    border-radius: 2px !important;
    letter-spacing: 0.5px;
}

.japanese-zen .demo-btn-primary:hover,
.japanese-zen .demo-btn-secondary:hover {
    transform: none;
    opacity: 0.85;
}

.japanese-zen .demo-btn-outline {
    border: 1px solid var(--text);
    border-radius: 2px !important;
}

.japanese-zen .demo-input {
    border: 1px solid rgba(45, 52, 54, 0.2);
    border-radius: 2px !important;
}

.japanese-zen .demo-input:focus {
    box-shadow: none;
    border-color: var(--accent);
}

.japanese-zen .demo-badge {
    border: 1px solid rgba(45, 52, 54, 0.15);
    border-radius: 2px !important;
    font-weight: 400;
    letter-spacing: 0.5px;
}

.japanese-zen .demo-nav {
    border: 1px solid rgba(45, 52, 54, 0.1);
    border-radius: 2px !important;
}

.japanese-zen .demo-heading {
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* Scandinavian specific */
.scandinavian .demo-card {
    border: 1px solid rgba(26, 26, 46, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border-radius: 12px !important;
}

.scandinavian .demo-btn-primary,
.scandinavian .demo-btn-secondary {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px !important;
}

.scandinavian .demo-btn-primary:hover,
.scandinavian .demo-btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.scandinavian .demo-btn-outline {
    border: 1px solid rgba(26, 26, 46, 0.2);
    border-radius: 8px !important;
}

.scandinavian .demo-btn-outline:hover {
    background-color: rgba(26, 26, 46, 0.05);
    color: var(--text);
}

.scandinavian .demo-input {
    border: 1px solid rgba(26, 26, 46, 0.12);
    border-radius: 8px !important;
}

.scandinavian .demo-input:focus {
    box-shadow: 0 0 0 3px rgba(212, 165, 116, 0.2);
    border-color: var(--accent);
}

.scandinavian .demo-badge {
    border: none;
    border-radius: 6px !important;
    font-weight: 500;
}

.scandinavian .demo-nav {
    border: 1px solid rgba(26, 26, 46, 0.08);
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.scandinavian .demo-heading {
    font-weight: 600;
}

/* Wabi-Sabi specific */
.wabi-sabi .demo-card {
    border: 1px solid rgba(93, 78, 55, 0.15);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
    border-radius: 4px !important;
}

.wabi-sabi .demo-btn-primary,
.wabi-sabi .demo-btn-secondary {
    border: 1px solid var(--text);
    box-shadow: none;
    border-radius: 4px !important;
}

.wabi-sabi .demo-btn-primary:hover,
.wabi-sabi .demo-btn-secondary:hover {
    transform: none;
    opacity: 0.85;
}

.wabi-sabi .demo-btn-outline {
    border: 1px solid rgba(93, 78, 55, 0.3);
    border-radius: 4px !important;
}

.wabi-sabi .demo-input {
    border: 1px solid rgba(93, 78, 55, 0.2);
    border-radius: 4px !important;
    background-color: var(--surface);
}

.wabi-sabi .demo-input:focus {
    box-shadow: none;
    border-color: var(--accent);
}

.wabi-sabi .demo-badge {
    border: 1px solid rgba(93, 78, 55, 0.2);
    border-radius: 4px !important;
    font-weight: 400;
}

.wabi-sabi .demo-nav {
    border: 1px solid rgba(93, 78, 55, 0.12);
    border-radius: 4px !important;
}

.wabi-sabi .demo-heading {
    font-weight: 500;
}

/* Korean Modern specific */
.korean-modern .demo-card {
    border: 1px solid rgba(44, 44, 44, 0.06);
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
    border-radius: 20px !important;
}

.korean-modern .demo-btn-primary,
.korean-modern .demo-btn-secondary {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-radius: 12px !important;
}

.korean-modern .demo-btn-primary:hover,
.korean-modern .demo-btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.korean-modern .demo-btn-outline {
    border: 1px solid rgba(44, 44, 44, 0.15);
    border-radius: 12px !important;
}

.korean-modern .demo-btn-outline:hover {
    background-color: rgba(44, 44, 44, 0.03);
    color: var(--text);
}

.korean-modern .demo-input {
    border: 1px solid rgba(44, 44, 44, 0.1);
    border-radius: 12px !important;
}

.korean-modern .demo-input:focus {
    box-shadow: 0 0 0 3px rgba(232, 213, 196, 0.3);
    border-color: var(--accent);
}

.korean-modern .demo-badge {
    border: none;
    border-radius: 8px !important;
    font-weight: 500;
    background-color: rgba(232, 213, 196, 0.5);
}

.korean-modern .demo-nav {
    border: 1px solid rgba(44, 44, 44, 0.05);
    border-radius: 20px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
}

.korean-modern .demo-heading {
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* French Parisian specific */
.french-parisian .demo-card {
    border: 1px solid rgba(26, 26, 26, 0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border-radius: 4px !important;
}

.french-parisian .demo-btn-primary,
.french-parisian .demo-btn-secondary {
    border: 1px solid var(--text);
    box-shadow: none;
    border-radius: 2px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 13px;
}

.french-parisian .demo-btn-primary:hover,
.french-parisian .demo-btn-secondary:hover {
    transform: none;
    opacity: 0.9;
}

.french-parisian .demo-btn-outline {
    border: 1px solid var(--text);
    border-radius: 2px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 13px;
}

.french-parisian .demo-input {
    border: 1px solid rgba(26, 26, 26, 0.15);
    border-radius: 2px !important;
}

.french-parisian .demo-input:focus {
    box-shadow: none;
    border-color: var(--accent);
}

.french-parisian .demo-badge {
    border: 1px solid rgba(26, 26, 26, 0.1);
    border-radius: 2px !important;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11px;
}

.french-parisian .demo-nav {
    border: 1px solid rgba(26, 26, 26, 0.08);
    border-radius: 4px !important;
}

.french-parisian .demo-heading {
    font-weight: 500;
    font-style: italic;
}

/* Greek Mediterranean specific */
.greek-mediterranean .demo-card {
    border: 2px solid rgba(30, 58, 95, 0.1);
    box-shadow: 0 4px 16px rgba(30, 58, 95, 0.08);
    border-radius: 8px !important;
}

.greek-mediterranean .demo-btn-primary,
.greek-mediterranean .demo-btn-secondary {
    border: 2px solid var(--text);
    box-shadow: none;
    border-radius: 6px !important;
    font-weight: 600;
}

.greek-mediterranean .demo-btn-primary:hover,
.greek-mediterranean .demo-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(30, 58, 95, 0.2);
}

.greek-mediterranean .demo-btn-outline {
    border: 2px solid var(--primary);
    border-radius: 6px !important;
}

.greek-mediterranean .demo-input {
    border: 2px solid rgba(30, 58, 95, 0.15);
    border-radius: 6px !important;
}

.greek-mediterranean .demo-input:focus {
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
    border-color: var(--primary);
}

.greek-mediterranean .demo-badge {
    border: 2px solid rgba(30, 58, 95, 0.15);
    border-radius: 4px !important;
    font-weight: 600;
}

.greek-mediterranean .demo-nav {
    border: 2px solid rgba(30, 58, 95, 0.1);
    border-radius: 8px !important;
}

.greek-mediterranean .demo-heading {
    font-weight: 700;
}

/* Moroccan Luxe specific */
.moroccan-luxe .demo-card {
    border: 2px solid rgba(26, 77, 92, 0.15);
    box-shadow: 0 4px 16px rgba(26, 47, 53, 0.08);
    border-radius: 4px !important;
}

.moroccan-luxe .demo-btn-primary {
    border: 2px solid var(--accent);
    box-shadow: none;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--primary) 0%, #2a5d6c 100%);
}

.moroccan-luxe .demo-btn-secondary {
    border: 2px solid var(--secondary);
    box-shadow: none;
    border-radius: 4px !important;
}

.moroccan-luxe .demo-btn-primary:hover,
.moroccan-luxe .demo-btn-secondary:hover {
    transform: none;
    opacity: 0.9;
}

.moroccan-luxe .demo-btn-outline {
    border: 2px solid var(--accent);
    border-radius: 4px !important;
    color: var(--primary);
}

.moroccan-luxe .demo-input {
    border: 2px solid rgba(26, 77, 92, 0.2);
    border-radius: 4px !important;
}

.moroccan-luxe .demo-input:focus {
    box-shadow: 0 0 0 3px rgba(212, 168, 83, 0.2);
    border-color: var(--accent);
}

.moroccan-luxe .demo-badge {
    border: 1px solid var(--accent);
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--accent) 0%, #e8c067 100%);
    color: var(--text);
}

.moroccan-luxe .demo-nav {
    border: 2px solid rgba(26, 77, 92, 0.12);
    border-radius: 4px !important;
}

.moroccan-luxe .demo-heading {
    font-weight: 600;
}

/* Southwest Desert specific */
.southwest-desert .demo-card {
    border: 2px solid rgba(194, 112, 62, 0.15);
    box-shadow: 0 3px 12px rgba(61, 43, 31, 0.06);
    border-radius: 6px !important;
}

.southwest-desert .demo-btn-primary,
.southwest-desert .demo-btn-secondary {
    border: 2px solid var(--text);
    box-shadow: none;
    border-radius: 6px !important;
}

.southwest-desert .demo-btn-primary:hover,
.southwest-desert .demo-btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(61, 43, 31, 0.12);
}

.southwest-desert .demo-btn-outline {
    border: 2px solid var(--primary);
    border-radius: 6px !important;
}

.southwest-desert .demo-input {
    border: 2px solid rgba(194, 112, 62, 0.2);
    border-radius: 6px !important;
}

.southwest-desert .demo-input:focus {
    box-shadow: 0 0 0 3px rgba(194, 112, 62, 0.15);
    border-color: var(--primary);
}

.southwest-desert .demo-badge {
    border: 2px solid rgba(194, 112, 62, 0.2);
    border-radius: 4px !important;
}

.southwest-desert .demo-nav {
    border: 2px solid rgba(194, 112, 62, 0.12);
    border-radius: 6px !important;
}

.southwest-desert .demo-heading {
    font-weight: 600;
}

/* Tropical Paradise specific */
.tropical-paradise .demo-card {
    border: 2px solid rgba(26, 127, 109, 0.12);
    box-shadow: 0 4px 16px rgba(26, 58, 53, 0.08);
    border-radius: 16px !important;
}

.tropical-paradise .demo-btn-primary {
    border: none;
    box-shadow: 0 4px 12px rgba(26, 127, 109, 0.25);
    border-radius: 24px !important;
    background: linear-gradient(135deg, var(--primary) 0%, #25a88f 100%);
}

.tropical-paradise .demo-btn-secondary {
    border: none;
    box-shadow: 0 4px 12px rgba(224, 123, 83, 0.25);
    border-radius: 24px !important;
}

.tropical-paradise .demo-btn-primary:hover,
.tropical-paradise .demo-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(26, 127, 109, 0.3);
}

.tropical-paradise .demo-btn-outline {
    border: 2px solid var(--primary);
    border-radius: 24px !important;
}

.tropical-paradise .demo-input {
    border: 2px solid rgba(26, 127, 109, 0.15);
    border-radius: 12px !important;
}

.tropical-paradise .demo-input:focus {
    box-shadow: 0 0 0 3px rgba(64, 201, 162, 0.2);
    border-color: var(--accent);
}

.tropical-paradise .demo-badge {
    border: none;
    border-radius: 16px !important;
    background: linear-gradient(135deg, var(--accent) 0%, #5dd9b5 100%);
    color: var(--text);
}

.tropical-paradise .demo-nav {
    border: 2px solid rgba(26, 127, 109, 0.1);
    border-radius: 16px !important;
}

.tropical-paradise .demo-heading {
    font-weight: 700;
}

/* African Bold specific */
.african-bold .demo-card {
    border: 3px solid var(--text);
    box-shadow: 4px 4px 0 var(--accent);
    border-radius: 4px !important;
}

.african-bold .demo-btn-primary {
    border: 3px solid var(--text);
    box-shadow: 3px 3px 0 var(--text);
    border-radius: 4px !important;
}

.african-bold .demo-btn-secondary {
    border: 3px solid var(--text);
    box-shadow: 3px 3px 0 var(--accent);
    border-radius: 4px !important;
}

.african-bold .demo-btn-primary:hover,
.african-bold .demo-btn-secondary:hover {
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 var(--text);
}

.african-bold .demo-btn-outline {
    border: 3px solid var(--text);
    border-radius: 4px !important;
}

.african-bold .demo-input {
    border: 3px solid var(--text);
    border-radius: 4px !important;
}

.african-bold .demo-input:focus {
    box-shadow: 3px 3px 0 var(--accent);
}

.african-bold .demo-badge {
    border: 2px solid var(--text);
    border-radius: 4px !important;
    font-weight: 700;
}

.african-bold .demo-nav {
    border: 3px solid var(--text);
    border-radius: 4px !important;
}

.african-bold .demo-heading {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
