/**
 * ImmoPortal Propstack - Premium Theme (v2)
 * Ampere GmbH Corporate Design
 * Modern, professional, minimalist
 */

/* Theme Variables - Ampere GmbH Corporate Colors */
:root {
    --immoportal-primary: #0066bf;
    --immoportal-primary-dark: #005299;
    --immoportal-primary-light: #0693e3;
    --immoportal-accent: #32373c;
    --immoportal-accent-light: #4a5058;
    --immoportal-secondary: #6b7280;
    --immoportal-success: #059669;
    --immoportal-danger: #dc2626;
    --immoportal-warning: #d97706;
    --immoportal-text: #383838;
    --immoportal-text-light: #6b7280;
    --immoportal-border: #e5e5e5;
    --immoportal-background: #f7f7f7;
    --immoportal-white: #ffffff;
    --immoportal-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    --immoportal-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.08);
    --immoportal-radius: 4px;
    --immoportal-radius-lg: 6px;
    --immoportal-transition: 0.2s ease;
}

/* Typography */
.immoportal-theme-modern {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: var(--immoportal-text);
}

.immoportal-theme-modern .immoportal-archive-title,
.immoportal-theme-modern .immoportal-single-title {
    font-weight: 600;
    color: var(--immoportal-text);
}

/* Cards - Clean and minimal */
.immoportal-theme-modern .immoportal-card {
    border: 1px solid var(--immoportal-border);
    border-radius: var(--immoportal-radius-lg);
    background: var(--immoportal-white);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .immoportal-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--immoportal-shadow-lg);
    border-color: #d1d5db;
}

/* Card Image */
.immoportal-theme-modern .card-image {
    border-radius: var(--immoportal-radius) var(--immoportal-radius) 0 0;
}

.immoportal-theme-modern .card-image img {
    transition: transform 0.4s ease;
}

.immoportal-theme-modern .immoportal-card:hover .card-image img {
    transform: scale(1.03);
}

/* Badges */
.immoportal-theme-modern .badge {
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.immoportal-theme-modern .badge-marketing {
    background: var(--immoportal-primary);
    color: var(--immoportal-white);
}

.immoportal-theme-modern .badge-buy {
    background: #059669;
    color: var(--immoportal-white);
}

.immoportal-theme-modern .badge-rent {
    background: var(--immoportal-primary);
    color: var(--immoportal-white);
}

.immoportal-theme-modern .badge-status {
    background: #f5f5f5;
    color: var(--immoportal-text);
    border: 1px solid var(--immoportal-border);
}

/* Card Type Label */
.immoportal-theme-modern .card-type {
    color: var(--immoportal-primary);
    font-weight: 600;
    letter-spacing: 0.05em;
    font-size: 11px;
}

/* Card Title */
.immoportal-theme-modern .card-title {
    font-weight: 600;
    color: var(--immoportal-text);
}

/* Price */
.immoportal-theme-modern .card-price {
    color: var(--immoportal-primary);
    font-weight: 700;
}

.immoportal-theme-modern .price-value {
    color: var(--immoportal-primary);
    font-weight: 700;
}

/* Buttons - Corporate Style */
.immoportal-theme-modern .immoportal-submit-btn,
.immoportal-theme-modern .immoportal-search-btn,
.immoportal-theme-modern .immoportal-filter-btn {
    background: var(--immoportal-accent);
    border-radius: var(--immoportal-radius);
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow: none;
    transition: all var(--immoportal-transition);
}

.immoportal-theme-modern .immoportal-submit-btn:hover,
.immoportal-theme-modern .immoportal-search-btn:hover,
.immoportal-theme-modern .immoportal-filter-btn:hover {
    background: var(--immoportal-accent-light);
}

/* Contact Button - Primary Blue */
.immoportal-theme-modern .immoportal-contact-btn {
    background: var(--immoportal-primary);
    border-radius: var(--immoportal-radius);
    font-weight: 500;
}

.immoportal-theme-modern .immoportal-contact-btn:hover {
    background: var(--immoportal-primary-dark);
}

/* Filter Bar */
.immoportal-theme-modern .immoportal-filter-bar {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    background: var(--immoportal-white);
    box-shadow: var(--immoportal-shadow);
}

/* Select Inputs */
.immoportal-theme-modern .immoportal-select,
.immoportal-theme-modern select {
    border-radius: var(--immoportal-radius);
    border: 1px solid var(--immoportal-border);
    transition: border-color var(--immoportal-transition);
}

.immoportal-theme-modern .immoportal-select:focus,
.immoportal-theme-modern select:focus {
    border-color: var(--immoportal-primary);
    box-shadow: 0 0 0 2px rgba(0, 102, 191, 0.1);
    outline: none;
}

/* View Toggle */
.immoportal-theme-modern .view-toggle-btn {
    border-radius: var(--immoportal-radius);
}

.immoportal-theme-modern .view-toggle-btn.active {
    background: var(--immoportal-primary);
    border-color: var(--immoportal-primary);
}

/* Single Page Header */
.immoportal-theme-modern .immoportal-single-header {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    background: var(--immoportal-white);
    box-shadow: var(--immoportal-shadow);
}

/* Gallery */
.immoportal-theme-modern .immoportal-gallery {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .gallery-main {
    border-radius: var(--immoportal-radius);
}

.immoportal-theme-modern .gallery-thumb {
    border-radius: var(--immoportal-radius);
}

.immoportal-theme-modern .gallery-thumb:hover img {
    transform: scale(1.05);
}

.immoportal-theme-modern .gallery-zoom-icon {
    background: rgba(50, 55, 60, 0.8);
}

/* Quick Facts */
.immoportal-theme-modern .immoportal-quick-facts {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .fact-item {
    border-radius: var(--immoportal-radius);
    background: var(--immoportal-background);
    border: none;
}

.immoportal-theme-modern .fact-value {
    color: var(--immoportal-text);
    font-weight: 600;
}

.immoportal-theme-modern .fact-label {
    color: var(--immoportal-text-light);
    font-size: 12px;
}

/* Description Sections */
.immoportal-theme-modern .immoportal-description-section {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .immoportal-description-section h2 {
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--immoportal-text);
    border-bottom: 2px solid var(--immoportal-primary);
    padding-bottom: 12px;
}

/* Details Box */
.immoportal-theme-modern .immoportal-details-box {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .immoportal-details-box h3 {
    font-weight: 600;
    border-bottom: 2px solid var(--immoportal-primary);
}

.immoportal-theme-modern .details-list dt {
    font-size: 13px;
    color: var(--immoportal-text-light);
}

.immoportal-theme-modern .details-list dd {
    color: var(--immoportal-text);
}

.immoportal-theme-modern .details-list dt.highlight,
.immoportal-theme-modern .details-list dd.highlight {
    color: var(--immoportal-primary);
}

/* Contact Section */
.immoportal-theme-modern .immoportal-contact-section {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

/* Broker Box */
.immoportal-theme-modern .immoportal-broker-image img,
.immoportal-theme-modern .immoportal-broker-box .broker-image img {
    border: 2px solid var(--immoportal-border);
}

/* Map Section */
.immoportal-theme-modern .immoportal-map-section {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .immoportal-map {
    border-radius: var(--immoportal-radius);
}

/* Floorplans */
.immoportal-theme-modern .immoportal-floorplans-section {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .floorplan-item,
.immoportal-theme-modern .floorplan-item-fullwidth {
    border-radius: var(--immoportal-radius);
    border: 1px solid var(--immoportal-border);
}

/* Contact Form Inputs */
.immoportal-theme-modern .immoportal-contact-form input[type="text"],
.immoportal-theme-modern .immoportal-contact-form input[type="email"],
.immoportal-theme-modern .immoportal-contact-form input[type="tel"],
.immoportal-theme-modern .immoportal-contact-form input[type="date"],
.immoportal-theme-modern .immoportal-contact-form input[type="time"],
.immoportal-theme-modern .immoportal-contact-form textarea,
.immoportal-theme-modern .immoportal-contact-form select {
    border-radius: var(--immoportal-radius);
    border: 1px solid var(--immoportal-border);
    transition: border-color var(--immoportal-transition);
}

.immoportal-theme-modern .immoportal-contact-form input:focus,
.immoportal-theme-modern .immoportal-contact-form textarea:focus,
.immoportal-theme-modern .immoportal-contact-form select:focus {
    border-color: var(--immoportal-primary);
    box-shadow: 0 0 0 2px rgba(0, 102, 191, 0.1);
    outline: none;
}

/* Search Form */
.immoportal-theme-modern .immoportal-search-form {
    border-radius: var(--immoportal-radius-lg);
    border: 1px solid var(--immoportal-border);
    background: var(--immoportal-white);
    box-shadow: var(--immoportal-shadow);
}

.immoportal-theme-modern .search-field select,
.immoportal-theme-modern .search-field input {
    border-radius: var(--immoportal-radius);
    border: 1px solid var(--immoportal-border);
}

/* Pagination */
.immoportal-theme-modern .immoportal-pagination a,
.immoportal-theme-modern .immoportal-pagination span {
    border-radius: var(--immoportal-radius);
}

.immoportal-theme-modern .immoportal-pagination a:hover {
    background: var(--immoportal-primary);
    border-color: var(--immoportal-primary);
    color: var(--immoportal-white);
}

.immoportal-theme-modern .immoportal-pagination .current {
    background: var(--immoportal-primary);
    border-color: var(--immoportal-primary);
    color: var(--immoportal-white);
}

/* Modal */
.immoportal-theme-modern .immoportal-modal-content {
    border-radius: var(--immoportal-radius-lg);
}

.immoportal-theme-modern .immoportal-modal-close {
    border-radius: var(--immoportal-radius);
}

/* Form Messages */
.immoportal-theme-modern .form-message.success {
    background: #f0fdf4;
    border-radius: var(--immoportal-radius);
    border: 1px solid #bbf7d0;
}

.immoportal-theme-modern .form-message.error {
    background: #fef2f2;
    border-radius: var(--immoportal-radius);
    border: 1px solid #fecaca;
}

/* Links */
.immoportal-theme-modern .immoportal-breadcrumb a,
.immoportal-theme-modern .immoportal-back-link a {
    color: var(--immoportal-primary);
    font-weight: 500;
}

.immoportal-theme-modern .immoportal-breadcrumb a:hover,
.immoportal-theme-modern .immoportal-back-link a:hover {
    color: var(--immoportal-primary-dark);
}

/* Archive Wrapper */
.immoportal-theme-modern .immoportal-archive-wrapper {
    background: var(--immoportal-background);
}

/* Single Wrapper */
.immoportal-theme-modern .immoportal-single-wrapper {
    background: var(--immoportal-background);
}

/* Media counts */
.immoportal-theme-modern .card-image-count,
.immoportal-theme-modern .card-floorplan-count {
    background: rgba(50, 55, 60, 0.85);
    border-radius: 3px;
}

/* Card features border */
.immoportal-theme-modern .card-features {
    border-bottom: 1px solid var(--immoportal-border);
}

/* Breadcrumb separator */
.immoportal-theme-modern .immoportal-breadcrumb .separator {
    color: #d1d5db;
}

/* Header badges */
.immoportal-theme-modern .header-badges .badge {
    font-size: 11px;
}

/* Broker contact info */
.immoportal-theme-modern .broker-phone a:hover,
.immoportal-theme-modern .broker-email a:hover,
.immoportal-theme-modern .broker-mobile a:hover {
    color: var(--immoportal-primary);
}

/* Energy class styling */
.immoportal-theme-modern .energy-class {
    border-radius: 3px;
}

/* Highlight color for prices */
.immoportal-theme-modern .immoportal-prices-box .details-list-prices dt.highlight,
.immoportal-theme-modern .immoportal-prices-box .details-list-prices dd.highlight {
    color: var(--immoportal-primary);
}
