/* ============================================================
   KIC.CSS â€” TonKot Design System  [AUDITED & FIXED]
   Fixes applied:
     â€¢ Added missing --kic-gray-* scale (50â†’700)
     â€¢ Added --shadow-xl, --shadow-2xl, --space-32
     â€¢ Added --kic-text-light, --kic-text-main aliases
     â€¢ Fixed font-family string quotes (' Inter' â†’ 'Inter')
     â€¢ Fixed .kic-btn--loading content pseudo-element
     â€¢ Removed 8 duplicate rule blocks (nav, hero, section, badge)
     â€¢ Fixed background-attachment: fixed on mobile
   ============================================================

/* ============================================================
   KIC.CSS â€” TonKot Design System [ORIGINAL TABLE OF CONTENTS]
   ============================================================

   SECTION 00 â€” CSS Custom Properties
   SECTION 01 â€” Reset & Base
   SECTION 02 â€” Typography
   SECTION 03 â€” Layout & Grid
   SECTION 04 â€” Navigation / Header (Placeholder)
   SECTION 05 â€” Boutons & CTA
   SECTION 06 â€” Formulaires & Inputs
   SECTION 07 â€” Cards (base commune)
   SECTION 08 â€” Badges & Tags
   SECTION 09 â€” RESPONSIVE
   SECTION 10 â€” LOADER (KIC Style)

   ============================================================ */

/* === SECTION 00 â€” CSS Custom Properties === */
:root {
    /* --- Couleurs --- */
    --kic-primary: #6C3CE1;
    --kic-primary-light: #8B5CF6;
    --kic-primary-dark: #4C1D95;
    --kic-primary-bg: #F5F3FF;

    --kic-secondary: #FF6B4A;
    --kic-secondary-light: #FF8A70;
    --kic-secondary-dark: #E54E2E;

    --kic-accent: #00D9A3;
    --kic-accent-light: #6EECD5;

    --kic-dark: #1A1A2E;
    --kic-text: #2D2D3A;
    --kic-text-muted: #6B7280;
    --kic-border: #E5E7EB;
    --kic-bg: #F8F7FF;
    --kic-white: #FFFFFF;
    --kic-surface: #F3F4F6;

    --kic-success: #10B981;
    --kic-success-accent: #0b9b81;
    --kic-warning: #F59E0B;
    --kic-error: #EF4444;
    --kic-info: #3B82F6;

    /* --- Typographie --- */
    --font-main: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-display: 'Poppins', 'Inter', system-ui, sans-serif;

    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;

    /* --- Espacements --- */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

    /* --- Bordures --- */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;

    /* --- Ombres --- */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 16px rgba(108, 60, 225, 0.10);
    --shadow-lg: 0 8px 32px rgba(108, 60, 225, 0.15);
    --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.07);

    /* --- Transitions --- */
    --transition-fast: 150ms ease;
    --transition-normal: 250ms ease;
    --transition-slow: 400ms ease;

    /* --- Z-index --- */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal: 300;
    --z-toast: 400;


    /* --- Gray scale (missing from original) --- */
    --kic-gray-50: #F9FAFB;
    --kic-gray-100: #F3F4F6;
    --kic-gray-200: #E5E7EB;
    --kic-gray-300: #D1D5DB;
    --kic-gray-400: #9CA3AF;
    --kic-gray-500: #6B7280;
    --kic-gray-600: #4B5563;
    --kic-gray-700: #374151;

    /* --- Missing shadow tokens --- */
    --shadow-xl: 0 16px 48px rgba(108, 60, 225, 0.18);
    --shadow-2xl: 0 24px 64px rgba(108, 60, 225, 0.22);

    /* --- Missing spacing token --- */
    --space-32: 8rem;

    /* --- Missing text alias tokens (used in auth form) --- */
    --kic-text-light: #9CA3AF;
    --kic-text-main: #2D2D3A;

    /* --- Layout --- */
    --container-max: 1280px;
    --container-pad: var(--space-6);
}

/* === SECTION 01 â€” Reset & Base === */
*,
::before,
::after {
    box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li {
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-main);
    color: var(--kic-text);
    background-color: var(--kic-white);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul,
ol {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition-fast);
}

/* === SECTION 02 â€” Typography === */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.2;
    color: var(--kic-dark);
}

h1 {
    font-size: var(--text-4xl);
    margin-bottom: var(--space-6);
}

h2 {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-5);
}

h3 {
    font-size: var(--text-2xl);
    margin-bottom: var(--space-4);
}

h4 {
    font-size: var(--text-xl);
    margin-bottom: var(--space-3);
}

p {
    font-size: var(--text-base);
    line-height: 1.6;
    margin-bottom: var(--space-4);
}

a {
    color: var(--kic-primary);
}

a:hover {
    color: var(--kic-primary-dark);
}

strong {
    font-weight: 700;
}

small {
    font-size: var(--text-xs);
}

.kic-text-muted {
    color: var(--kic-text-muted) !important;
}

.kic-text-danger {
    color: var(--kic-error) !important;
}

.kic-color-warning {
    color: var(--kic-warning) !important;
}

/* === SECTION 03 â€” Layout & Grid === */
.kic-container {
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad);
}

/* .kic-section â€” canonical definition below */

.kic-section--gray {
    background-color: var(--kic-bg);
}

.kic-section--dark {
    background-color: var(--kic-dark);
    color: var(--kic-white);
}

.kic-grid {
    display: grid;
    gap: var(--space-6);
}

.kic-grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.kic-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.kic-grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {
    .kic-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .kic-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {

    .kic-grid-4,
    .kic-grid-3,
    .kic-grid-2 {
        grid-template-columns: 1fr;
    }
}

.kic-flex {
    display: flex;
    gap: var(--space-4);
}

.kic-flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.kic-flex-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* === SECTION 04 â€” Navigation === */
.kic-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    padding-top: var(--space-1);
    background: var(--kic-white);
    display: flex;
    align-items: center;
    z-index: 1000;
    transition: all var(--transition-normal);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    /* Ombre plus visible */
    border-bottom: 1px solid var(--kic-border);
    /* Bordure lÃ©gÃ¨re */
}

/* Styles pour les boutons Auth Guest */
.kic-nav__auth-guest {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.kic-nav__link-btn {
    background: transparent;
    border: none;
    color: var(--kic-text);
    font-weight: 600;
    font-size: var(--text-sm);
    cursor: pointer;
    transition: color var(--transition-fast);
    padding: var(--space-2) var(--space-3);
}

.kic-nav__link-btn:hover {
    color: var(--kic-primary);
}

.kic-nav__link-btn--primary {
    color: var(--kic-primary);
    background: var(--kic-primary-bg);
    border-radius: var(--radius-md);
}

.kic-nav__divider {
    color: var(--kic-border);
    font-weight: 300;
}

/* --- Hero Content & Stats --- */
/* .kic-hero__content â€” canonical definition below (max-width: 700px) */

.kic-hero__stats {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    margin-top: var(--space-8);
}

.kic-hero__stat {
    display: flex;
    flex-direction: column;
}

.kic-hero__stat-value {
    color: var(--kic-white);
    font-size: var(--text-2xl);
    font-weight: 800;
    line-height: 1;
}

.kic-hero__stat-label {
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: var(--space-1);
}

.kic-hero__stat-divider {
    width: 1px;
    height: 30px;
    background: rgba(255, 255, 255, 0.2);
}

/* --- Search Header --- */
.kic-search__header {
    padding-bottom: 10px;
}

.kic-search__tag {
    display: inline-block;
    padding: var(--space-1) var(--space-3);
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: var(--space-2);
}

.kic-search__title {
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-dark);
    margin: 0;
}

/* --- Scroll Indicator --- */
.kic-hero__scroll {
    margin-top: 50px;
    position: absolute;
    bottom: var(--space-8);
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.kic-hero__scroll-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    color: var(--kic-white);
    text-decoration: none;
    opacity: 0.8;
    transition: opacity var(--transition-normal);
}

.kic-hero__scroll-link:hover {
    opacity: 1;
    color: var(--kic-white);
}

.kic-hero__scroll-text {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.kic-hero__scroll-link i {
    font-size: var(--text-lg);
    animation: bounce 2s infinite;
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}

/* --- Newsletter & PropriÃ©taire CTA Section --- */
.kic-owner-cta {
    background: var(--kic-dark);
    padding-block: var(--space-16);
    color: var(--kic-white);
    position: relative;
    overflow: hidden;
}

.kic-owner-cta__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
}

.kic-owner-cta__text h2 {
    color: var(--kic-white);
    font-size: var(--text-3xl);
    font-weight: 800;
    margin-bottom: var(--space-4);
}

.kic-owner-cta__text p {
    font-size: var(--text-lg);
    color: rgba(255, 255, 255, 0.7);
    max-width: 500px;
    margin: 0;
}

.kic-owner-cta__actions {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
    justify-content: center;
}

/* ResponsivitÃ© pour le CTA */
@media (max-width: 991px) {
    .kic-owner-cta__content {
        flex-direction: column;
        text-align: center;
    }
}

.kic-nav--scrolled {
    border-bottom-color: var(--kic-border);
    box-shadow: var(--shadow-sm);
}

.kic-nav .kic-container {
    max-width: 100%;
    width: 100%;
    padding-inline: var(--space-8);
}

/* .kic-nav__inner â€” canonical definition below, around line 1220 */

/* .kic-nav__left â€” canonical definition below */

.kic-nav__links {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: var(--space-8);
    /* AugmentÃ© l'espace entre les liens */
    list-style: none;
    margin: 0;
    padding: 0;
}

/* .kic-nav__link â€” canonical definition below */

/* .kic-nav__right â€” canonical definition below */

.kic-nav__lang-container {
    display: flex;
    align-items: center;
}

.kic-nav__auth {
    display: flex;
    align-items: center;
}

/* .kic-nav__logo-img â€” canonical definition below */

/* .kic-nav__brand â€” canonical definition below */

/* .kic-nav__logo-text â€” canonical definition below */

/* .kic-nav__link hover/active â€” canonical definitions below */

.kic-nav__actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.kic-nav__btn-publish {
    /* HÃ©rite de .kic-btn.kic-btn--secondary, taille --sm */
}

.kic-nav__desktop-actions {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.kic-nav__lang-switcher {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    cursor: pointer;
    padding: var(--space-2);
    border-radius: var(--radius-md);
    transition: background var(--transition-fast);
}

.kic-nav__lang-switcher:hover {
    background: var(--kic-surface);
}

.kic-nav__user-menu {
    position: relative;
}

.kic-nav__user-trigger,
.kic-nav__user-btn {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    border: 1.5px solid transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.kic-nav__user-trigger:hover,
.kic-nav__user-btn:hover {
    border-color: var(--kic-primary);
    background: var(--kic-white);
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
}

.kic-nav__user-trigger svg,
.kic-nav__user-trigger i {
    width: 24px;
    height: 24px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kic-nav__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--kic-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--kic-border);
    min-width: 200px;
    z-index: var(--z-dropdown);
    overflow: hidden;
}

.kic-nav__dropdown-item {
    display: block;
    padding: var(--space-3) var(--space-5);
    font-size: var(--text-sm);
    color: var(--kic-text);
    text-decoration: none;
    transition: background var(--transition-fast);
}

.kic-nav__dropdown-item:hover {
    background: var(--kic-surface);
}

.kic-nav__logout-button {
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
}

.kic-nav__dropdown-divider {
    height: 1px;
    background: var(--kic-border);
}

.kic-nav__hamburger {
    display: none;
    flex-direction: column;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--kic-text);
    padding: var(--space-2);
}

.kic-nav__hamburger span {
    display: block;
    width: 28px;
    height: 2px;
    background-color: currentColor;
    border-radius: 2px;
    transition: all var(--transition-normal);
}

/* === SECTION 05 â€” Boutons & CTA === */
.kic-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-full);
    font-weight: 600;
    font-family: var(--font-main);
    transition: var(--transition-fast);
    cursor: pointer;
    border: 2px solid transparent;
    white-space: nowrap;
    justify-content: center;
    font-size: var(--text-base);
}

.kic-btn--primary {
    background-color: var(--kic-primary);
    color: var(--kic-white) !important;
}

.kic-btn--primary:hover {
    background-color: var(--kic-primary-dark);
    color: var(--kic-white) !important;
}

.kic-btn--secondary {
    background-color: var(--kic-secondary);
    color: var(--kic-white);
}

.kic-btn--secondary:hover {
    background-color: var(--kic-secondary-dark);
    color: var(--kic-white);
}

.kic-btn--outline {
    border-color: var(--kic-primary);
    color: var(--kic-primary);
    background-color: transparent;
}

.kic-btn--outline:hover {
    background-color: var(--kic-primary-bg);
}

.kic-btn--ghost {
    background-color: transparent;
    color: var(--kic-primary);
}

.kic-btn--ghost:hover {
    background-color: var(--kic-primary-bg);
}

.kic-btn--accent {
    background-color: var(--kic-accent);
    color: var(--kic-dark);
}

.kic-btn--outline-white {
    background: transparent;
    border: 2px solid var(--kic-white);
    color: var(--kic-white);
}

.kic-btn--outline-white:hover {
    background: var(--kic-white);
    color: var(--kic-dark);
}

.kic-btn--sm {
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-sm);
}

.kic-btn--lg {
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-lg);
}

.kic-btn--full {
    width: 100%;
}

.kic-btn--loading {
    opacity: 0.7;
    pointer-events: none;
    position: relative;
    color: transparent !important;
}

.kic-btn--loading::after {
    content: '';
    position: absolute;
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: currentColor;
    animation: kic-spinner 0.6s linear infinite;
}

@keyframes kic-spinner {
    to {
        transform: rotate(360deg);
    }
}

.kic-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* === SECTION 06 â€” Formulaires & Inputs === */
.kic-form-group {
    margin-bottom: var(--space-5);
}

.kic-label {
    display: block;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--kic-text);
    margin-bottom: var(--space-2);
}

.kic-required {
    color: var(--kic-error);
}

.kic-input {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1.5px solid var(--kic-border);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    color: var(--kic-text);
    background-color: var(--kic-white);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    font-family: var(--font-main);
}

.kic-input::placeholder {
    color: var(--kic-text-muted);
    opacity: 0.6;
}

.kic-input:focus {
    border-color: var(--kic-primary);
    outline: none;
    box-shadow: 0 0 0 4px rgba(108, 60, 225, 0.08);
}

.kic-input--error {
    border-color: var(--kic-error);
}

.kic-input-group {
    position: relative;
}

.kic-input-group__icon {
    position: absolute;
    left: var(--space-3);
    top: 50%;
    transform: translateY(-50%);
    color: var(--kic-text-muted);
    display: flex;
    align-items: center;
    z-index: 2;
}

.kic-input-group .kic-input {
    padding-left: var(--space-4);
}

.kic-input-group--has-icon .kic-input {
    padding-left: var(--space-10) !important;
    /* 40px for icon space */
}

.kic-input-group--has-icon .kic-select {
    padding-left: var(--space-10);
}

.kic-form-stack {
    display: grid;
    gap: var(--space-4);
}

.kic-select {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1.5px solid var(--kic-border);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    color: var(--kic-text);
    background-color: var(--kic-white);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--space-4) center;
    background-size: 1.25rem;
    font-family: var(--font-main);
}

.kic-select--multiple {
    min-height: 120px;
    padding: var(--space-3) var(--space-4);
    background-image: none;
}

.kic-recipient-select {
    position: relative;
}

.kic-recipient-select__trigger {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: 1.5px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    color: var(--kic-text);
    text-align: left;
}

.kic-recipient-select__trigger:focus {
    border-color: var(--kic-primary);
    outline: none;
    box-shadow: 0 0 0 4px rgba(108, 60, 225, 0.08);
}

.kic-recipient-select__count {
    min-width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    background: var(--kic-primary);
    color: var(--kic-white);
    font-size: var(--text-xs);
    font-weight: 800;
}

.kic-recipient-select__panel {
    position: absolute;
    z-index: 30;
    top: calc(100% + var(--space-2));
    left: 0;
    right: 0;
    display: grid;
    gap: var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    box-shadow: var(--shadow-lg);
}

.kic-recipient-select__options {
    max-height: 240px;
    display: grid;
    gap: var(--space-1);
    overflow-y: auto;
}

.kic-recipient-select__option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.kic-recipient-select__option:hover {
    background: var(--kic-primary-bg);
}

.kic-recipient-select__option input {
    accent-color: var(--kic-primary);
}

.kic-recipient-select__option strong,
.kic-recipient-select__option small {
    display: block;
}

.kic-recipient-select__option small {
    color: var(--kic-text-muted);
}

.kic-recipient-select__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.kic-recipient-select__chip {
    border: 0;
    border-radius: var(--radius-full);
    padding: var(--space-1) var(--space-3);
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    font-size: var(--text-sm);
    font-weight: 700;
}

.kic-textarea {
    width: 100%;
    padding: var(--space-3) var(--space-4);
    border: 1.5px solid var(--kic-border);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    color: var(--kic-text);
    background-color: var(--kic-white);
    resize: vertical;
    min-height: 120px;
    font-family: var(--font-main);
}

.kic-error-msg {
    font-size: var(--text-sm);
    color: var(--kic-error);
    margin-top: var(--space-1);
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.kic-helper-msg {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin-top: var(--space-1);
}

/* === SECTION 07 â€” Cards (base commune) === */
.kic-card {
    background-color: var(--kic-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.kic-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.kic-card__img-wrap {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16/10;
    position: relative;
}

.kic-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.kic-card:hover .kic-card__img {
    transform: scale(1.05);
}

.kic-card__body {
    padding: var(--space-5);
}

.kic-card__footer {
    padding: var(--space-4) var(--space-5);
    border-top: 1px solid var(--kic-border);
}

/* === SECTION 08 â€” Badges & Tags === */
.kic-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.kic-badge--primary {
    background-color: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-badge--secondary {
    background-color: rgba(255, 107, 74, 0.1);
    color: var(--kic-secondary-dark);
}

.kic-badge--accent,
.kic-badge--new {
    background-color: rgba(0, 217, 163, 0.15);
    color: #00A67E;
}

.kic-badge--success {
    background-color: rgba(16, 185, 129, 0.1);
    color: var(--kic-success);
}

.kic-badge--warning {
    background-color: rgba(245, 158, 11, 0.1);
    color: var(--kic-warning);
}

.kic-badge--kot {
    background-color: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-badge--studio {
    background-color: rgba(255, 107, 74, 0.1);
    color: var(--kic-secondary-dark);
}

.kic-badge--coloc {
    background-color: rgba(0, 217, 163, 0.15);
    color: #00A67E;
}

/* Badges dashboard (manquants dans la version originale) */
.kic-badge--danger {
    background-color: rgba(239, 68, 68, 0.1);
    color: var(--kic-error);
}

.kic-badge--info {
    background-color: rgba(59, 130, 246, 0.1);
    color: var(--kic-info);
}

/* .kic-badge--overlay â€” canonical definition below (space-4) */

/* === SECTION 17 ï¿½ Footer === */
.kic-footer {
    background: var(--kic-dark);
    color: rgba(255, 255, 255, 0.7);
}

.kic-footer__top {
    padding: var(--space-16) 0;
}

.kic-footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--space-12);
}

.kic-footer__grid--demo {
    grid-template-columns: 2fr 1fr 1fr;
}

.kic-footer__brand-logo {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-white);
    margin-bottom: var(--space-4);
    display: block;
}

.kic-footer__brand-logo img {
    display: block;
    max-width: 160px;
    max-height: 56px;
    object-fit: contain;
}

.kic-footer__brand-text {
    font-size: var(--text-sm);
    line-height: 1.7;
    margin-bottom: var(--space-6);
    max-width: 280px;
}

.kic-footer__brand-contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.kic-footer__contact-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.kic-footer__contact-item:hover {
    color: var(--kic-primary-light);
}

.kic-footer__col-title {
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--kic-white);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--space-5);
}

.kic-footer__col-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.kic-footer__col-link {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.kic-footer__col-link:hover {
    color: var(--kic-white);
}

.kic-footer__social {
    display: flex;
    gap: var(--space-3);
}

.kic-footer__social-link {
    width: 38px;
    height: 38px;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all var(--transition-fast);
}

.kic-footer__social-link:hover {
    background: var(--kic-primary);
    color: var(--kic-white);
}

.kic-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: var(--space-5) 0;
}

.kic-footer__copyright {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.4);
    text-align: center;
}
.kic-footer__copyright a { color: var(--kic-white); text-underline-offset: 0.2em; }
.kic-footer__copyright a:hover { color: #d8c9ff; }

/* Page publique : périmètre de la démonstration */
.kic-demo-about { padding-block: var(--space-8) calc(var(--space-8) * 2); }
.kic-demo-about__intro { max-width: 70ch; margin: 0 0 var(--space-8); font-size: var(--text-lg); line-height: 1.7; color: var(--kic-text); }
.kic-demo-about__acquisition { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, 0.7fr); gap: var(--space-8); align-items: center; padding: var(--space-8); border-radius: var(--radius-lg); background: #241945; color: var(--kic-white); }
.kic-demo-about__acquisition h2 { margin-bottom: var(--space-4); color: inherit; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.kic-demo-about__acquisition p { max-width: 68ch; margin: 0; line-height: 1.7; color: #eee8ff; }
.kic-demo-about__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.kic-demo-about__phone { color: var(--kic-white); text-underline-offset: 0.2em; }
.kic-demo-about__phone:hover { color: #d8c9ff; }
.kic-demo-about__section { margin-top: calc(var(--space-8) * 2); }
.kic-demo-about__section > h2 { margin-bottom: var(--space-3); font-size: clamp(1.5rem, 2.5vw, 2rem); }
.kic-demo-about__section > p { max-width: 70ch; margin-bottom: var(--space-6); line-height: 1.7; color: var(--kic-text-muted); }
.kic-demo-about__table-wrap { overflow-x: auto; }
.kic-demo-about__table { width: 100%; min-width: 660px; border-collapse: collapse; line-height: 1.55; }
.kic-demo-about__table th, .kic-demo-about__table td { padding: var(--space-4); text-align: left; vertical-align: top; border-bottom: 1px solid var(--kic-border); }
.kic-demo-about__table thead th { color: var(--kic-white); background: #443080; font-size: var(--text-sm); }
.kic-demo-about__table tbody th { width: 20%; font-weight: 700; }
.kic-demo-about__table tbody td { width: 40%; }
.kic-demo-about__table tbody tr:nth-child(even) { background: var(--kic-gray-50); }
.kic-demo-about__extensions { display: grid; gap: var(--space-5); max-width: 76ch; margin: 0; padding: 0; list-style: none; }
.kic-demo-about__extensions li { padding-top: var(--space-4); border-top: 1px solid var(--kic-border); }
.kic-demo-about__extensions h3 { margin: 0 0 var(--space-2); font-size: var(--text-lg); }
.kic-demo-about__extensions p { margin: 0; line-height: 1.65; color: var(--kic-text-muted); }
.kic-demo-about__audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-bottom: var(--space-6); }
.kic-demo-about__audience { border-top: 2px solid var(--kic-primary); padding-top: var(--space-4); }
.kic-demo-about__audience h3 { margin-bottom: var(--space-3); font-size: var(--text-lg); }
.kic-demo-about__audience p { margin: 0; line-height: 1.65; }
.kic-demo-about__safety { margin-top: calc(var(--space-8) * 2); padding: var(--space-6); border-radius: var(--radius-md); background: var(--kic-gray-50); }
.kic-demo-about__safety h2 { margin-bottom: var(--space-3); font-size: var(--text-lg); }
.kic-demo-about__safety p { max-width: 70ch; margin: 0; line-height: 1.65; }
@media (max-width: 760px) {
    .kic-demo-about__acquisition, .kic-demo-about__audiences { grid-template-columns: 1fr; }
    .kic-demo-about__acquisition { padding: var(--space-6); }
    .kic-demo-about__section { margin-top: var(--space-8); }
}

/* === SECTION 29 ï¿½ Responsive === */
@media (max-width: 1024px) {
    .kic-nav__links {
        display: none;
    }

    .kic-nav__hamburger {
        display: flex;
    }

    .kic-nav__desktop-actions {
        display: none !important;
    }

    .kic-nav .kic-container {
        padding-inline: var(--space-4);
    }

    .kic-nav__inner {
        padding: 0 var(--space-2);
        gap: var(--space-2);
    }

    .kic-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* On desktop, hide mobile-only sections */
@media (min-width: 1025px) {
    .kic-nav__mobile-actions {
        display: none !important;
    }
}

@media (max-width: 640px) {
    .kic-footer__grid {
        grid-template-columns: 1fr;
    }

    .kic-nav__btn-publish span {
        display: none;
    }
}

/* === SECTION 30 Layout Helpers === */
.kic-main {
    /* padding-top: 80px; */
    min-height: calc(100vh - 400px);
    background-color: var(--kic-white);
}

.kic-page-hero+.kic-main {
    padding-top: 0;
}

.kic-section {
    padding: var(--space-20) 0;
}

.kic-section-title {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    color: var(--kic-dark);
    margin-bottom: var(--space-12);
    text-align: center;
}

.kic-section-title--left {
    text-align: left;
}


/* JavaScript logic for sticky header */
/* To be moved to a .js file later */


/* Mobile Menu Styles */
.kic-nav__links.active {
    display: flex !important;
    position: fixed;
    top: 80px; /* Match header height */
    left: 0;
    width: 100%;
    height: calc(100vh - 80px);
    background: var(--kic-white);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-10);
    z-index: 1000;
    transform: none; /* Reset centering transform from desktop */
    gap: var(--space-4);
    overflow-y: auto; /* Allow scrolling if menu is long */
}

.kic-nav__links.active .kic-nav__link {
    font-size: var(--text-lg);
    font-weight: 600;
    width: 100%;
    text-align: center;
    padding: var(--space-4);
    border-bottom: 1px solid var(--kic-gray-100);
}

.kic-nav__mobile-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    padding-top: var(--space-4);
}

.kic-nav__divider-mobile {
    width: 40px;
    height: 3px;
    background: var(--kic-primary);
    border-radius: var(--radius-full);
    margin-bottom: var(--space-2);
}

.kic-nav__user-info-mobile {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    font-weight: 700;
    font-size: var(--text-lg);
    color: var(--kic-primary);
}

.kic-nav__user-info-mobile i {
    font-size: 24px;
}

.kic-nav__mobile-user-links {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--space-2);
}

.kic-nav__mobile-user-links .kic-nav__dropdown-item {
    text-align: center;
    font-size: var(--text-base);
    padding: var(--space-3);
    border-radius: var(--radius-md);
}

.kic-nav__auth-guest-mobile {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    width: 100%;
    max-width: 280px;
}

.kic-nav__hamburger.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.kic-nav__hamburger.active span:nth-child(2) {
    opacity: 0;
}

.kic-nav__hamburger.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* === SECTION 32 — Language Switcher === */
.language-switcher-wrapper {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.btn-language {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: var(--kic-primary-bg) !important;
    border: 1.5px solid transparent !important;
    border-radius: var(--radius-md);
    color: var(--kic-primary) !important;
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
    line-height: 1.5;
}

.btn-language:hover {
    background: var(--kic-white) !important;
    border-color: var(--kic-primary) !important;
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
}

.btn-language .locale-code {
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.btn-language i.fa-chevron-down {
    font-size: 10px;
    opacity: 0.8;
    transition: transform var(--transition-normal);
}

.btn-language[aria-expanded="true"] i.fa-chevron-down {
    transform: rotate(180deg);
}

.language-dropdown-menu {
    border-radius: var(--radius-lg);
    border: 1px solid var(--kic-border);
    box-shadow: var(--shadow-lg);
    padding: 6px;
    min-width: 160px;
    margin-top: 10px !important;
    z-index: var(--z-dropdown);
}

.language-item {
    border-radius: var(--radius-md);
    padding: 10px 16px;
    font-size: var(--text-sm);
    color: var(--kic-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--font-display);
    font-weight: 500;
    transition: all var(--transition-fast);
    border: none;
    background: transparent;
    width: 100%;
}

.language-item:hover {
    background: var(--kic-surface);
    color: var(--kic-primary);
}

.language-item.active {
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    font-weight: 700;
}

/* Responsive fixes for Language Switcher */
@media (max-width: 767px) {
    .btn-language {
        padding: 0;
        width: 40px;
        height: 40px;
        justify-content: center;
        border-radius: var(--radius-md);
    }
    
    .btn-language .locale-code {
        display: block !important; /* Show current locale code in the square */
        font-size: 12px;
    }
    
    .btn-language i.fa-chevron-down {
        display: none;
    }
}




.kic-nav__inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-6);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.kic-nav__left,
.kic-nav__right {
    display: flex;
    align-items: center;
    gap: var(--space-6);
}



/* --- Navbar Polish --- */
.kic-nav__link {
    font-family: var(--font-main);
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--kic-dark);
    text-decoration: none;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.kic-nav__link:hover {
    color: var(--kic-primary);
    background: rgba(108, 60, 225, 0.05);
}

.kic-nav__logo-img {
    height: 56px;
    width: auto;
    object-fit: contain;
    display: block;
}

.kic-nav__logo-text {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-primary);
}

.kic-nav__brand {
    display: flex;
    align-items: center;
    text-decoration: none;
}


/* === SECTION 09 ï¿½ Hero & Search === */
.kic-hero {
    position: relative;
    padding: var(--space-32) 0 190px;
    background: linear-gradient(135deg, rgba(108, 60, 225, 0.9) 0%, rgba(108, 60, 225, 0.75) 100%),
        url('/assets/images/students/home_bg_campus.png') center / cover no-repeat;
    background-attachment: fixed;
    color: var(--kic-white);
    overflow: hidden;
    min-height: 20vh;
    display: flex;
    align-items: center;
}

.kic-hero::after {
    content: '';
    position: absolute;
    bottom: -10%;
    right: -5%;
    width: 40%;
    height: 80%;
    background: radial-gradient(circle, var(--kic-secondary) 0%, transparent 70%);
    filter: blur(80px);
    opacity: 0.15;
    z-index: 1;
}

.kic-hero__container {
    position: relative;
    z-index: 2;
    padding-top: var(--space-12);
}

.kic-hero__content {
    max-width: 700px;
    margin-bottom: var(--space-20);
}

.kic-hero__badge {
    display: inline-block;
    padding: var(--space-2) var(--space-4);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-6);
}

.kic-hero__title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: var(--space-6);
    color: var(--kic-white);
}

.kic-hero__title span {
    color: var(--kic-secondary);
}

.kic-hero__subtitle {
    font-size: var(--text-lg);
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin-bottom: var(--space-8);
}

/* Search Box Injection */
.kic-search {
    background: var(--kic-white);
    padding: var(--space-8);
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-2xl);
    color: var(--kic-dark);
    position: relative;
    z-index: 10;
    margin-top: -40px;
}

.kic-search__tabs {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
    border-bottom: 1px solid var(--kic-gray-100);
    padding-bottom: var(--space-4);
}

.kic-search__tab {
    padding: var(--space-2) var(--space-6);
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--kic-gray-500);
    cursor: pointer;
    border-radius: var(--radius-lg);
    transition: all var(--transition-fast);
}

.kic-search__tab.active {
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-search__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--space-4);
    align-items: end;
}

.kic-search__field {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    position: relative;
}

.kic-search__label {
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--kic-gray-400);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kic-search__input-wrapper {
    position: relative;
}

.kic-search__input-wrapper--clickable {
    cursor: pointer;
}

.kic-search__input-wrapper i {
    position: absolute;
    left: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    color: var(--kic-primary);
    font-size: var(--text-base);
}

.kic-search__input-wrapper .kic-search__dropdown-icon {
    font-size: var(--text-xs);
    opacity: 0.5;
}

.kic-search__input {
    width: 100%;
    padding: var(--space-3) var(--space-4) var(--space-3) var(--space-10);
    border: 1px solid var(--kic-gray-200);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    font-weight: 500;
    background: var(--kic-gray-50);
    min-height: 48px;
    transition: all var(--transition-fast);
}

.kic-search__input:focus {
    outline: none;
    border-color: var(--kic-primary);
    background: var(--kic-white);
    box-shadow: 0 0 0 4px rgba(108, 60, 225, 0.1);
}

/* --- Sidebar Specific Components --- */
.kic-sidebar__input-group .kic-sidebar__input {
    padding-left: var(--space-4) !important;
}

.kic-sidebar__input-group:has(.kic-sidebar__input-icon) .kic-sidebar__input {
    padding-left: var(--space-10) !important;
}

.kic-sidebar__input-group {
    position: relative;
    margin-top: var(--space-2);
}

.kic-sidebar__input-icon {
    position: absolute;
    left: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    color: var(--kic-primary);
    font-size: var(--text-base);
    z-index: 1;
}

.kic-sidebar__input {
    width: 100%;
    padding: var(--space-2) var(--space-4) var(--space-2) var(--space-4);
    border: 1.5px solid var(--kic-gray-200);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    font-weight: 500;
    min-width: 80px;
    background: var(--kic-white);
    min-height: 42px;
    transition: all var(--transition-fast);
}

.kic-sidebar__input:focus {
    outline: none;
    border-color: var(--kic-primary);
    box-shadow: 0 0 0 4px rgba(108, 60, 225, 0.1);
}

.kic-sidebar__select-wrapper {
    position: relative;
    margin-top: var(--space-2);
}

.kic-sidebar__select-wrapper::after {
    content: '\f078';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    right: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    color: var(--kic-primary);
    pointer-events: none;
    font-size: 10px;
}

.kic-sidebar__select {
    width: 100%;
    padding: var(--space-2) var(--space-10) var(--space-2) var(--space-10);
    border: 1.5px solid var(--kic-gray-200);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    font-weight: 500;
    background: var(--kic-white);
    min-height: 42px;
    appearance: none;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.kic-sidebar__select:focus {
    outline: none;
    border-color: var(--kic-primary);
    box-shadow: 0 0 0 4px rgba(108, 60, 225, 0.1);
}

.kic-sidebar__select-icon {
    position: absolute;
    left: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    color: var(--kic-primary);
    z-index: 1;
}

/* UI Slider Customization */
.kic-sidebar .ui-slider {
    background: var(--kic-gray-200);
    border: none;
    height: 6px;
    border-radius: 3px;
    margin: 25px 12px 15px;
    width: calc(100% - 24px);
}

.kic-sidebar .ui-slider-range {
    background: var(--kic-primary);
    border-radius: 3px;
}

.kic-sidebar .ui-slider-handle {
    width: 18px;
    height: 18px;
    background: var(--kic-white);
    border: 2px solid var(--kic-primary);
    border-radius: 50%;
    top: -6px;
    cursor: grab;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
    outline: none;
}

.kic-sidebar .ui-slider-handle:hover,
.kic-sidebar .ui-slider-handle:focus {
    transform: scale(1.15);
    box-shadow: 0 0 0 5px rgba(108, 60, 225, 0.15);
}

.kic-sidebar .ui-slider-handle:active {
    cursor: grabbing;
}

.kic-search__input--fake {
    display: flex;
    align-items: center;
    color: var(--kic-text-main);
}

/* --- Hero Search Livewire Additions --- */
.kic-search__autocomplete,
.kic-search__multi-select {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: var(--kic-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    z-index: 100;
    padding: var(--space-2);
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid var(--kic-border);
}

.kic-search__suggestion,
.kic-search__option {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all var(--transition-fast);
    color: var(--kic-text-main);
    font-size: var(--text-sm);
}

.kic-search__suggestion:hover,
.kic-search__option:hover {
    background-color: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-search__suggestion-count,
.kic-search__checkbox-count,
.kic-filter-count {
    font-size: var(--text-xs);
    opacity: 0.6;
    font-weight: 400;
}

.kic-search__checkbox-item {
    display: flex;
    align-items: center;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.kic-search__checkbox-item:hover {
    background: var(--kic-primary-bg);
}

.kic-search__checkbox-item input {
    margin-right: var(--space-3);
    width: 16px;
    height: 16px;
    accent-color: var(--kic-primary);
    cursor: pointer;
}

.kic-search__checkbox-label {
    flex: 1;
    font-size: var(--text-sm);
    color: var(--kic-text-main);
}

@media (max-width: 1200px) {
    .kic-search__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .kic-search__grid {
        grid-template-columns: 1fr;
    }
}

/* === SECTION 20 – Property Form Gallery === */
.kic-property-form__sortable-gallery {
    min-height: 150px;
    padding: 10px;
    border: 1px dashed var(--kic-gray-300);
    border-radius: var(--radius-lg);
    background-color: var(--kic-gray-50);
}

.gallery-item {
    cursor: grab;
    transition: transform 0.2s ease;
}

.gallery-item:active {
    cursor: grabbing;
}

.gallery-item.ui-sortable-helper {
    cursor: grabbing;
    transform: scale(1.05);
    z-index: 9999;
    box-shadow: var(--shadow-xl);
}

.gallery-item .card {
    transition: border-color 0.3s ease;
}

.sortable-placeholder {
    visibility: visible !important;
    background-color: var(--kic-gray-200) !important;
    border: 2px dashed var(--kic-gray-400) !important;
    border-radius: var(--radius-md);
}

.kic-property-form__drag-handle {
    position: absolute;
    top: 5px;
    right: 5px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: var(--radius-sm);
    padding: 2px 6px;
    cursor: grab;
    color: var(--kic-gray-600);
    z-index: 10;
    font-size: 14px;
}

.kic-property-form__drag-handle:hover {
    color: var(--kic-primary);
    background: var(--kic-white);
}

.gallery-item img {
    pointer-events: none;
    -webkit-user-drag: none;
}

.remove-image-btn, .remove-existing-image-btn {
    pointer-events: auto;
}

/* === SECTION 07 ï¿½ Property Cards === */
.kic-property-card {
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    border: 1px solid var(--kic-gray-100);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
    position: relative;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100%;
}

.kic-property-card__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.kic-property-card__body {
    flex-grow: 1;
}

.kic-property-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--kic-primary-light);
}

.kic-property-card__link-wrap {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100%;
}

.kic-property-card__img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.kic-property-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.kic-property-card:hover .kic-property-card__img {
    transform: scale(1.05);
}

/* Mode Liste */
.kic-latest-properties__grid--list .kic-property-card {
    height: auto !important;
}

.kic-property-card--list,
.kic-property-card--list .kic-property-card__link-wrap {
    min-height: 0 !important;
    height: auto !important;
}

.kic-property-card--list .kic-property-card__link-wrap {
    display: flex;
    flex-direction: row !important;
}

.kic-property-card--list .kic-property-card__img-wrap {
    width: 35% !important;
    max-width: 300px;
    align-self: stretch;
    aspect-ratio: auto !important;
}

.kic-property-card--list .kic-property-card__img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
}

.kic-property-card--list .kic-property-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.kic-property-card--list .kic-property-card__body {
    padding: var(--space-6);
    flex-grow: 1;
}

.kic-property-card--list .kic-property-card__footer {
    border-top: 1px solid var(--kic-gray-100);
    padding: var(--space-4) var(--space-6);
}

.kic-property-card__description {
    font-size: var(--text-sm);
    color: var(--kic-gray-500);
    margin-bottom: var(--space-4);
    line-height: 1.5;
}

.kic-property-card__description--grid {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* Max 2 lignes en grille */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kic-property-card__description--list {
    display: none;
    /* CachÃ© par dÃ©faut */
}

/* Basculement en mode liste */
.kic-property-card--list .kic-property-card__description--grid {
    display: none;
}

.kic-property-card--list .kic-property-card__description--list {
    display: block;
}



@media (max-width: 768px) {
    .kic-property-card--list .kic-property-card__link-wrap {
        flex-direction: column;
        /* Retour au mode vertical sur mobile */
        height: auto;
    }

    .kic-property-card--list .kic-property-card__img-wrap,
    .kic-property-card--list .kic-property-card__content {
        width: 100%;
    }
}



/* Correction spÃ©cifique pour les logos d'agence en grille */
.kic-agency-card:not(.kic-property-card--list) .kic-property-card__img-wrap img {
    object-fit: contain !important;
    padding: 1.5rem;
    background: #fff;
}

.kic-badge--overlay {
    position: absolute;
    top: var(--space-4);
    left: var(--space-4);
    z-index: 2;
}

.kic-badge--overlay-right {
    position: absolute;
    top: var(--space-4);
    right: var(--space-4);
    z-index: 2;
}

.kic-property-card__status-icon {
    position: absolute;
    top: var(--space-4);
    right: var(--space-4);
    z-index: 2;
    display: flex;
    gap: var(--space-2);
}

.kic-status-picto {
    width: 32px;
    height: 32px;
    background: var(--kic-white);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-md);
    font-size: var(--text-sm);
    transition: all var(--transition-fast);
}

.kic-status-picto--featured {
    color: var(--kic-secondary);
    /* Couleur Coup de cÅ“ur */
}

.kic-status-picto--updated {
    color: var(--kic-primary);
}

.kic-status-picto--new {
    color: var(--kic-success);
}


.kic-property-card__body {
    padding: var(--space-5);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.kic-property-card__extra-meta {
    display: none;
    /* CachÃ© par dÃ©faut en mode grille */
    gap: var(--space-4);
    margin-left: var(--space-4);
    padding-left: var(--space-4);
    border-left: 1px solid var(--kic-gray-100);
}

.kic-property-card--list .kic-property-card__extra-meta {
    display: flex;
    /* AffichÃ© uniquement en mode liste */
}

.kic-color-pool {
    color: #0077be !important;
}

.kic-color-theme {
    color: var(--kic-primary) !important;
}

.kic-color-warning {
    color: var(--kic-secondary) !important;
    /* Orange du thÃ¨me */
}




.kic-property-card__city {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--kic-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-2);
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.kic-property-card__title {
    font-family: var(--font-display);
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: var(--space-4);
    line-height: 1.4;
    display: -webkit-box;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* View Switcher */
.kic-view-switcher {
    display: flex !important;
    flex-direction: row !important;
    background: var(--kic-gray-100);
    padding: var(--space-1);
    border-radius: var(--radius-lg);
    gap: var(--space-1);
}

.kic-view-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    border-radius: var(--radius-md);
    color: var(--kic-gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
    cursor: pointer;
}

.kic-view-btn:hover {
    color: var(--kic-primary);
}

.kic-view-btn.active {
    background: var(--kic-white);
    color: var(--kic-primary);
    box-shadow: var(--shadow-sm);
}


.kic-property-card__price-block {
    margin-top: auto;
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
}


.kic-property-card__price {
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-primary);
}

.kic-property-card__charges {
    font-size: var(--text-xs);
    color: var(--kic-gray-500);
    font-weight: 500;
    margin-left: var(--space-2);
}


.kic-property-card__price span {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--kic-gray-500);
}

.kic-property-card__charges {
    font-size: var(--text-xs);
    color: var(--kic-gray-500);
    background: var(--kic-gray-100);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
}

.kic-property-card__footer {
    padding: var(--space-4) var(--space-5);
    border-top: 1px solid var(--kic-gray-100);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--kic-gray-50);
}

.kic-property-card__meta {
    display: flex;
    gap: var(--space-4);
}

.kic-property-card__meta-item {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--kic-gray-600);
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.kic-property-card__extra-meta-item {
    display: flex;
    align-items: center;
    font-size: var(--text-lg);
}

.kic-property-card__extra-meta-item.wheelchair i {
    color: var(--kic-primary);
}

.kic-property-card__date {
    font-size: var(--text-xs);
    color: var(--kic-gray-400);
}

/* Section latest properties specific */
.kic-latest-properties__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--space-8);
    width: 100% !important;
    justify-content: start !important;
    align-items: stretch;
}

.kic-latest-properties__grid .kic-property-card {
    height: 100%;
}

.kic-listing-layout .kic-property-card {
    height: auto !important;
}

.kic-latest-properties__grid--list {
    grid-template-columns: 1fr !important;
    gap: var(--space-6);
    align-items: start !important;
}


/* Sections Homepage Layout */
.kic-section__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: var(--space-10);
    gap: var(--space-4);
}

.kic-section__tabs {
    display: flex;
    gap: var(--space-3);
    margin-bottom: var(--space-10);
}

.kic-section__tab {
    padding: var(--space-2) var(--space-6);
    background: var(--kic-gray-100);
    color: var(--kic-gray-600);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all var(--transition-fast);
}

.kic-section__tab:hover {
    background: var(--kic-gray-200);
}

.kic-section__tab--active {
    background: var(--kic-primary);
    color: var(--kic-white);
}



/* === SECTION 29  Responsive Phase 4 === */
@media (max-width: 1024px) {
    .kic-latest-properties__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--space-6);
    }
}

@media (max-width: 768px) {
    .kic-section {
        padding: var(--space-12) 0;
    }

    .kic-section__header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-6);
    }

    .kic-section__header .kic-btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .kic-latest-properties__grid {
        grid-template-columns: 1fr !important;
        gap: var(--space-4);
    }
}



/* === SECTION 11 ï¿½ Explorer par ville === */
.kic-cities__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-4);
}

.kic-city-card {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    text-decoration: none;
    aspect-ratio: 3 / 2;
    display: block;
    transition: transform var(--transition-normal);
    box-shadow: var(--shadow-sm);
}

.kic-city-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.kic-city-card__img-wrap {
    position: absolute;
    inset: 0;
}

.kic-city-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.kic-city-card:hover .kic-city-card__img {
    transform: scale(1.08);
}

.kic-city-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(26, 26, 46, 0.85) 0%, rgba(26, 26, 46, 0.2) 60%, transparent 100%);
}

.kic-city-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-4);
}

.kic-city-card__name {
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--kic-white);
    margin-bottom: var(--space-1);
}

.kic-city-card__count {
    font-size: var(--text-xs);
    color: rgba(255, 255, 255, 0.75);
    font-weight: 500;
}

/* === SECTION 13 ï¿½ Comment ï¿½a marche === */
.kic-section__header--centered {
    text-align: center;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.kic-how-it-works__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-8);
    position: relative;
}

.kic-how-it-works__grid::before {
    content: '';
    position: absolute;
    top: 40px;
    left: calc(16.6% + 20px);
    right: calc(16.6% + 20px);
    height: 2px;
    background: linear-gradient(to right, var(--kic-primary), var(--kic-secondary));
    z-index: 0;
}

.kic-step {
    text-align: center;
    position: relative;
    z-index: 1;
}

.kic-step__icon-wrap {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto var(--space-6);
    background: var(--kic-primary-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--kic-white);
    box-shadow: var(--shadow-md);
}

.kic-step__number {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--kic-primary);
    color: var(--kic-white);
    font-size: var(--text-xs);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kic-step__icon {
    font-size: 2rem;
}

.kic-step__title {
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: var(--space-3);
}

.kic-step__text {
    font-size: var(--text-sm);
    color: var(--kic-gray-500);
    line-height: 1.6;
    max-width: 240px;
    margin: 0 auto;
}

/* === SECTION 15 ï¿½ Featured/Testimonials === */
.kic-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
}

.kic-testimonial-card {
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--kic-gray-100);
}

.kic-testimonial-card__quote {
    font-size: var(--text-base);
    color: var(--kic-dark);
    line-height: 1.7;
    margin-bottom: var(--space-5);
    font-style: italic;
}

.kic-testimonial-card__author {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.kic-testimonial-card__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--kic-primary-bg);
}

.kic-testimonial-card__name {
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--kic-dark);
}

.kic-testimonial-card__university {
    font-size: var(--text-xs);
    color: var(--kic-gray-500);
}

/* === SECTION 16 ï¿½ Newsletter === */
.kic-newsletter {
    background: linear-gradient(135deg, var(--kic-primary-dark) 0%, var(--kic-primary) 100%);
    padding: var(--space-20) 0;
}

.kic-newsletter__inner {
    text-align: center;
    max-width: 540px;
    margin: 0 auto;
}

.kic-newsletter__tag {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--kic-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: var(--space-4);
}

.kic-newsletter__title {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    color: var(--kic-white);
    margin-bottom: var(--space-3);
}

.kic-newsletter__subtitle {
    font-size: var(--text-base);
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: var(--space-8);
    line-height: 1.6;
}

.kic-newsletter__form {
    display: flex;
    gap: var(--space-3);
    max-width: 400px;
    margin: 0 auto;
}

.kic-newsletter__input {
    flex: 1;
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-full);
    border: none;
    font-size: var(--text-base);
    outline: none;
}

.kic-newsletter__input:focus {
    box-shadow: 0 0 0 3px rgba(0, 217, 163, 0.4);
}

.kic-newsletter__form .kic-btn {
    border-radius: var(--radius-full);
    flex-shrink: 0;
}

.kic-newsletter__demo-note {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: var(--space-2);
    max-width: 440px;
    margin: 0 auto var(--space-5);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    color: var(--kic-primary-dark);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.kic-newsletter__input:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* === SECTION 17 ï¿½ Partners === */
.kic-agency-mini-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-4);
}

.kic-agency-mini-card {
    background: var(--kic-white);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    border: 1px solid var(--kic-gray-100);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    gap: var(--space-4);
    transition: all var(--transition-fast);
    text-decoration: none;
    color: inherit;
}

.kic-agency-mini-card:hover {
    border-color: var(--kic-primary);
    box-shadow: var(--shadow-md);
}

.kic-agency-mini-card__logo {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    object-fit: contain;
    flex-shrink: 0;
    border: 1px solid var(--kic-gray-100);
    padding: var(--space-1);
}

.kic-agency-mini-card__info {
    flex: 1;
    min-width: 0;
}

.kic-agency-mini-card__name {
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--kic-dark);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kic-agency-mini-card__meta {
    font-size: var(--text-xs);
    color: var(--kic-gray-500);
    margin: 0;
}

/* === RESPONSIVE STUFF === */
@media (max-width: 768px) {
    .kic-how-it-works__grid {
        grid-template-columns: 1fr;
    }

    .kic-how-it-works__grid::before {
        display: none;
    }

    .kic-testimonials__grid {
        grid-template-columns: 1fr;
    }

    .kic-newsletter__form {
        flex-direction: column;
    }

    .kic-cities__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .kic-cities__grid {
        grid-template-columns: 1fr;
    }
}



/* === SECTION 18 ï¿½ Page Hero Interior === */
.kic-page-hero-home {
    background: var(--kic-dark);
    padding: var(--space-12) 0 var(--space-8);
    margin-top: 80px;
    /* Compense la navbar fixed */
    position: relative;
    overflow: hidden;
}

.kic-page-hero--small {
    background: var(--kic-dark);
    padding: var(--space-12) 0 var(--space-8);
    margin-top: 80px;
    /* Compense la navbar fixed */
    position: relative;
    overflow: hidden;
}

.kic-page-hero__title {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    color: var(--kic-white);
    margin-bottom: var(--space-3);
    position: relative;
    z-index: 1;
}

.kic-breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.6);
    position: relative;
    z-index: 1;
}

.kic-breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.kic-breadcrumb a:hover {
    color: var(--kic-white);
}

.kic-breadcrumb span {
    color: rgba(255, 255, 255, 0.4);
}

/* === SECTION 25 ï¿½ Listing Layout + Sidebar === */
.kic-listing-layout {
    padding: var(--space-10) 0 var(--space-20);
    background: var(--kic-gray-50);
}

.kic-listing-layout__inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--space-8);
    align-items: start;
}

@media (max-width: 991px) {
    .kic-listing-layout__inner {
        grid-template-columns: 1fr;
    }
}

.kic-sidebar {
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    border: 1px solid var(--kic-gray-100);
    padding: var(--space-6);

    top: calc(72px + var(--space-6));
    box-shadow: var(--shadow-sm);
}

.kic-sidebar__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--kic-gray-100);
}

.kic-sidebar__title {
    font-family: var(--font-display);
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--kic-dark);
    margin: 0;
}

.kic-sidebar__reset {
    background: none;
    border: none;
    font-size: var(--text-sm);
    color: var(--kic-gray-500);
    cursor: pointer;
    transition: color var(--transition-fast);
    padding: 0;
}

.kic-sidebar__reset:hover {
    color: #ef4444;
    /* color-error shortcut */
}

.kic-sidebar__reset:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* === SECTION 19 â€” Agency Cards === */
.kic-agency-card {
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    border: 1px solid var(--kic-gray-100);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: all var(--transition-normal);
    position: relative;
    height: 100%;
}

.kic-agency-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-2xl);
    border-color: var(--kic-primary-light);
}

.kic-agency-card__link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.kic-agency-card__img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--kic-gray-100);
}

.kic-agency-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.kic-agency-card:hover .kic-agency-card__img {
    transform: scale(1.05);
}

.kic-agency-card__logo {
    position: absolute;
    bottom: -20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background: var(--kic-white);
    border-radius: var(--radius-full);
    padding: 5px;
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    border: 3px solid var(--kic-white);
}

.kic-agency-card__logo img {
    max-width: 100%;
    max-height: 100%;
    border-radius: var(--radius-full);
    object-fit: contain;
}

.kic-agency-card__body {
    padding: var(--space-6) var(--space-5) var(--space-5);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.kic-agency-card__title {
    font-family: var(--font-display);
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: var(--space-2);
}

.kic-agency-card__rating {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.kic-stars {
    display: flex;
    gap: 2px;
}

.kic-stars i {
    font-size: 12px;
    color: var(--kic-gray-200);
}

.kic-stars i.active {
    color: #fbbf24;
}

.kic-agency-card__reviews-count {
    font-size: var(--text-xs);
    color: var(--kic-gray-400);
    font-weight: 600;
}

.kic-agency-card__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-2);
    margin-top: auto;
    padding-top: var(--space-4);
    border-top: 1px solid var(--kic-gray-50);
}

.kic-agency-card__stat {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-xs);
    color: var(--kic-gray-500);
    font-weight: 500;
}

.kic-agency-card__stat i {
    color: var(--kic-primary);
    width: 14px;
}

.kic-agency-card__footer {
    margin-top: var(--space-4);
}

/* === SECTION 20 â€” Agency Details Header === */
.kic-agency-header {
    background: var(--kic-white);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--kic-gray-100);
    margin-bottom: var(--space-10);
    display: grid;
    grid-template-columns: 450px 1fr;
}

.kic-agency-header__banner {
    position: relative;
    height: 100%;
}

.kic-agency-header__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-agency-header__badge {
    position: absolute;
    top: var(--space-4);
    left: var(--space-4);
}

.kic-agency-header__content {
    padding: var(--space-8);
    display: flex;
    flex-direction: column;
}

.kic-agency-header__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-6);
}

.kic-agency-header__title {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    color: var(--kic-dark);
}

.kic-agency-header__info {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.kic-header-item {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.kic-header-item__icon {
    width: 40px;
    height: 40px;
    background: var(--kic-primary-light);
    color: var(--kic-primary);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-base);
}

.kic-header-item__text {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--kic-gray-600);
}

.kic-header-item__text a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-fast);
}

.kic-header-item__text a:hover {
    color: var(--kic-primary);
}

.kic-agency-header__socials {
    display: flex;
    gap: var(--space-3);
    margin-top: auto;
}

.kic-social-btn {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--kic-gray-50);
    color: var(--kic-gray-500);
    text-decoration: none;
    transition: all var(--transition-fast);
}

.kic-social-btn:hover {
    background: var(--kic-primary);
    color: var(--kic-white);
    transform: translateY(-3px);
}

@media (max-width: 991px) {
    .kic-agency-header {
        grid-template-columns: 1fr;
    }

    .kic-agency-header__banner {
        aspect-ratio: 16 / 9;
    }
}

.kic-filter-group {
    margin-bottom: var(--space-6);
}

.kic-filter-group__label {
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--kic-dark);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-3);
    display: block;
}

.kic-filter-group__options {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    max-height: 200px;
    overflow-y: auto;
    padding-right: var(--space-2);
}

/* Scrollbar sidebar custom */
.kic-filter-group__options::-webkit-scrollbar {
    width: 4px;
}

.kic-filter-group__options::-webkit-scrollbar-thumb {
    background: var(--kic-gray-200);
    border-radius: 10px;
}

.kic-filter-checkbox,
.kic-filter-radio {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--kic-gray-700);
    cursor: pointer;
    padding: var(--space-1) 0;
    margin-bottom: 0;
}

.kic-filter-checkbox input[type='checkbox'],
.kic-filter-radio input[type='radio'] {
    width: 16px;
    height: 16px;
    accent-color: var(--kic-primary);
    cursor: pointer;
}

/* Range slider styling base */
.kic-filter-range {
    padding: var(--space-2) 0;
}

.kic-filter-range__inputs {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    margin-top: var(--space-3);
}

.kic-filter-range__sep {
    color: var(--kic-gray-400);
    font-size: var(--text-sm);
}

/* UI Slider override per project style */
.theme-range-2.noUi-target {
    height: 4px;
    border: none;
    background: var(--kic-gray-200);
    box-shadow: none;
    margin: 20px 10px;
}

.theme-range-2 .noUi-connect {
    background: var(--kic-primary);
}

.theme-range-2 .noUi-handle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--kic-white);
    border: 2px solid var(--kic-primary);
    box-shadow: var(--shadow-sm);
    right: -9px;
    top: -8px;
    cursor: pointer;
}

.theme-range-2 .noUi-handle::before,
.theme-range-2 .noUi-handle::after {
    display: none;
}

/* === SECTION ï¿½ Toolbar === */
.kic-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-6);
    flex-wrap: wrap;
    gap: var(--space-4);
    background: var(--kic-white);
    padding: var(--space-4) var(--space-6);
    border-radius: var(--radius-xl);
    border: 1px solid var(--kic-gray-100);
    box-shadow: var(--shadow-sm);
}

.kic-toolbar__tabs {
    display: flex;
    gap: var(--space-2);
}

.kic-toolbar__tab {
    padding: var(--space-2) var(--space-5);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 600;
    border: 2px solid var(--kic-gray-100);
    background: var(--kic-white);
    color: var(--kic-gray-500);
    cursor: pointer;
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
}

.kic-toolbar__tab:hover {
    border-color: var(--kic-primary-light);
    color: var(--kic-primary);
}

.kic-toolbar__tab--active {
    background: var(--kic-primary);
    border-color: var(--kic-primary);
    color: var(--kic-white);
}

.kic-toolbar__tab--active:hover {
    color: var(--kic-white);
}

.kic-toolbar__tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--kic-gray-100);
    font-size: 10px;
    margin-left: var(--space-2);
    font-weight: 700;
}

.kic-toolbar__tab--active .kic-toolbar__tab-count {
    background: rgba(255, 255, 255, 0.25);
    color: var(--kic-white);
}

.kic-toolbar__actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.kic-toolbar__sort {
    width: auto;
    min-width: 180px;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-lg);
    border: 1px solid var(--kic-gray-200);
    font-size: var(--text-sm);
    color: var(--kic-dark);
}

.kic-view-toggle {
    display: flex;
    border: 1.5px solid var(--kic-gray-100);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.kic-view-btn {
    padding: var(--space-2) var(--space-3);
    background: var(--kic-white);
    border: none;
    cursor: pointer;
    color: var(--kic-gray-400);
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
}

.kic-view-btn:hover {
    background: var(--kic-gray-50);
    color: var(--kic-primary);
}

.kic-view-btn--active {
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-listing-count {
    font-size: var(--text-sm);
    color: var(--kic-gray-500);
    margin-bottom: var(--space-5);
    font-weight: 500;
}

.kic-results-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
}

.kic-results-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Pagination modernisï¿½e */
.kic-pagination-wrap {
    margin-top: var(--space-12);
    display: flex;
    justify-content: center;
}

.kic-pagination-wrap nav {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.kic-pagination-wrap span,
.kic-pagination-wrap a {
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    border: 1.5px solid var(--kic-gray-200);
    color: var(--kic-dark);
    background: var(--kic-white);
    text-decoration: none;
    transition: all var(--transition-fast);
    font-weight: 600;
}

.kic-pagination-wrap a:hover {
    border-color: var(--kic-primary);
    color: var(--kic-primary);
}

.kic-pagination-wrap .active span,
.kic-pagination-wrap [aria-current='page'] span {
    background: var(--kic-primary) !important;
    border-color: var(--kic-primary) !important;
    color: var(--kic-white) !important;
}

/* --- Responsive Phase 6 --- */
@media (max-width: 1024px) {
    .kic-listing-layout__inner {
        grid-template-columns: 1fr;
    }

    .kic-sidebar {
        position: static;
        margin-bottom: var(--space-6);
        display: none;
    }
    
    .kic-sidebar.kic-sidebar--open {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 1050;
        overflow-y: auto;
        border-radius: 0;
        padding-top: var(--space-10);
    }
}

@media (max-width: 768px) {
    .kic-results-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .kic-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .kic-toolbar__actions {
        flex-direction: column;
    }

    .kic-toolbar__sort {
        width: 100%;
    }
}


/* Utilitaires globaux */
.kic-hidden {
    display: none !important;
}


/* Fix Sidebar Slider & Inputs */
.kic-sidebar .kic-filter-range__inputs {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    margin-top: var(--space-3);
    width: 100%;
}

.kic-sidebar .kic-filter-range__inputs input {
    width: 100% !important;
    min-width: 0;
}

.kic-sidebar .theme-range-2.noUi-target {
    margin: 20px 10px;
    width: calc(100% - 20px);
}

/* Fix Spinner JS (x-cloak non chargï¿½ ou blocage) */
[x-cloak] {
    display: none !important;
}

/* --- Loaders & Spinners Premium --- */
.kic-spinner-wrapper,
.kic-spinner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    transition: all 0.3s ease;
    border-radius: var(--radius-lg);
}

/* On s'assure que le spinner lui-mÃªme est bien dimensionnÃ© */
.kic-spinner {
    width: 45px;
    height: 45px;
    border: 3px solid rgba(108, 60, 225, 0.1);
    border-top: 3px solid var(--kic-primary);
    border-radius: 50%;
    animation: kic-spin 0.8s linear infinite;
    box-shadow: 0 0 15px rgba(108, 60, 225, 0.1);
}

@keyframes kic-spin {
    to {
        transform: rotate(360deg);
    }
}

/* OpacitÃ© rÃ©duite sur les rÃ©sultats pendant le chargement */
.kic-loading-opacity {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.kic-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(108, 60, 225, 0.1);
    border-top-color: var(--kic-violet);
    border-radius: 50%;
    animation: kic-spin 0.8s linear infinite;
}

@keyframes kic-spin {
    to {
        transform: rotate(360deg);
    }
}

[wire\:loading] {
    display: flex !important;
}

/* --- SECTION 20 : Property Detail (Phase 7) --- */
.kic-detail {
    padding: var(--space-12) 0 var(--space-20);
    background: var(--kic-bg);
}

.kic-detail__gallery {
    margin-bottom: var(--space-8);
    border-radius: var(--radius-xl);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.kic-detail__gallery-main {
    position: relative;
    aspect-ratio: 16/9;
    width: 100%;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.kic-detail__gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.kic-detail__gallery-main:hover img {
    transform: scale(1.02);
}

.kic-detail__gallery-thumbs {
    display: flex;
    gap: var(--space-3);
    overflow-x: auto;
    padding-bottom: var(--space-2);
}

.kic-detail__gallery-thumbs img {
    width: 120px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--radius-md);
    cursor: pointer;
    opacity: 0.7;
    transition: all var(--transition-fast);
    border: 2px solid transparent;
}

.kic-detail__gallery-thumbs img:hover {
    opacity: 1;
    border-color: var(--kic-primary);
}

.kic-detail__layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: var(--space-10);
    align-items: start;
}

.kic-detail__main {
    min-width: 0;
}

.kic-detail__header {
    margin-bottom: var(--space-8);
}

.kic-detail__badges {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.kic-detail__title {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    color: var(--kic-text);
    margin-bottom: var(--space-3);
    line-height: 1.2;
}

.kic-detail__location {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-base);
    color: var(--kic-text-muted);
}

.kic-detail__price-block--mobile {
    display: none;
}

.kic-detail__description {
    margin-bottom: var(--space-10);
}

.kic-detail__description h3 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    margin-bottom: var(--space-4);
    color: var(--kic-text);
}

.kic-detail__description p {
    font-size: var(--text-base);
    color: var(--kic-text);
    line-height: 1.7;
}

.kic-detail__specs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
    margin-bottom: var(--space-10);
    padding: var(--space-8);
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
}

.kic-detail__spec-item {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.kic-detail__spec-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-lg);
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.kic-detail__spec-label {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    font-weight: 500;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kic-detail__spec-value {
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--kic-text);
    display: block;
}

.kic-detail__amenities {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-3);
    margin-bottom: var(--space-10);
}

.kic-detail__amenity-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-sm);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    font-weight: 500;
}

.kic-detail__amenity--available {
    color: var(--kic-text);
    background: rgba(16, 185, 129, 0.06);
}

.kic-detail__amenity--available::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--kic-success);
}

.kic-detail__amenity--unavailable {
    color: var(--kic-text-muted);
    background: var(--kic-surface);
    text-decoration: line-through;
    opacity: 0.6;
}

.kic-detail__amenity--unavailable::before {
    content: '\f00d';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--kic-text-muted);
}

.kic-detail__map {
    border-radius: var(--radius-xl);
    overflow: hidden;
    height: 350px;
    margin-bottom: var(--space-10);
    border: 1px solid var(--kic-border);
    box-shadow: var(--shadow-sm);
}

.kic-detail__map iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.kic-detail__sidebar {

    top: calc(72px + var(--space-8));
}

.kic-contact-card {
    background: var(--kic-white);
    border-radius: var(--radius-2xl);
    border: 1px solid var(--kic-border);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
}

.kic-contact-card__price-block {
    background: linear-gradient(135deg, var(--kic-primary) 0%, var(--kic-primary-dark) 100%);
    padding: var(--space-8) var(--space-6);
    text-align: center;
}

.kic-contact-card__price {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    color: var(--kic-white);
}

.kic-contact-card__price span {
    font-size: var(--text-lg);
    font-weight: 400;
    opacity: 0.8;
}

.kic-contact-card__charges {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.8);
    margin-top: var(--space-1);
    font-weight: 500;
}

.kic-contact-card__body {
    padding: var(--space-8) var(--space-6);
}

.kic-contact-card__owner {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--kic-border);
}

.kic-contact-card__owner-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--kic-primary-bg);
}

.kic-contact-card__owner-name {
    font-weight: 700;
    font-size: var(--text-base);
    color: var(--kic-text);
}

.kic-contact-card__owner-role {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.kic-contact-card__form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.kic-similar {
    margin-top: var(--space-20);
    padding-top: var(--space-20);
    border-top: 1px solid var(--kic-border);
}

.kic-similar__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
}

/* RESPONSIVE DETAIL */
@media (max-width: 1024px) {
    .kic-detail__layout {
        grid-template-columns: 1fr;
    }

    .kic-detail__sidebar {
        position: static;
        margin-top: var(--space-10);
    }

    .kic-contact-card {
        max-width: 500px;
        margin: 0 auto;
    }

    .kic-detail__price-block--mobile {
        display: block;
        padding: var(--space-6);
        background: var(--kic-white);
        border-radius: var(--radius-xl);
        box-shadow: var(--shadow-sm);
        text-align: center;
    }

    .kic-detail__price-block--mobile .kic-contact-card__price {
        color: var(--kic-primary);
    }

    .kic-contact-card__price-block {
        display: none;
    }

    .kic-similar__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .kic-detail__amenities {
        grid-template-columns: repeat(2, 1fr);
    }

    .kic-detail__specs {
        grid-template-columns: 1fr;
        padding: var(--space-6);
    }
}

@media (max-width: 640px) {
    .kic-detail__amenities {
        grid-template-columns: 1fr;
    }

    .kic-similar__grid {
        grid-template-columns: 1fr;
    }

    .kic-detail__gallery-thumbs {
        display: none;
    }

    .kic-detail__title {
        font-size: var(--text-2xl);
    }
}

/* Section 21: Empty States & Grid Helpers */
.kic-empty-state-wrapper {
    grid-column: 1 / -1;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
}

.kic-empty-state {
    text-align: center;
    max-width: 400px;
}

.kic-empty-state__icon {
    font-size: 48px;
    color: var(--kic-gray-300);
    margin-bottom: 20px;
}

.kic-empty-state__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: 10px;
}

.kic-empty-state__text {
    color: var(--kic-gray-500);
    font-size: 0.95rem;
}


/* Section 24: Authentication Pages */
.kic-auth-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-top: 80px;
    min-height: 100vh;
}

.kic-auth-layout__visual {
    position: relative;
    background-color: var(--kic-primary-dark);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.kic-auth-layout__visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(76, 29, 149, 0.9) 0%, rgba(108, 60, 225, 0.75) 100%);
}

.kic-auth-layout__visual-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    padding: var(--space-12);
}

.kic-auth-layout__visual-logo {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 800;
    color: var(--kic-white);
    text-decoration: none;
    margin-bottom: auto;
    padding-top: var(--space-12);
}

.kic-auth-layout__visual-quote {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--kic-white);
    line-height: 1.3;
    margin-bottom: var(--space-4);
    font-style: normal;
    border: none;
    padding: 0;
}

.kic-auth-layout__visual-sub {
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.7);
}

.kic-auth-layout__form-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-8);
    background: var(--kic-white);
}

.kic-auth-layout__form-inner {
    width: 100%;
    max-width: 400px;
}

.kic-auth-layout__logo-mobile {
    display: none;
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-primary);
    text-decoration: none;
    margin-bottom: var(--space-8);
}

.kic-auth-layout__title {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 800;
    color: var(--kic-text);
    margin-bottom: var(--space-2);
}

.kic-auth-layout__subtitle {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin-bottom: var(--space-8);
    line-height: 1.5;
}

.kic-auth-form .kic-form-group {
    margin-bottom: var(--space-4);
}

.kic-auth-form .kic-btn {
    width: 100%;
    margin-top: var(--space-2);
}

.kic-auth-form__divider {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin: var(--space-6) 0;
}

.kic-auth-form__divider::before,
.kic-auth-form__divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--kic-border);
}

.kic-auth-form__divider span {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    white-space: nowrap;
}

.kic-auth-form__links {
    text-align: center;
    margin-top: var(--space-6);
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
}

.kic-auth-form__links a {
    color: var(--kic-primary);
    text-decoration: none;
    font-weight: 500;
}

.kic-auth-form__links a:hover {
    text-decoration: underline;
}

.kic-demo-access {
    border-top: 1px solid var(--kic-border);
    margin-top: var(--space-8);
    padding-top: var(--space-8);
    scroll-margin-top: 6rem;
}

.kic-demo-access__title {
    color: var(--kic-text);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 700;
    margin-bottom: var(--space-2);
}

.kic-demo-access__description,
.kic-demo-access__notice {
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.kic-demo-access__choices {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-5);
}

.kic-demo-access__choice {
    align-items: center;
    background: var(--kic-white);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    color: var(--kic-text);
    cursor: pointer;
    display: grid;
    font: inherit;
    font-weight: 600;
    gap: var(--space-3);
    grid-template-columns: 1.5rem minmax(0, 1fr) 1rem;
    min-height: 3.5rem;
    padding: var(--space-3) var(--space-4);
    text-align: start;
    width: 100%;
}

.kic-demo-access__choice span {
    overflow-wrap: anywhere;
}

.kic-demo-access__choice:hover {
    background: var(--kic-primary-bg);
    border-color: var(--kic-primary);
}

.kic-demo-access__choice:focus-visible {
    outline: 2px solid var(--kic-primary);
    outline-offset: 2px;
}

.kic-demo-access__choice i:first-child {
    color: var(--kic-primary);
}

.kic-demo-access__notice {
    background: var(--kic-primary-bg);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    color: var(--kic-text);
    font-size: var(--text-sm);
    font-weight: 600;
    margin: var(--space-4) 0 0;
    padding: var(--space-3) var(--space-4);
}

.kic-auth-form__remember {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    cursor: pointer;
}

.kic-auth-form__remember input {
    accent-color: var(--kic-primary);
}

.kic-auth-form__forgot {
    font-size: var(--text-sm);
    color: var(--kic-primary);
    text-decoration: none;
    font-weight: 500;
}

.kic-auth-form__forgot:hover {
    text-decoration: underline;
}

.kic-auth-form__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-2);
}

.kic-auth-alert-success {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: var(--kic-success);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    font-size: var(--text-sm);
    margin-bottom: var(--space-5);
}

.kic-verify-card {
    text-align: center;
    padding: var(--space-4) 0;
}

.kic-verify-card__icon {
    font-size: 3rem;
    margin-bottom: var(--space-4);
    display: block;
}

.kic-verify-card__text {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    line-height: 1.7;
    margin-bottom: var(--space-8);
}

@media (max-width: 768px) {
    .kic-auth-layout {
        grid-template-columns: 1fr;
    }

    .kic-auth-layout__visual {
        display: none;
    }

    .kic-auth-layout__logo-mobile {
        display: block;
    }

    .kic-auth-layout__form-panel {
        padding: var(--space-6) var(--space-4);
    }

    .kic-auth-layout__form-inner {
        max-width: 100%;
    }
}

/* Section 24b: Auth Account Types */
.kic-auth-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-3);
    margin-top: var(--space-2);
}

.kic-auth-type-card {
    position: relative;
    cursor: pointer;
}

.kic-auth-type-card input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.kic-auth-type-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-4) var(--space-2);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: white;
    transition: all 0.2s ease;
    text-align: center;
    height: 100%;
}

.kic-auth-type-card__content i {
    font-size: 1.25rem;
    margin-bottom: var(--space-2);
    color: var(--kic-text-light);
}

.kic-auth-type-card__content span {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--kic-text-main);
}

.kic-auth-type-card input:checked+.kic-auth-type-card__content {
    border-color: var(--kic-primary);
    background: rgba(108, 60, 225, 0.05);
    box-shadow: 0 0 0 1px var(--kic-primary);
}

.kic-auth-type-card input:checked+.kic-auth-type-card__content i {
    color: var(--kic-primary);
}

@media (max-width: 480px) {
    .kic-auth-type-grid {
        grid-template-columns: 1fr;
    }

    .kic-auth-type-card__content {
        flex-direction: row;
        justify-content: flex-start;
        padding: var(--space-3) var(--space-4);
        gap: var(--space-4);
    }

    .kic-auth-type-card__content i {
        margin-bottom: 0;
    }
}

/* SECTION 22 â€” Contact Page */
.kic-contact-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--space-12);
    align-items: start;
}

.kic-contact-form-wrap h2,
.kic-contact-info h2 {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 800;
    color: var(--kic-text);
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-4);
    border-bottom: 2px solid var(--kic-primary-bg);
}

.kic-contact-info {
    background: var(--kic-bg);
    border-radius: var(--radius-xl);
    padding: var(--space-8);

    top: calc(72px + var(--space-6));
}

.kic-contact-info__items {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin-bottom: var(--space-8);
}

.kic-contact-info__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
}

.kic-contact-info__item-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    background: var(--kic-primary-bg);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.kic-contact-info__item-label {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--kic-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: var(--space-1);
}

.kic-contact-info__item-value {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--kic-text);
}

.kic-contact-info__item-value a {
    color: var(--kic-primary);
    text-decoration: none;
}

.kic-contact-info__item-value a:hover {
    text-decoration: underline;
}

.kic-map-embed {
    border-radius: var(--radius-xl);
    overflow: hidden;
    min-height: 320px;
    margin-bottom: var(--space-6);
    border: 1px solid var(--kic-border);
}

.kic-map-embed--compact {
    min-height: 220px;
}

.kic-map-embed iframe {
    display: block;
    width: 100%;
    min-height: inherit;
    border: none;
}

.kic-settings-map {
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--kic-border);
}

.kic-settings-map__header,
.kic-settings-map__status,
.kic-settings-map__options {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.kic-settings-map__header {
    justify-content: space-between;
    margin-bottom: var(--space-5);
}

.kic-settings-map__title {
    margin-bottom: var(--space-1);
    font-size: var(--text-lg);
}

.kic-settings-map__content,
.kic-settings-map__validation {
    display: grid;
    gap: var(--space-4);
    margin-top: var(--space-5);
}

.kic-settings-map__options {
    flex-wrap: wrap;
}

.kic-settings-map__status {
    justify-content: space-between;
    flex-wrap: wrap;
}

.kic-settings-video {
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--kic-border);
}

.kic-settings-video__header,
.kic-settings-video__diagnostics {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.kic-settings-video__header {
    justify-content: space-between;
    margin-bottom: var(--space-5);
}

.kic-settings-video__title {
    margin-bottom: var(--space-1);
    font-size: var(--text-lg);
}

.kic-settings-video__content {
    display: grid;
    gap: var(--space-5);
    margin-top: var(--space-5);
}

.kic-settings-video__diagnostics {
    align-items: flex-start;
    flex-direction: column;
    padding: var(--space-4);
    overflow-wrap: anywhere;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-gray-50);
}

@media (max-width: 768px) {
    .kic-settings-map__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .kic-settings-video__header {
        align-items: flex-start;
        flex-direction: column;
    }
}

.kic-contact-social {
    display: flex;
    gap: var(--space-3);
}

.kic-contact-social__link {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    border: 1.5px solid var(--kic-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kic-text-muted);
    text-decoration: none;
    font-size: 1.1rem;
    transition: all var(--transition-fast);
}

.kic-contact-social__link:hover {
    border-color: var(--kic-primary);
    color: var(--kic-primary);
    background: var(--kic-primary-bg);
}

.kic-contact-success {
    background: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    text-align: center;
}

.kic-contact-success__icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: var(--space-3);
}

.kic-contact-success__title {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--kic-success);
    margin-bottom: var(--space-2);
}

.kic-contact-success__text {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
}

/* SECTION 23 â€” Legal Layout */
.kic-legal-layout {
    max-width: 800px;
    margin: 0 auto;
}

.kic-legal-content {
    color: var(--kic-text);
    line-height: 1.8;
}

.kic-legal-content h1 {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 800;
    margin-bottom: var(--space-6);
    color: var(--kic-text);
}

.kic-legal-content h2 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    margin-top: var(--space-10);
    margin-bottom: var(--space-4);
    color: var(--kic-text);
    padding-bottom: var(--space-3);
    border-bottom: 2px solid var(--kic-primary-bg);
}

.kic-legal-content h3 {
    font-size: var(--text-lg);
    font-weight: 600;
    margin-top: var(--space-6);
    margin-bottom: var(--space-3);
    color: var(--kic-text);
}

.kic-legal-content p {
    margin-bottom: var(--space-4);
    color: var(--kic-text);
    font-size: var(--text-base);
}

.kic-legal-content ul,
.kic-legal-content ol {
    margin-bottom: var(--space-4);
    padding-left: var(--space-6);
}

.kic-legal-content li {
    margin-bottom: var(--space-2);
    font-size: var(--text-base);
}

.kic-legal-content a {
    color: var(--kic-primary);
    text-decoration: underline;
}

.kic-legal-content strong {
    font-weight: 700;
    color: var(--kic-text);
}

.kic-legal-content .kic-legal-date {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin-bottom: var(--space-8);
    display: block;
}

.kic-legal-callout {
    background: var(--kic-primary-bg);
    border-left: 4px solid var(--kic-primary);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    padding: var(--space-4) var(--space-5);
    margin: var(--space-6) 0;
    font-size: var(--text-sm);
    color: var(--kic-text);
}

/* SECTION 29 â€” Responsive */
@media (max-width: 1024px) {
    .kic-contact-layout {
        grid-template-columns: 1fr;
    }

    .kic-contact-info {
        position: static;
    }
}

@media (max-width: 640px) {
    .kic-legal-content h1 {
        font-size: var(--text-2xl);
    }

    .kic-legal-content h2 {
        font-size: var(--text-lg);
    }
}

/* === SECTION 10  Sidebar Improvements === */
.kic-sidebar {
    background: var(--kic-white);
    border-radius: var(--radius-2xl);
    border: 1px solid var(--kic-gray-100);
    box-shadow: var(--shadow-xl);
    overflow: hidden;


}

.kic-sidebar__header {
    padding: var(--space-6);
    border-bottom: 1px solid var(--kic-gray-100);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.kic-sidebar__title {
    font-size: var(--text-lg);
    font-weight: 800;
    color: var(--kic-dark);
    margin: 0;
}

.kic-sidebar__reset {
    background: none;
    border: none;
    color: var(--kic-gray-400);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-fast);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-md);
}

.kic-sidebar__reset:hover:not(:disabled) {
    background: var(--kic-gray-50);
    color: var(--kic-primary);
}

.kic-sidebar__reset:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.kic-sidebar__content {
    padding: var(--space-6);
}

.kic-filter-group {
    margin-bottom: var(--space-8);
}

.kic-filter-group__label {
    display: block;
    font-size: var(--text-xs);
    font-weight: 800;
    color: var(--kic-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-4);
}

.kic-filter-checkbox,
.kic-filter-radio {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: var(--text-sm);
    color: var(--kic-text-main);
    padding: var(--space-1) 0;
}

.kic-filter-checkbox:hover,
.kic-filter-radio:hover {
    color: var(--kic-primary);
}

.kic-filter-checkbox input,
.kic-filter-radio input {
    width: 18px;
    height: 18px;
    border: 2px solid var(--kic-gray-300);
    border-radius: 4px;
    cursor: pointer;
    accent-color: var(--kic-primary);
}

.kic-filter-radio input {
    border-radius: 50%;
}

.city-suggestion-item {
    padding: var(--space-3) var(--space-4);
    transition: all var(--transition-fast);
    border-radius: var(--radius-md);
    margin: 2px var(--space-2);
}

.city-suggestion-item:hover {
    background-color: var(--kic-primary-bg);
    color: var(--kic-primary);
}

/* === SECTION 10 ï¿½ LOADER (KIC Style) === */
.kic-loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--kic-white);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.kic-loader-wrapper.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.kic-loader-content {
    text-align: center;
    position: relative;
}

.kic-loader__cap {
    width: 80px;
    height: 80px;
    color: var(--kic-primary);
    animation: kic-cap-toss 2s infinite ease-in-out;
    margin-bottom: var(--space-4);
}

.kic-loader__text {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--kic-dark);
    font-size: var(--text-lg);
    letter-spacing: 1px;
    text-transform: uppercase;
    animation: kic-pulse 1.5s infinite;
}

@keyframes kic-cap-toss {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    25% {
        transform: translateY(-40px) rotate(15deg);
    }

    50% {
        transform: translateY(-60px) rotate(0deg) scale(1.1);
    }

    75% {
        transform: translateY(-30px) rotate(-15deg);
    }

    100% {
        transform: translateY(0) rotate(0deg);
    }
}

@keyframes kic-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* === SECTION 10 ï¿½ LOADER (REFINED) === */
.kic-loader-wrapper {
    position: fixed;
    inset: 0;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    transition: opacity 0.6s cubic-bezier(0.65, 0, 0.35, 1), visibility 0.6s;
}

.kic-loader-wrapper.hidden {
    opacity: 0;
    visibility: hidden;
}

.kic-loader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.kic-loader__cap {
    width: 100px;
    height: 100px;
    filter: drop-shadow(0 10px 15px rgba(108, 60, 225, 0.2));
    animation: kic-cap-toss 2.2s infinite cubic-bezier(0.45, 0, 0.55, 1);
    margin-bottom: var(--space-4);
}

.kic-loader__shadow {
    width: 50px;
    height: 6px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    filter: blur(2px);
    animation: kic-cap-shadow 2.2s infinite cubic-bezier(0.45, 0, 0.55, 1);
    margin-bottom: var(--space-6);
}

.kic-loader__text {
    font-size: var(--text-xl);
    font-weight: 800;
    letter-spacing: 2px;
    background: linear-gradient(135deg, var(--kic-primary), var(--kic-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: kic-pulse 2s infinite;
}

@keyframes kic-cap-toss {

    0%,
    100% {
        transform: translateY(0) rotate(-5deg);
    }

    50% {
        transform: translateY(-70px) rotate(15deg) scale(1.1);
    }
}

@keyframes kic-cap-shadow {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.3;
    }

    50% {
        transform: scale(0.5);
        opacity: 0.1;
    }
}

/* === SECTION 10 ï¿½ LOADER (FINAL) === */
.kic-loader__text {
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: var(--kic-primary) !important;
}

@keyframes kic-cap-toss {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-80px) rotate(360deg) scale(1.1);
    }

    100% {
        transform: translateY(0) rotate(720deg);
    }
}

.kic-media-processing-overlay {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(6px);
}

.kic-media-processing-card {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    width: min(520px, 100%);
    padding: var(--space-5);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-white);
    box-shadow: var(--shadow-xl);
}

.kic-media-processing-spinner {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border: 4px solid var(--kic-primary-bg);
    border-top-color: var(--kic-primary);
    border-radius: 50%;
    animation: kic-spin 0.8s linear infinite;
}

.kic-media-processing-title {
    margin: 0 0 var(--space-1);
    font-weight: 800;
    color: var(--kic-dark);
}

.kic-media-processing-text {
    margin: 0;
    color: var(--kic-muted);
}

@keyframes kic-spin {
    to {
        transform: rotate(360deg);
    }
}


/* === SECTION 11 - PROPERTY DETAIL === */

/* Modern Carousel Styles */
.kic-detail__gallery-container {
    position: relative;
    margin-bottom: 2.5rem;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    background: #fff;
    padding: 10px;
}

.swiper-main {
    width: 100%;
    height: 550px;
    border-radius: 12px;
    background: #fdfdfd;
}

.swiper-main .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fdfdfd;
    transition: transform 0.4s ease;
}

.swiper-main .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    cursor: zoom-in;
    outline: none;
}

.swiper-main .swiper-slide:hover img {
    transform: scale(1.03);
}

.swiper-thumbs {
    height: 100px;
    box-sizing: border-box;
    padding: 10px 0;
    margin-top: 15px;
}

.swiper-thumbs .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.5;
    cursor: pointer;
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.swiper-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border-color: var(--kic-primary);
    transform: translateY(-2px);
}

.swiper-thumbs .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Section Styling */
.kic-detail__section {
    background: #fff;
    padding: 2.5rem;
    border-radius: 20px;
    margin-bottom: 2rem;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.kic-detail__section-title {
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #1a1a1a;
    line-height: 1;
}

.kic-detail__section-title i {
    color: var(--kic-primary);
    font-size: 1.2rem;
}

.kic-detail__video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--kic-dark);
    box-shadow: var(--shadow-md);
}

.kic-detail__video-frame iframe,
.kic-detail__video-frame video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.kic-detail__section--floor-plans {
    padding: 1.75rem;
}

.kic-floor-plans {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-4);
}

.kic-floor-plan-card {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: var(--space-3);
    align-items: center;
    padding: var(--space-3);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    color: var(--kic-dark);
    background: var(--kic-white);
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.kic-floor-plan-card:hover {
    color: var(--kic-dark);
    border-color: rgba(108, 60, 225, 0.35);
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
}

.kic-floor-plan-card__preview {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 58px;
    border-radius: var(--radius-sm);
    background: var(--kic-gray-50);
    overflow: hidden;
}

.kic-floor-plan-card__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-floor-plan-card__preview i {
    color: var(--kic-danger);
    font-size: 1.8rem;
}

.kic-floor-plan-card__body {
    min-width: 0;
}

.kic-floor-plan-card__title {
    display: block;
    color: var(--kic-dark);
    font-size: var(--text-sm);
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.kic-floor-plan-card__meta {
    display: block;
    margin-top: 0.2rem;
    color: var(--kic-gray-500);
    font-size: var(--text-xs);
}

/* Info Grid */
.kic-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 2rem;
}

.kic-info-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kic-info-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #888;
    font-weight: 700;
}

.kic-info-value {
    font-size: 1.15rem;
    font-weight: 700;
    color: #222;
}

.kic-info-value--price {
    color: var(--kic-primary);
    font-size: 1.6rem;
}

/* Features Grid */
.kic-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.2rem;
}

.kic-feature-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 1.2rem;
    border-radius: 12px;
    background: #f9fafb;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #f1f1f1;
}

.kic-feature-card:not(.kic-feature-card--unavailable):hover {
    transform: translateY(-3px);
    background: #fff;
    border-color: var(--kic-primary-light);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.kic-feature-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    color: var(--kic-primary);
    font-size: 1.1rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}

.kic-feature-text {
    font-size: 0.95rem;
    font-weight: 700;
    color: #333;
}

.kic-feature-card--unavailable {
    opacity: 0.35;
    filter: grayscale(1);
    background: #f5f5f5;
}

.kic-similar__nav-button {
    width: 40px;
    height: 40px;
}

.kic-agency-card__logo-img {
    object-fit: contain;
    padding: 20px;
    background: var(--kic-white);
}

.kic-agency-card__title-link {
    color: inherit;
    text-decoration: none;
}

.kic-agency-card__star {
    font-size: 12px;
}

.kic-agency-card__property-count {
    font-size: 1.1rem;
}

.kic-agency-properties-shell {
    min-height: 400px;
}

.kic-agency-properties-container {
    transition: opacity var(--transition-normal);
}

/* Sidebar & Form */
.kic-contact-card {
    position: sticky;
    top: calc(var(--kic-demo-banner-height, 0px) + 100px);
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.03);
}

.kic-contact-card__agency-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: var(--kic-primary);
    text-underline-offset: 0.2em;
}

.kic-contact-card__agency-link:hover {
    color: var(--kic-primary);
}

.kic-contact-card__agency-link:focus-visible {
    outline: 2px solid var(--kic-primary);
    outline-offset: 4px;
    border-radius: 2px;
}

.kic-contact-card__owner {
    display: flex;
    align-items: center;
    gap: 18px;
}

.kic-contact-card__owner-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f8f9fa;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.kic-contact-card__owner-avatar-placeholder {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--kic-primary), var(--kic-primary-dark));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Tabs/Buttons logic */
.kic-form-tabs {
    display: flex;
    background: #f3f4f6;
    padding: 5px;
    border-radius: 12px;
    gap: 5px;
}

.kic-form-tab {
    flex: 1;
    text-align: center;
    border: 0;
    background: transparent;
    padding: 10px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.2s;
    color: #6b7280;
}

.kic-form-tab:focus-visible {
    outline: 2px solid var(--kic-primary);
    outline-offset: 2px;
}

.kic-form-tab--active {
    background: #fff;
    color: var(--kic-primary);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

@media (max-width: 991px) {
    .swiper-main {
        height: 400px;
    }

    .kic-contact-card {
        position: static;
        margin-top: 2rem;
    }
}

@media (max-width: 768px) {
    .swiper-main {
        height: 320px;
    }

    .kic-detail__section {
        padding: 1.8rem;
    }

    .kic-detail__title {
        font-size: 1.8rem !important;
    }
}

/* Fix contrast for price card */
.kic-contact-card__price-block {
    background: linear-gradient(135deg, var(--kic-primary) 0%, var(--kic-primary-dark) 100%);
    color: white !important;
}

/* === SECTION 12 â€” Swiper Sliders & Cards Fixes === */
.swiper-agency-properties,
.swiper-similar-properties {
    padding-bottom: 20px !important;
    height: auto !important;
    width: 100%;
    align-self: flex-start;
    overflow: hidden !important;
}

.swiper-agency-properties .swiper-wrapper,
.swiper-similar-properties .swiper-wrapper {
    align-items: start !important;
    height: auto !important;
    /* Force wrapper to match slides height */
}

.swiper-agency-properties .swiper-slide,
.swiper-similar-properties .swiper-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column;
}

.swiper-agency-properties .kic-property-card,
.swiper-similar-properties .kic-property-card {
    height: auto !important;
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.swiper-agency-properties .kic-property-card__content,
.swiper-similar-properties .kic-property-card__content,
.swiper-agency-properties .kic-property-card__body,
.swiper-similar-properties .kic-property-card__body {
    flex-grow: 0 !important;
    height: auto !important;
}

.swiper-agency-properties .swiper-pagination,
.swiper-similar-properties .swiper-pagination {
    position: relative !important;
    /* Changed from bottom:0 to relative to avoid absolute overlap issues */
    margin-top: 25px !important;
    bottom: auto !important;
}

/* Swiper Pagination KIC Colors */
.swiper-pagination-bullet {
    background: var(--kic-gray-300, #D1D5DB) !important;
    opacity: 1 !important;
    width: 10px !important;
    height: 10px !important;
    transition: all 0.3s ease !important;
}

.swiper-pagination-bullet-active {
    background: var(--kic-primary, #6C3CE1) !important;
    width: 25px !important;
    border-radius: 5px !important;
}

/* === SECTION 13 â€” Agency Product Page === */
.kic-agency-banner {
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 0 0 30px 30px;
}

.kic-agency-header-card {
    background: #fff;
    border-radius: 20px;
    padding: 2.5rem;
    margin-top: -80px;
    position: relative;
    z-index: 10;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.kic-agency-logo-container {
    width: 120px;
    height: 120px;
    background: #fff;
    border-radius: 15px;
    padding: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    margin-top: -60px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.kic-agency-logo-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.kic-agency-stats {
    display: flex;
    gap: 2rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #f0f0f0;
}

.kic-agency-stat-item {
    display: flex;
    flex-direction: column;
}

.kic-agency-stat-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--kic-primary);
}

.kic-agency-stat-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kic-agency__section {
    background: #fff;
    padding: 2.5rem;
    border-radius: 20px;
    margin-bottom: 2rem;
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.kic-agency__section-title {
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 12px;
}

.kic-agency__section-title i {
    color: var(--kic-primary);
}

@media (max-width: 768px) {
    .kic-agency-banner {
        height: 200px;
    }

    .kic-agency-header-card {
        margin-top: -40px;
        padding: 1.5rem;
    }

    .kic-agency-stats {
        gap: 1rem;
        flex-wrap: wrap;
    }
}

.kic-contact-card__price-block .kic-contact-card__price,
.kic-contact-card__price-block span,
.kic-contact-card__price-block div,
.kic-contact-card__price-block i {
    color: white !important;
}

/* === SECTION 18 — Auth Modals === */
.kic-auth-modal .modal-content {
    border-radius: var(--radius-2xl);
    border: none;
    overflow: hidden;
    box-shadow: var(--shadow-2xl);
}

.kic-auth-modal .modal-body {
    padding: 0;
}

.kic-auth-image-side {
    position: relative;
    background: var(--kic-dark);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--space-10);
    color: var(--kic-white);
    min-height: 100%;
}

.kic-auth-image-side img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6;
}

.kic-auth-image-side::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(26, 26, 46, 0.9), transparent);
    z-index: 1;
}

.kic-auth-image-side__content {
    position: relative;
    z-index: 2;
}

.kic-auth-form-side {
    padding: var(--space-8) var(--space-12);
}

@media (max-width: 991px) {
    .kic-auth-form-side {
        padding: var(--space-8) var(--space-6);
    }
}

/* Tabs Styling */
.kic-auth-tabs {
    display: flex;
    gap: var(--space-2);
    background: var(--kic-surface);
    padding: var(--space-1);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-8);
    border: none;
}

.kic-auth-tabs .nav-item {
    flex: 1;
}

.kic-auth-tabs .nav-link {
    width: 100%;
    border: none !important;
    border-radius: var(--radius-md) !important;
    padding: var(--space-3) !important;
    font-weight: 600;
    color: var(--kic-text-muted);
    transition: all var(--transition-fast);
    text-align: center;
    background: transparent !important;
}

.kic-auth-tabs .nav-link.active {
    background-color: var(--kic-white) !important;
    color: var(--kic-primary) !important;
    box-shadow: var(--shadow-sm);
}

/* Account Type Selector */
.kic-account-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

@media (max-width: 576px) {
    .kic-account-selector {
        grid-template-columns: 1fr;
    }
}

.kic-account-option {
    cursor: pointer;
    position: relative;
}

.kic-account-option input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.kic-account-option__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    border: 2px solid var(--kic-border);
    border-radius: var(--radius-lg);
    transition: all var(--transition-fast);
    height: 100%;
}

.kic-account-option input:checked+.kic-account-option__card {
    border-color: var(--kic-primary);
    background: var(--kic-primary-bg);
}

.kic-account-option input:checked+.kic-account-option__card i {
    color: var(--kic-primary);
}

.kic-account-option__card i {
    font-size: var(--text-xl);
    margin-bottom: var(--space-2);
    color: var(--kic-text-muted);
    transition: color var(--transition-fast);
}

.kic-account-option__card span {
    font-size: var(--text-sm);
    font-weight: 600;
}

.kic-auth-tip-box {
    background: var(--kic-surface);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    margin-top: var(--space-3);
    border-left: 4px solid var(--kic-primary);
}

/* Password Toggle Helper */
.kic-input--has-toggle,
.kic-input-group--has-toggle {
    position: relative;
}

.kic-input__toggle,
.kic-input-group__toggle {
    position: absolute;
    right: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--kic-text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1);
    z-index: 5;
    transition: color var(--transition-fast);
}

.kic-input__toggle:hover,
.kic-input-group__toggle:hover {
    color: var(--kic-primary);
}

.kic-input--has-toggle .kic-input,
.kic-input-group--has-toggle .kic-input {
    padding-right: var(--space-12) !important;
}

/* === SECTION 15 — Agency Pages (Dynamic) === */
.kic-agency-container-overlap {
    margin-top: -30px;
    margin-bottom: var(--space-10);
}

.kic-agency-name-title {
    font-size: 2.2rem;
    color: var(--kic-dark);
    letter-spacing: -0.02em;
}

.kic-agency-star-icon {
    font-size: 1.1rem;
}

.kic-agency-reviews-count {
    font-size: var(--text-sm);
    font-weight: 500;
}

.kic-agency-description-text {
    line-height: 1.8;
    font-size: 1.05rem;
}

.kic-agency-review-date {
    font-size: 0.7rem;
}

.kic-agency-sidebar-title {
    font-size: var(--text-lg);
}

.kic-agency-section-title-large {
    font-size: 1.8rem;
}

.kic-swiper-btn-circle {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kic-hide {
    display: none;
}

/* === SECTION 16 — Property Detail Page === */
.kic-property-title {
    font-size: 2.2rem;
    color: var(--kic-dark);
    letter-spacing: -0.01em;
}

.kic-property-description {
    line-height: 1.8;
    font-size: 1.1rem;
    white-space: pre-line;
}

.kic-bg-energy {
    background: #eef2ff;
}

.kic-bg-heating {
    background: #fff7ed;
}

.kic-property-map-container {
    height: 450px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #f1f1f1;
}

.kic-property-price-tag {
    font-size: 2.2rem;
    color: var(--kic-primary);
}

.kic-property-owner-name {
    font-size: var(--text-lg);
}

.kic-property-rating-small {
    font-size: var(--text-sm);
}

.kic-bg-login-notice {
    background: #eff6ff;
}

.kic-textarea-no-resize {
    resize: none;
    background: #fcfcfc;
}

.kic-property-section-title-large {
    font-size: 2rem;
}

/* === SECTION 17 — Auth & Modals === */
.kic-modal-close-abs {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 10;
}

.kic-icon-auth {
    width: 18px;
}

/* === SECTION 18 — Property Listing Page === */
.kic-city-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--kic-white);
    box-shadow: var(--shadow-md);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    border: 1px solid var(--kic-gray-200);
    border-top: none;
    z-index: 1000;
    max-height: 250px;
    overflow-y: auto;
}

.kic-city-suggestion-item-inner {
    cursor: pointer;
    font-size: 13px;
}

.kic-badge-city-tag {
    font-size: 10px;
    cursor: default;
}

.kic-cursor-pointer {
    cursor: pointer;
}

.kic-filter-input-compact {
    padding: 5px !important;
}

.kic-listing-container-rel {
    position: relative;
    min-height: 200px;
}

/* Dropdown compact style for filters */
.kic-sidebar__input-group select.kic-sidebar__input {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
}
/* --- SECTION 31 : Admin Auth (Phase 8) --- */
.kic-admin-auth {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--kic-bg-alt);
    padding: var(--space-6);
}

.kic-admin-auth__card {
    width: 100%;
    max-width: 480px;
    background: var(--kic-white);
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
    animation: kic-fade-up 0.5s ease-out;
}

.kic-admin-auth__header {
    background: var(--kic-primary);
    padding: var(--space-10) var(--space-8);
    position: relative;
    text-align: center;
    color: var(--kic-white);
    overflow: hidden;
}

.kic-admin-auth__title {
    color: var(--kic-white);
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 800;
    margin-bottom: var(--space-2);
    position: relative;
    z-index: 1;
}

.kic-admin-auth__subtitle {
    font-size: var(--text-sm);
    opacity: 0.9;
    font-weight: 500;
    position: relative;
    z-index: 1;
}

.kic-admin-auth__body {
    padding: var(--space-10) var(--space-10) var(--space-8);
}

/* Fix Inputs Padding & Icons */
.kic-admin-auth .kic-input {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
}

.kic-admin-auth .kic-input-group--has-toggle .kic-input {
    padding-right: var(--space-12);
}

/* Checkbox alignement */
.kic-admin-auth .kic-search__checkbox-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
}

.kic-admin-auth .form-check-input {
    margin-top: 0;
    width: 1.1rem;
    height: 1.1rem;
    cursor: pointer;
}

.kic-admin-auth__alert {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4);
    background: rgba(243, 68, 81, 0.05);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-8);
    border: 1px solid rgba(243, 68, 81, 0.1);
}

.kic-admin-auth__alert-icon {
    color: var(--kic-primary);
    font-size: 1.25rem;
}

.kic-admin-auth__alert-text {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    font-weight: 500;
    line-height: 1.5;
}

.kic-admin-auth__footer {
    padding: var(--space-6);
    text-align: center;
    background: var(--kic-bg);
    border-top: 1px solid var(--kic-divider);
}

.kic-admin-auth__back-link {
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    transition: color var(--transition-fast);
}

.kic-admin-auth__back-link:hover {
    color: var(--kic-primary);
}

@keyframes kic-fade-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.kic-modal-header--primary {
    background: var(--kic-primary) !important;
    color: var(--kic-white) !important;
    border: none !important;
    padding: var(--space-6) var(--space-8) !important;
}

.kic-modal-header--white {
    background: var(--kic-white) !important;
    color: var(--kic-text) !important;
    border-bottom: 1px solid var(--kic-divider) !important;
    padding: var(--space-6) var(--space-8) !important;
}

.kic-modal-content--premium {
    border-radius: var(--radius-xl) !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: var(--shadow-2xl) !important;
}

.kic-modal-body--premium {
    padding: var(--space-8) var(--space-10) !important;
}

.kic-modal-title--display {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

.kic-modal-text-muted {
    color: var(--kic-text-muted) !important;
    margin-bottom: var(--space-6) !important;
    font-size: var(--text-sm) !important;
}

/* SECTION 13 Agency & Social Styles */
.kic-social-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: var(--kic-gray-100);
    color: var(--kic-gray-600);
    font-size: 1.1rem;
    transition: var(--transition-normal);
}

.kic-social-icon:hover {
    color: var(--kic-white);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.kic-social-icon--facebook:hover { background-color: #1877F2; }
.kic-social-icon--instagram:hover { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.kic-social-icon--linkedin:hover { background-color: #0A66C2; }
.kic-social-icon--twitter:hover { background-color: #000000; }
.kic-social-icon--youtube:hover { background-color: #FF0000; }



/* SECTION 14 - Legacy Cleanup & UI Refinements */
.bg-light-kic { background-color: var(--kic-gray-50) !important; }
.text-muted-kic { color: var(--kic-gray-500) !important; }
.text-dark-kic { color: var(--kic-dark) !important; }
.text-primary-kic { color: var(--kic-primary) !important; }
.text-success-kic { color: var(--kic-success) !important; }

.kic-spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid var(--kic-primary-bg);
    border-top-color: var(--kic-primary);
    border-radius: 50%;
    animation: kic-spinner 0.6s linear infinite;
    display: inline-block;
    vertical-align: text-bottom;
}

.kic-spinner--sm {
    width: 1rem;
    height: 1rem;
    border-width: 1.5px;
}

.kic-agency-banner--placeholder {
    background-color: var(--kic-gray-50);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    border-radius: var(--radius-lg);
}

/* Overriding typical Bootstrap colors for consistency */
.spinner-border { color: var(--kic-primary) !important; }
.pagination .page-item.active .page-link {
    background-color: var(--kic-primary);
    border-color: var(--kic-primary);
}
.pagination .page-link { color: var(--kic-primary); }




/* ============================================================
   SECTION 33 — Dashboard Layout (KIC Backend)
   Ajoute le layout split-screen sidebar/topbar/contenu
   pour les 3 dashboards : User, Vendor/Agence, Admin.

   NE PAS utiliser les classes .kic-card ici (hover lift indésirable).
   Toutes les classes sont scopées sous .kic-dash-body.
   setActive() retourne 'active' → styler .kic-dash__menu-link.active
   ============================================================ */

/* === 33.1 — Variables Dashboard === */
:root {
    --kic-dash-sidebar-width: 260px;
    --kic-dash-sidebar-collapsed-width: 72px;
    --kic-dash-topbar-height: 64px;
    --kic-dash-sidebar-bg: #1A1A2E;
    --kic-dash-sidebar-text: rgba(255, 255, 255, 0.90);
    --kic-dash-sidebar-text-active: #FFFFFF;
    --kic-dash-sidebar-accent: var(--kic-primary);
    --kic-dash-sidebar-hover: rgba(108, 60, 225, 0.15);
    --kic-dash-sidebar-active-bg: rgba(108, 60, 225, 0.2);
    --kic-dash-topbar-bg: var(--kic-white);
    --kic-dash-content-bg: var(--kic-bg);
    --kic-dash-border: rgba(255, 255, 255, 0.08);
}

/* === 33.2 — Body & Layout Shell === */
.kic-dash-body {
    background-color: var(--kic-dash-content-bg);
    font-family: var(--font-main);
    min-height: 100vh;
    display: flex;
    overflow-x: hidden;
}

/* Wrapper Alpine.js — transparent au flex du body (sidebar + wrapper sont directs enfants flex) */
.kic-dash__layout {
    display: flex;
    width: 100%;
    min-height: 100vh;
    position: relative;
}

/* Footer copyright en bas du wrapper dashboard */
.kic-dash__footer {
    padding: var(--space-4) var(--space-8);
    border-top: 1px solid var(--kic-border);
    background: var(--kic-white);
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    text-align: center;
    flex-shrink: 0;
}


/* Reset lien couleur — surcharge la règle globale Section 02 */
/* Exclure .kic-btn : les liens-boutons gardent leur color propre (blanc sur primary) */
.kic-dash-body a:not(.kic-btn) {
    color: inherit;
    text-decoration: none;
}

/* Garantir que les boutons kic-btn conservent leur couleur même dans le dashboard */
.kic-dash-body a.kic-btn--primary,
.kic-dash-body a.kic-btn--secondary {
    color: var(--kic-white) !important;
}

.kic-dash-body a.kic-btn--outline {
    color: var(--kic-primary) !important;
}

/* Hover global dans le dashboard — sauf sidebar (fond sombre : violet invisible) */
.kic-dash__content a:hover {
    color: var(--kic-primary);
}

/* Liens sidebar : hover = blanc plein, pas violet */
.kic-dash__sidebar a:hover {
    color: var(--kic-dash-sidebar-text-active) !important;
}

/* Liens dans le contenu de page (hors nav) peuvent rester primaires */
.kic-dash__content a:not(.kic-btn):not(.kic-dash__menu-link):not(.kic-dash__submenu-link) {
    color: var(--kic-primary);
}

.kic-dash__wrapper {
    flex: 1;
    /* Let wide tables scroll inside their wrapper instead of widening the page. */
    min-width: 0;
    margin-left: var(--kic-dash-sidebar-width);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    transition: margin-left var(--transition-normal);
}

.kic-dash__wrapper--collapsed {
    margin-left: var(--kic-dash-sidebar-collapsed-width);
}

.kic-dash__content {
    flex: 1;
    padding: var(--space-6) var(--space-8);
    background-color: var(--kic-dash-content-bg);
}

/* === 33.3 — Sidebar === */
.kic-dash__sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--kic-dash-sidebar-width);
    height: 100vh;
    background-color: var(--kic-dash-sidebar-bg);
    color: var(--kic-dash-sidebar-text); /* Force le blanc sur tout l'arbre — corrige l'héritage global */
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: width var(--transition-normal);
    z-index: var(--z-sticky);
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
}

.kic-dash__sidebar--collapsed {
    width: var(--kic-dash-sidebar-collapsed-width);
}

.kic-dash__sidebar--collapsed .kic-dash__menu-link-text,
.kic-dash__sidebar--collapsed .kic-dash__menu-group-label,
.kic-dash__sidebar--collapsed .kic-dash__menu-badge,
.kic-dash__sidebar--collapsed .kic-dash__sidebar-profile-name,
.kic-dash__sidebar--collapsed .kic-dash__sidebar-profile-email,
.kic-dash__sidebar--collapsed .kic-dash__help-box {
    display: none;
}

/* Logo */
.kic-dash__sidebar-logo {
    padding: var(--space-5) var(--space-5);
    border-bottom: 1px solid var(--kic-dash-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.kic-dash__sidebar-logo img {
    max-height: 40px;
    width: auto;
    display: block;
}

.kic-dash__sidebar-logo-close {
    background: none;
    border: none;
    color: var(--kic-dash-sidebar-text);
    cursor: pointer;
    padding: var(--space-1);
    display: none; /* affiché uniquement en mobile */
    line-height: 1;
}

/* Profile */
.kic-dash__sidebar-profile {
    padding: var(--space-4) var(--space-5);
    border-bottom: 1px solid var(--kic-dash-border);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-shrink: 0;
    min-width: 0;
}

.kic-dash__sidebar-profile-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--kic-dash-sidebar-accent);
}

.kic-dash__sidebar-profile-info {
    min-width: 0;
    overflow: hidden;
}

.kic-dash__sidebar-profile-name {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--kic-dash-sidebar-text-active);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.kic-dash__sidebar-profile-email {
    font-size: var(--text-xs);
    color: var(--kic-dash-sidebar-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* === 33.4 — Navigation Menu === */
.kic-dash__menu {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--space-4) 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
}

.kic-dash__menu::-webkit-scrollbar {
    width: 4px;
}

.kic-dash__menu::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-full);
}

.kic-dash__menu-group {
    margin-bottom: var(--space-2);
}

.kic-dash__menu-group-label {
    padding: var(--space-3) var(--space-5) var(--space-1);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    display: block;
}

.kic-dash__menu-item {
    list-style: none;
    margin: 0;
}

.kic-dash__menu-link {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-5);
    color: var(--kic-dash-sidebar-text);
    font-size: var(--text-sm);
    font-weight: 500;
    transition: all var(--transition-fast);
    cursor: pointer;
    border-left: 3px solid transparent;
    white-space: nowrap;
    position: relative;
}

.kic-dash__menu-link:hover {
    background: var(--kic-dash-sidebar-hover);
    color: var(--kic-dash-sidebar-text-active);
    border-left-color: rgba(108, 60, 225, 0.4);
}

/* setActive() retourne 'active' — styler .active ici */
.kic-dash__menu-link.active {
    background: var(--kic-dash-sidebar-active-bg);
    color: var(--kic-dash-sidebar-text-active);
    font-weight: 600;
    border-left-color: var(--kic-dash-sidebar-accent);
}

.kic-dash__menu-link-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    opacity: 0.85;
}

.kic-dash__menu-link.active .kic-dash__menu-link-icon {
    opacity: 1;
}

.kic-dash__menu-link-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Badge compteur dans les liens (messages non lus, RDV en attente, etc.) */
.kic-dash__menu-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 var(--space-1);
    border-radius: var(--radius-full);
    background: var(--kic-secondary);
    color: var(--kic-white);
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}

.kic-dash__menu-badge--danger {
    background: #dc3545;
}

/* Icône chevron toggle sous-menus */
.kic-dash__submenu-toggle {
    margin-left: auto;
    font-size: 0.7rem;
    transition: transform var(--transition-fast);
    opacity: 0.6;
}

.kic-dash__menu-link[aria-expanded="true"] .kic-dash__submenu-toggle {
    transform: rotate(90deg);
}

/* Sous-menus dépliables (admin) */
.kic-dash__submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    background: rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

.kic-dash__submenu-link {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-5) var(--space-2) var(--space-12);
    color: var(--kic-dash-sidebar-text);
    font-size: var(--text-sm);
    font-weight: 400;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.kic-dash__submenu-link:hover {
    color: var(--kic-dash-sidebar-text-active);
    background: var(--kic-dash-sidebar-hover);
}

.kic-dash__submenu-link.active {
    color: var(--kic-dash-sidebar-text-active);
    font-weight: 600;
}

/* Bloc "Besoin d'aide?" en bas de sidebar */
.kic-dash__help-box {
    margin: var(--space-4) var(--space-4) var(--space-6);
    padding: var(--space-4);
    background: rgba(108, 60, 225, 0.15);
    border: 1px solid rgba(108, 60, 225, 0.25);
    border-radius: var(--radius-lg);
    text-align: center;
    flex-shrink: 0;
}

.kic-dash__help-box img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    margin: 0 auto var(--space-2);
}

.kic-dash__help-box h6 {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--kic-dash-sidebar-text-active);
    margin-bottom: var(--space-3);
}

/* === 33.5 — Topbar === */
.kic-dash__topbar {
    position: sticky;
    top: 0;
    z-index: 150;
    height: var(--kic-dash-topbar-height);
    background: var(--kic-dash-topbar-bg);
    border-bottom: 1px solid var(--kic-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-8);
    box-shadow: var(--shadow-sm);
    flex-shrink: 0;
}

/* Bouton hamburger (toggle sidebar) */
.kic-dash__topbar-toggle {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--kic-text-muted);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.kic-dash__topbar-toggle:hover {
    background: var(--kic-surface);
    color: var(--kic-text);
}

/* Zone droite : lang switcher + user menu */
.kic-dash__topbar-actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-left: auto;
}

.kic-dash__topbar-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-md);
}

.kic-nav__dropdown-item--button {
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
}

/* Bouton "Publier un bien" dans le topbar */
.kic-dash__topbar-publish-btn {
    /* Étend .kic-btn.kic-btn--primary.kic-btn--sm */
}

/* Titre de page + breadcrumb */
.kic-dash__page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
    flex-wrap: wrap;
}

.kic-dash__page-header h1,
.kic-dash__page-header h2 {
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--kic-dark);
    margin: 0 0 var(--space-1);
}

.kic-dash__breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
}

.kic-dash__breadcrumb-item a {
    color: inherit;
    transition: color var(--transition-fast);
}

.kic-dash__breadcrumb-item a:hover {
    color: var(--kic-primary);
}

.kic-dash__breadcrumb-item + .kic-dash__breadcrumb-item::before {
    content: '/';
    opacity: 0.4;
}

.kic-dash__welcome-msg {
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-dash__welcome-msg strong {
    color: var(--kic-dark);
    font-weight: 600;
}

.kic-dash__page-header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* === 33.6 — Cards Dashboard (panels statiques) === */
/* Indépendant de .kic-card — pas de hover lift */
.kic-dash__card {
    background: var(--kic-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    border: 1px solid var(--kic-border);
    overflow: hidden;
    margin-bottom: var(--space-6);
}

.kic-dash__card--gradient {
    background: linear-gradient(135deg, var(--kic-white) 0%, var(--kic-gray-50) 100%);
}

.kic-dash__card--dark {
    background: var(--kic-dark);
}

.kic-img--become {
    max-height: 450px;
}

.kic-dash__cta-subtitle {
    max-width: 600px;
}

.kic-dash__card-header {
    padding: var(--space-4) var(--space-6);
    border-bottom: 1px solid var(--kic-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
}

.kic-dash__card-header h2,
.kic-dash__card-header h3,
.kic-dash__card-header h4 {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--kic-dark);
    margin: 0;
}

.kic-dash__card-body {
    padding: var(--space-6);
}

/* === 33.7 — Stat Cards (dashboard overview) === */
.kic-dash__stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-5);
    margin-bottom: var(--space-6);
}

/* Grilles variables */
.kic-dash__stat-grid--3 { grid-template-columns: repeat(3, 1fr); }
.kic-dash__stat-grid--2 { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 1024px) {
    .kic-dash__stat-grid, .kic-dash__stat-grid--4, .kic-dash__stat-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .kic-dash__stat-grid, .kic-dash__stat-grid--4, .kic-dash__stat-grid--3, .kic-dash__stat-grid--2 {
        grid-template-columns: 1fr;
    }
}

/* Style 01 : Classique (Horizontal layout, Big icon left) */
.kic-dash__stat-card {
    background: var(--kic-white);
    border-radius: var(--radius-lg);
    padding: var(--space-5) var(--space-6);
    border: 1px solid var(--kic-border);
    box-shadow: var(--shadow-card);
    display: flex;
    align-items: center;
    gap: var(--space-4);
    transition: box-shadow var(--transition-fast);
}

.kic-dash__stat-card:hover {
    box-shadow: var(--shadow-md);
}

.kic-dash__stat-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-dash__stat-icon--warning { background: rgba(245, 158, 11, 0.1); color: var(--kic-warning); }
.kic-dash__stat-icon--success { background: rgba(16, 185, 129, 0.1); color: var(--kic-success); }
.kic-dash__stat-icon--danger  { background: rgba(239, 68, 68, 0.1);  color: var(--kic-error);   }
.kic-dash__stat-icon--info    { background: rgba(59, 130, 246, 0.1); color: var(--kic-info);    }

/* Style 02 : Accent (Border left + Icon circle right) */
.kic-dash__stat-card--accent {
    background: var(--kic-white);
    border-radius: var(--radius-lg);
    padding: var(--space-4) var(--space-5);
    border: 1px solid var(--kic-border);
    border-left-width: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kic-dash__stat-card--accent:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.kic-dash__stat-card--accent.card-primary { border-left-color: var(--kic-primary); }
.kic-dash__stat-card--accent.card-success { border-left-color: var(--kic-success); }
.kic-dash__stat-card--accent.card-warning { border-left-color: var(--kic-warning); }
.kic-dash__stat-card--accent.card-danger  { border-left-color: var(--kic-error); }
.kic-dash__stat-card--accent.card-info    { border-left-color: var(--kic-info); }

.kic-dash__stat-info h6 {
    font-size: 0.7rem;
    color: var(--kic-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
    font-weight: 700;
}

.kic-dash__stat-info h2 {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--kic-dark);
    margin: var(--space-1) 0 0;
    line-height: 1;
}

.kic-dash__stat-icon-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kic-white);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.kic-dash__stat-icon-circle.bg-primary { background-color: var(--kic-primary); }
.kic-dash__stat-icon-circle.bg-success { background-color: var(--kic-success); }
.kic-dash__stat-icon-circle.bg-warning { background-color: var(--kic-warning); }
.kic-dash__stat-icon-circle.bg-danger  { background-color: var(--kic-error); }
.kic-dash__stat-icon-circle.bg-info    { background-color: var(--kic-info); }

.kic-dash__stat-body {
    min-width: 0;
}

.kic-dash__stat-value {
    font-size: var(--text-2xl);
    font-weight: 800;
    color: var(--kic-dark);
    line-height: 1.1;
    display: block;
}

.kic-dash__stat-label {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--kic-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: var(--space-1);
    display: block;
}

.kic-dash__stat-trend {
    font-size: var(--text-xs);
    font-weight: 600;
    margin-top: var(--space-1);
    display: flex;
    align-items: center;
    gap: 2px;
}

.kic-dash__stat-trend--up   { color: var(--kic-success); }
.kic-dash__stat-trend--down { color: var(--kic-error); }

/* === 33.8 — Tables de données === */
.kic-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.kic-tabs__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.9rem;
  color: var(--kic-text-muted);
  border-bottom: 2px solid transparent;
  font-weight: 600;
}

.kic-tabs__item:hover,
.kic-tabs__item--active {
  color: var(--kic-primary);
  border-bottom-color: var(--kic-primary);
}

.kic-table-wrapper {
    overflow-x: auto;
    border-radius: var(--radius-md);
}

.kic-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.kic-table thead th {
    background: var(--kic-gray-50);
    color: var(--kic-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: var(--text-xs);
    padding: var(--space-4);
    text-align: left;
    border-bottom: 2px solid var(--kic-border);
    white-space: nowrap;
}

.kic-table tbody td {
    padding: var(--space-4);
    border-bottom: 1px solid var(--kic-gray-100);
    color: var(--kic-text);
    vertical-align: middle;
}

/* Forcer le nowrap uniquement sur certaines colonnes */
.kic-table td.text-nowrap,
.kic-table th.text-nowrap,
.kic-table td:last-child { /* Souvent les actions */
    white-space: nowrap;
}

.kic-table tbody tr:last-child td {
    border-bottom: none;
}

.kic-table tbody tr:hover td {
    background: var(--kic-gray-50);
}

.kic-table__actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.kic-table-link {
    color: var(--kic-primary);
    font-weight: 600;
    text-decoration: none;
}

.kic-table-link:hover {
    color: var(--kic-primary-dark);
    text-decoration: underline;
}

.kic-admin-form-grid {
    display: grid;
    gap: var(--space-4);
}

.kic-admin-form-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kic-admin-form-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kic-admin-form-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kic-admin-form-grid__full {
    grid-column: 1 / -1;
}

.kic-readonly-field {
    display: grid;
    gap: var(--space-1);
    min-width: 0;
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-gray-50);
}

.kic-readonly-field span {
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.kic-readonly-field strong {
    min-width: 0;
    color: var(--kic-dark);
    font-size: var(--text-sm);
    font-weight: 700;
}

.kic-readonly-field--break strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.kic-file-preview {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 72px;
    min-height: 64px;
    margin-bottom: var(--space-3);
    padding: var(--space-2);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-gray-50);
    box-shadow: var(--shadow-sm);
}

.kic-file-preview__image {
    width: auto;
    max-width: 140px;
    max-height: 50px;
    object-fit: contain;
}

.kic-accordion {
    display: grid;
    gap: var(--space-4);
}

.kic-accordion__item {
    overflow: hidden;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-white);
    box-shadow: var(--shadow-sm);
}

.kic-accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 58px;
    padding: var(--space-4) var(--space-5);
    border: 0;
    border-left: 4px solid transparent;
    background: var(--kic-white);
    color: var(--kic-dark);
    cursor: pointer;
    font-size: var(--text-base);
    font-weight: 800;
    text-align: left;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.kic-accordion__trigger:hover,
.kic-accordion__trigger[aria-expanded="true"] {
    border-left-color: var(--kic-primary);
    background: rgba(109, 59, 237, 0.06);
    color: var(--kic-primary);
}

.kic-accordion__trigger i {
    color: currentColor;
    font-size: var(--text-sm);
}

.kic-accordion__body {
    padding: var(--space-5);
    border-top: 1px solid var(--kic-border);
    background: var(--kic-white);
}

.kic-status-dropdown .kic-badge {
    border: 0;
    cursor: pointer;
}

.kic-status-dropdown__menu {
    border: 1px solid var(--kic-border);
    box-shadow: var(--shadow-md);
}

.kic-status-dropdown__menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.kic-status-dot {
    width: 9px;
    height: 9px;
    border-radius: var(--radius-full);
    display: inline-flex;
    flex-shrink: 0;
    background: var(--kic-text-muted);
}

.kic-status-dot--primary { background: var(--kic-primary); }
.kic-status-dot--success { background: var(--kic-success); }
.kic-status-dot--warning { background: var(--kic-warning); }
.kic-status-dot--danger { background: var(--kic-error); }
.kic-status-dot--info { background: var(--kic-info); }
.kic-status-dot--secondary,
.kic-status-dot--dark { background: var(--kic-text-muted); }

.kic-status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.kic-table__sortable {
    cursor: pointer;
}

.kic-table-empty-cell {
    text-align: center;
}

.kic-table-empty-cell .kic-empty-state {
    margin-inline: auto;
}

.kic-admin-section {
    display: grid;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.kic-admin-tabs {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-5);
    padding: var(--space-1);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-full);
    background: var(--kic-white);
    box-shadow: var(--shadow-sm);
}

.kic-admin-tabs__button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border: 0;
    border-radius: var(--radius-full);
    background: transparent;
    color: var(--kic-text-muted);
    font-weight: 800;
    cursor: pointer;
}

.kic-admin-tabs__button:hover,
.kic-admin-tabs__button.is-active {
    background: var(--kic-primary);
    color: var(--kic-white);
}

.kic-user-chip {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.kic-user-chip__avatar {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--kic-primary);
    color: var(--kic-white);
    font-size: var(--text-xs);
    font-weight: 800;
}

.kic-user-chip__name {
    color: var(--kic-dark);
    font-weight: 700;
}

.kic-technical-list {
    display: grid;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.kic-technical-list div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-3);
    border-bottom: 1px solid var(--kic-border);
}

.kic-technical-list div:last-child {
    border-bottom: 0;
}

.kic-technical-list strong {
    color: var(--kic-dark);
}

.kic-technical-list span,
.kic-technical-list a,
.kic-technical-list code {
    min-width: 0;
    overflow-wrap: anywhere;
}

.kic-code-box {
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--kic-dark);
    color: var(--kic-white);
    overflow-wrap: anywhere;
}

.kic-code-box code {
    color: inherit;
}

.kic-code-box span {
    color: var(--kic-warning);
}

.kic-code-box--danger {
    border: 1px solid rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.08);
    color: var(--kic-error);
}

.kic-code-box--scroll {
    max-height: 200px;
    overflow-y: auto;
    font-size: var(--text-sm);
}

.kic-feature-list {
    display: grid;
    gap: var(--space-2);
}

.kic-feature-list__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-2);
    align-items: center;
}

/* === 33.12 — Utilities dashboard === */
.bg-primary-soft { background-color: rgba(108, 60, 225, 0.08) !important; color: var(--kic-primary) !important; }
.bg-success-soft { background-color: rgba(16, 185, 129, 0.08) !important; color: var(--kic-success) !important; }
.bg-warning-soft { background-color: rgba(245, 158, 11, 0.08) !important; color: var(--kic-warning) !important; }
.bg-danger-soft  { background-color: rgba(239, 68, 68, 0.08) !important;  color: var(--kic-error) !important;   }
.bg-info-soft    { background-color: rgba(59, 130, 246, 0.08) !important; color: var(--kic-info) !important;    }
.bg-light-soft   { background-color: var(--kic-gray-50) !important; }

.text-xs { font-size: 0.75rem !important; }
.text-sm { font-size: 0.875rem !important; }
.x-small { font-size: 0.7rem !important; }

.font-weight-bold { font-weight: 700 !important; }
.font-weight-medium { font-weight: 500 !important; }

.rounded-lg { border-radius: var(--radius-lg) !important; }
.rounded-xl { border-radius: var(--radius-xl) !important; }

.italic-text { font-style: italic; }

.shrink-0 { flex-shrink: 0 !important; }

/* Evolution des badges KIC pour support soft multi-couleurs */
.kic-badge--info { background-color: rgba(59, 130, 246, 0.1); color: var(--kic-info); }
.kic-badge--danger { background-color: rgba(239, 68, 68, 0.1); color: var(--kic-error); }
.kic-badge--warning { background-color: rgba(245, 158, 11, 0.1); color: var(--kic-warning); }
.kic-badge--dark { background-color: rgba(30, 41, 59, 0.1); color: var(--kic-dark); }

/* === 33.9 — Modal Dashboard === */
/* Pattern pour modals dans le dashboard (distinct de kic-auth-layout) */
.kic-dash__modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(26, 26, 46, 0.6);
    backdrop-filter: blur(4px);
    z-index: var(--z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
}

.kic-dash__modal-overlay--top {
    z-index: calc(var(--z-modal) + 1);
}

.kic-dash__modal {
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-2xl);
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
}

.kic-dash__modal--lg {
    max-width: 860px;
}

.kic-dash__modal--xl {
    max-width: 1040px;
}

.kic-dash__modal--sm {
    max-width: 420px;
}

.kic-dash__modal-header {
    padding: var(--space-5) var(--space-6);
    border-bottom: 1px solid var(--kic-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kic-dash__modal-header h3 {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--kic-dark);
    margin: 0;
}

.kic-dash__modal-close {
    background: none;
    border: none;
    color: var(--kic-text-muted);
    cursor: pointer;
    padding: var(--space-1);
    font-size: 1rem;
    transition: color var(--transition-fast);
}

.kic-dash__modal-close:hover {
    color: var(--kic-dark);
}

.kic-dash__modal-body {
    padding: var(--space-6);
}

.kic-dash__modal-footer {
    padding: var(--space-4) var(--space-6);
    border-top: 1px solid var(--kic-border);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-3);
}

/* === 33.10 — Responsive Dashboard === */
@media (max-width: 1280px) {
    .kic-dash__stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1024px) {
    /* Sidebar en overlay sur tablette/mobile */
    .kic-dash__sidebar {
        transform: translateX(-100%);
        transition: transform var(--transition-normal);
        z-index: var(--z-modal);
    }

    .kic-subscription-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kic-admin-agency-form__grid--3,
    .kic-admin-agency-form__grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kic-dash__sidebar--open {
        transform: translateX(0);
    }

    .kic-dash__sidebar-logo-close {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kic-dash__wrapper {
        margin-left: 0;
    }

    .kic-dash__wrapper--collapsed {
        margin-left: 0;
    }

    .kic-dash__topbar {
        padding: 0 var(--space-4);
    }

    .kic-dash__content {
        padding: var(--space-4);
    }

    /* Overlay sombre quand sidebar ouverte */
    .kic-dash__sidebar-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.4);
        z-index: calc(var(--z-modal) - 1);
        display: none;
    }

    .kic-dash__sidebar-overlay--visible {
        display: block;
    }
}

@media (max-width: 768px) {
    .kic-dash__stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    .kic-dash__card-body {
        padding: var(--space-4);
    }

    .kic-dash__card-header {
        padding: var(--space-3) var(--space-4);
        flex-direction: column;
        align-items: flex-start;
    }

    .kic-dash__topbar-publish-btn span {
        display: none; /* Cacher le texte, garder l'icône */
    }
}

@media (max-width: 480px) {
    .kic-dash__stat-grid {
        grid-template-columns: 1fr;
    }

    .kic-dash__content {
        padding: var(--space-3);
    }
}

/* === 33.9 — Profile Layout === */
.kic-dash__profile-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: var(--space-6);
    align-items: start;
}

.kic-dash__profile-aside {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

/* Identité (avatar centré + nom + email) */
.kic-dash__profile-identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-2);
}

.kic-dash__profile-identity h5 {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--kic-dark);
    margin: var(--space-2) 0 0;
}

.kic-dash__profile-identity p {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin: 0;
}

/* Avatar grande taille */
.kic-dash__profile-avatar-lg {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--kic-primary);
    display: block;
}

/* Wrapper avatar éditable */
.kic-dash__profile-avatar-edit-wrap {
    position: relative;
    width: 120px;
    margin: 0 auto var(--space-6);
}

/* Bouton caméra overlay */
.kic-dash__profile-avatar-cam {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--kic-white);
    box-shadow: var(--shadow-md);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--kic-primary);
    font-size: var(--text-sm);
    transition: background var(--transition-fast);
}

.kic-dash__profile-avatar-cam:hover {
    background: var(--kic-primary);
    color: var(--kic-white);
}

/* Champ "Depuis" */
.kic-dash__profile-since {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    margin-top: var(--space-3);
    padding-top: var(--space-3);
    border-top: 1px solid var(--kic-border);
    width: 100%;
    text-align: center;
}

/* Quick stats dans la colonne gauche */
.kic-dash__profile-stats {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.kic-dash__profile-stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--kic-gray-50);
}

.kic-dash__profile-stat-value {
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-dark);
}

.kic-dash__profile-stat-label {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

/* Grille champs formulaire profil (2 colonnes) */
.kic-dash__profile-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
}

.kic-input-group--full {
    grid-column: 1 / -1;
}

/* Champ en lecture seule */
.kic-dash__profile-field label {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--kic-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: var(--space-1);
}

.kic-dash__profile-field p {
    font-size: var(--text-sm);
    color: var(--kic-dark);
    margin: 0;
    font-weight: 500;
}

/* Placeholder mot de passe masqué */
.kic-dash__profile-password-placeholder {
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

/* Boutons de formulaire alignés */
.kic-dash__profile-form-actions {
    display: flex;
    gap: var(--space-3);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--kic-border);
}

/* Colonne principale droite */
.kic-dash__profile-main {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

/* Profile étudiant : capacité du compte, sans navigation propre avant les annonces. */
.kic-dash__student-profile-heading {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.kic-dash__student-profile-heading p {
    margin: var(--space-1) 0 0;
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-dash__student-profile-icon {
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: var(--radius-md);
    background: rgba(108, 60, 225, 0.1);
    color: var(--kic-primary);
}

.kic-dash__student-profile-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--space-4);
}

/* Student listings dashboard. */
.kic-student-listing__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}

.kic-student-listing__full {
    grid-column: 1 / -1;
}

.kic-student-listing__notice {
    margin: 0;
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-student-listing__media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.kic-student-listing__media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-gray-50);
}

.kic-student-listing__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-student-listing__media-actions {
    position: absolute;
    right: var(--space-2);
    bottom: var(--space-2);
    display: flex;
    gap: var(--space-1);
}

.kic-student-listing__media-actions button {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--kic-white);
    color: var(--kic-dark);
    cursor: pointer;
}

.kic-student-listing__media-actions button:hover {
    background: var(--kic-primary);
    color: var(--kic-white);
}

.kic-student-listing__form-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.kic-student-listing__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.kic-student-home { max-width: 70rem; margin: 0 auto; }
.kic-student-home__intro { margin-bottom: var(--space-5); }
.kic-student-home__intro h2 { color: var(--kic-dark); font-size: var(--text-2xl); margin-bottom: var(--space-2); }
.kic-student-home__intro p { color: var(--kic-text-muted); max-width: 65ch; margin: 0; }
.kic-student-home__listing { display: grid; grid-template-columns: minmax(15rem, 38%) minmax(0, 1fr); overflow: hidden; }
.kic-student-home__visual { min-height: 19rem; background: var(--kic-gray-50); }
.kic-student-home__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kic-student-home__content { padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-5); }
.kic-student-home__heading h3 { color: var(--kic-dark); font-size: var(--text-xl); margin: var(--space-2) 0 var(--space-1); }
.kic-student-home__heading p { color: var(--kic-text-muted); margin: 0; }
.kic-student-home__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
.kic-student-home__facts div { min-width: 0; }
.kic-student-home__facts dt { color: var(--kic-text-muted); font-size: var(--text-xs); }
.kic-student-home__facts dd { color: var(--kic-dark); font-weight: 700; margin: var(--space-1) 0 0; }
.kic-student-home__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.kic-student-home__actions form { margin: 0; }
.kic-student-home__hint { color: var(--kic-text-muted); font-size: var(--text-sm); margin: 0; }
.kic-student-home__empty { text-align: center; padding: var(--space-8) var(--space-5); }
.kic-student-home__empty-icon { color: var(--kic-primary); font-size: var(--text-3xl); margin-bottom: var(--space-3); }
.kic-student-home__empty h3 { color: var(--kic-dark); margin-bottom: var(--space-2); }
.kic-student-home__empty p { color: var(--kic-text-muted); max-width: 48ch; margin: 0 auto var(--space-5); }
@media (max-width: 767px) {
    .kic-student-home__listing { grid-template-columns: 1fr; }
    .kic-student-home__visual { min-height: 12rem; max-height: 16rem; }
    .kic-student-home__content { padding: var(--space-4); }
    .kic-student-home__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.kic-community-page,
.kic-community-detail {
    padding: 2rem 0 3rem;
}

.kic-community-layout {
    display: grid;
    grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr);
    gap: 1.5rem;
}

.kic-community-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.kic-community-grid__empty {
    grid-column: 1 / -1;
    margin: 0;
    text-align: center;
}

.kic-community-card {
    overflow: hidden;
    border: 1px solid var(--kic-border-color, #dfe5ea);
    border-radius: 8px;
    background: #fff;
}

.kic-community-card__image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.kic-community-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-community-card__image .kic-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
}

.kic-community-card__body {
    display: grid;
    gap: 0.65rem;
    padding: 1rem;
}

.kic-community-card__location,
.kic-community-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    margin: 0;
    color: var(--kic-text-muted, #6b7280);
    font-size: 0.875rem;
}

.kic-community-card__title {
    margin: 0;
    font-size: 1.05rem;
}

.kic-community-card__title a {
    color: inherit;
    text-decoration: none;
}

.kic-community-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.kic-community-pagination {
    margin-top: 1.5rem;
}

.kic-community-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(17rem, 0.8fr);
    gap: 2rem;
    margin-top: 1rem;
}

.kic-community-detail__image {
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 16 / 9;
}

.kic-community-detail__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-community-detail__description {
    color: var(--kic-text-muted, #4b5563);
    line-height: 1.7;
}

.kic-community-detail__facts {
    display: grid;
    gap: 0.85rem;
    margin: 0;
}

.kic-community-detail__facts div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.kic-community-detail__facts dt {
    color: var(--kic-text-muted, #6b7280);
    font-weight: 400;
}

.kic-community-detail__facts dd {
    margin: 0;
    font-weight: 600;
    text-align: right;
}

.kic-community-detail__action,
.kic-community-contact {
    margin-top: 1rem;
}

.kic-community-contact {
    display: grid;
    gap: 0.65rem;
}

.kic-chat__context-link {
    display: block;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--kic-border-color, #dfe5ea);
    color: var(--kic-text-muted, #6b7280);
    font-size: 0.875rem;
}

@media (max-width: 991px) {
    .kic-community-layout,
    .kic-community-detail__layout {
        grid-template-columns: 1fr;
    }

    .kic-community-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .kic-community-grid {
        grid-template-columns: 1fr;
    }
}

/* Utilitaire : élément visuellement caché (accessible) */
.kic-dash__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Bouton outline warning */
.kic-btn--warning {
    border-color: var(--kic-warning);
    color: var(--kic-warning);
}

.kic-btn--warning:hover {
    background: var(--kic-warning);
    color: var(--kic-white);
}

/* Bouton outline Danger */
.kic-btn--danger {
    border-color: var(--kic-error);
    color: var(--kic-error);
}

.kic-btn--danger:hover {
    background: var(--kic-error);
    color: var(--kic-white);
}

/* Input disabled state */
.kic-input--disabled,
.kic-input:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: var(--kic-gray-50);
}

/* Responsive profile layout */
@media (max-width: 1024px) {
    .kic-dash__profile-layout {
        grid-template-columns: 240px 1fr;
    }
}

@media (max-width: 768px) {
    .kic-dash__profile-layout {
        grid-template-columns: 1fr;
    }

    .kic-subscription-summary-grid,
    .kic-subscription-summary-grid--compact,
    .kic-detail-split,
    .kic-admin-form-grid--2,
    .kic-admin-form-grid--3,
    .kic-admin-agency-form__grid--2,
    .kic-admin-agency-form__grid--3,
    .kic-admin-agency-form__grid--4 {
        grid-template-columns: 1fr;
    }

    .kic-dash__profile-fields {
        grid-template-columns: 1fr;
    }

    .kic-dash__profile-form-actions {
        flex-direction: column;
    }

    .kic-dash__student-profile-actions {
        justify-content: stretch;
    }

    .kic-dash__student-profile-actions .kic-btn {
        width: 100%;
        justify-content: center;
    }

    .kic-student-listing__grid {
        grid-template-columns: 1fr;
    }

    .kic-student-listing__form-actions .kic-btn {
        width: 100%;
        justify-content: center;
    }

    .kic-dash__profile-form-actions .kic-btn {
        width: 100%;
        justify-content: center;
    }

    .kic-owner-steps {
        align-items: stretch;
        flex-direction: column;
    }

    .kic-owner-step,
    .kic-owner-step__line {
        width: 100%;
    }

    .kic-owner-step__line {
        height: 2px;
    }

    .kic-owner-summary {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   Section 33.10 — Composants vues dashboard (Phase B)
   ===================================================== */

/* === Empty state générique === */
.kic-dash__empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-12) var(--space-6);
    gap: var(--space-4);
    text-align: center;
    color: var(--kic-text-muted);
}

.kic-dash__empty-state i {
    color: var(--kic-border);
    opacity: 0.6;
}

.kic-dash__empty-state p {
    font-size: var(--text-base);
    margin: 0;
}

/* === Alertes dashboard === */
.kic-alert {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    margin-bottom: var(--space-4);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.kic-alert i:first-child {
    margin-top: 2px;
    flex-shrink: 0;
}

.kic-alert p { margin: var(--space-1) 0 0; }
.kic-alert strong { display: block; margin-bottom: var(--space-1); }

.kic-alert--success {
    background: rgba(16, 185, 129, 0.08);
    border-color: rgba(16, 185, 129, 0.25);
    color: var(--kic-success);
}

.kic-alert--danger {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.25);
    color: var(--kic-error);
}

.kic-alert--warning {
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.25);
    color: var(--kic-warning);
}

.kic-alert--info {
    background: rgba(108, 60, 225, 0.06);
    border-color: rgba(108, 60, 225, 0.2);
    color: var(--kic-primary);
}

.kic-alert--compact {
    padding: var(--space-3) var(--space-4);
    margin-top: var(--space-4);
}

.kic-package-media-rules {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.kic-package-media-rules span {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(108, 62, 232, 0.18);
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
    background: rgba(108, 62, 232, 0.06);
    color: var(--kic-color-text, #111827);
    font-size: 0.78rem;
    font-weight: 600;
}

/* === Bouton success === */
.kic-btn--success {
    background-color: var(--kic-success);
    color: var(--kic-white);
}

.kic-btn--success:hover {
    background: var(--kic-success-accent);
    color: var(--kic-white);
}

/* === Chat UI (messenger/show) === */
.kic-chat__header-identity {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.kic-chat__header-identity h6 {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--kic-dark);
}

.kic-chat__header-identity small {
    color: var(--kic-success);
    font-size: var(--text-xs);
}

/* Avatars initiales */
.kic-chat__avatar-md {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--kic-success);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--text-sm);
    flex-shrink: 0;
}

.kic-chat__avatar-sm {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--kic-success);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--text-xs);
    flex-shrink: 0;
}

.kic-chat__avatar-sm--primary {
    background: var(--kic-primary);
}

/* Zone messages scrollable */
.kic-chat__messages-zone {
    height: 450px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    border-bottom: 1px solid var(--kic-border);
}

/* Message individuel */
.kic-chat__message {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
}

.kic-chat__message--sent {
    flex-direction: row-reverse;
}

.kic-chat__message--received {
    flex-direction: row;
}

/* Bulle message */
.kic-chat__bubble {
    max-width: 70%;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
}

.kic-chat__bubble p {
    margin: 0 0 var(--space-1);
    line-height: 1.5;
}

.kic-chat__bubble small {
    font-size: var(--text-xs);
    opacity: 0.7;
    display: block;
    text-align: right;
}

.kic-chat__bubble--sent {
    background: var(--kic-primary);
    color: white;
    border-bottom-right-radius: 4px;
}

.kic-chat__bubble--received {
    background: var(--kic-gray-50);
    color: var(--kic-dark);
    border-bottom-left-radius: 4px;
}

/* Zone réponse */
.kic-chat__reply-zone {
    padding: var(--space-4);
    background: var(--kic-gray-50);
}

.kic-chat__reply-input-group {
    display: flex;
    gap: var(--space-3);
    align-items: flex-end;
}

.kic-chat__reply-textarea {
    flex: 1;
    resize: none;
}

/* === Grille notifications === */
.kic-dash__notification-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-5);
}

.kic-dash__notification-card {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--kic-white);
    transition: box-shadow var(--transition-fast);
}

.kic-dash__notification-card:hover {
    box-shadow: var(--shadow-md);
}

.kic-dash__notification-card-img-wrap img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.kic-dash__notification-card-body {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.kic-dash__notification-card-body h5 {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--kic-dark);
    margin: 0;
    line-height: 1.4;
}

.kic-dash__notification-card-body h5 a {
    color: inherit;
}

.kic-dash__notification-card-body h5 a:hover {
    color: var(--kic-primary);
}

.kic-dash__notification-card-body small {
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
}

/* Cover image notification show */
.kic-dash__notification-cover {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    display: block;
}

.kic-dash__notification-meta {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin: var(--space-2) 0 var(--space-4);
}

.kic-dash__notification-content {
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--kic-text);
}

/* === Downloads detail layout === */
.kic-dash__download-detail-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--space-6);
    align-items: start;
}

/* File meta list */
.kic-dash__file-meta {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.kic-dash__file-meta li {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
}

.kic-dash__file-meta li > i {
    color: var(--kic-primary);
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
}

.kic-dash__file-meta li > div strong {
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--kic-text-muted);
    display: block;
}

.kic-dash__file-meta li > div span {
    font-size: var(--text-sm);
    color: var(--kic-dark);
    font-weight: 500;
}

/* Card footer (downloads show) */
.kic-dash__card-footer {
    padding: var(--space-4) var(--space-6);
    border-top: 1px solid var(--kic-border);
    display: flex;
    gap: var(--space-3);
    align-items: center;
    background: var(--kic-gray-50);
}

/* Diviseur horizontal */
.kic-dash__divider {
    border: none;
    border-top: 1px solid var(--kic-border);
    margin: var(--space-5) 0;
}

/* Pagination dashboard */
.kic-dash__pagination {
    margin-top: var(--space-5);
    display: flex;
    justify-content: center;
}

/* Input états validation */
.kic-input--invalid {
    border-color: var(--kic-error) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.kic-input-group__error {
    font-size: var(--text-xs);
    color: var(--kic-error);
    margin-top: var(--space-1);
    display: block;
}

.kic-input-group__hint {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    margin-top: var(--space-1);
    display: block;
}

/* Responsive downloads detail */
@media (max-width: 768px) {
    .kic-dash__download-detail-layout {
        grid-template-columns: 1fr;
    }

    .kic-chat__messages-zone {
        height: 320px;
    }

    .kic-dash__notification-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .kic-dash__notification-grid {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   Section 33.11 — Composants vendor dashboard
   ===================================================== */

/* === Modal overlay Alpine.js === */
.kic-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: var(--space-4);
}

.kic-modal {
    background: var(--kic-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.kic-modal--wide {
    max-width: 800px;
}

.kic-modal--compact {
    max-width: 500px;
}

.kic-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-5) var(--space-6);
    border-bottom: 1px solid var(--kic-border);
}

.kic-modal__header h4 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--kic-dark);
    margin: 0;
}

.kic-modal__close {
    background: none;
    border: none;
    color: var(--kic-text-muted);
    cursor: pointer;
    padding: var(--space-1);
    border-radius: var(--radius-sm);
    font-size: var(--text-base);
    transition: color var(--transition-fast);
}

.kic-modal__close:hover { color: var(--kic-dark); }

.kic-modal__body {
    padding: var(--space-5) var(--space-6);
    flex: 1;
}

.kic-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-6);
    border-top: 1px solid var(--kic-border);
    background: var(--kic-gray-50);
}

.kic-modal__footer--flush {
    margin-top: var(--space-5);
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    border-top: 0;
    background: transparent;
}

.kic-field-error {
    display: block;
    margin-top: var(--space-1);
    color: var(--kic-error);
    font-size: var(--text-xs);
}

.kic-form-help {
    margin-top: var(--space-2);
}

.kic-table-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
}

.kic-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid var(--kic-border);
    background: var(--kic-white);
    color: var(--kic-text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.kic-icon-btn--primary {
    border-color: var(--kic-primary);
    color: var(--kic-primary);
}

.kic-icon-btn--primary:hover {
    background: var(--kic-primary);
    color: var(--kic-white);
}

.kic-icon-btn--success {
    border-color: var(--kic-success);
    color: var(--kic-success);
}

.kic-icon-btn--success:hover {
    background: var(--kic-success);
    color: var(--kic-white);
}

.kic-icon-btn--secondary {
    border-color: var(--kic-border);
    color: var(--kic-text-muted);
    cursor: default;
}

.kic-private-owner-table-card {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
}

.kic-private-owner-table-card__image {
    width: 70px;
    height: 50px;
    flex: 0 0 auto;
    object-fit: cover;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-sm);
}

.kic-private-owner-table-card__content {
    min-width: 0;
}

.kic-private-owner-table-card__title {
    color: var(--kic-dark);
    font-size: var(--text-sm);
    font-weight: 700;
}

.kic-private-owner-table-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    margin-top: var(--space-1);
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
}

.kic-private-owner-table-card__meta i {
    opacity: 0.6;
}

.kic-private-owner-table-card__price {
    color: var(--kic-primary);
    font-weight: 700;
}

.kic-property-form__panel--soft {
    border: 0;
}

.kic-property-form__panel-title--primary {
    color: var(--kic-primary);
}

.kic-property-form__prefix {
    display: flex;
    align-items: center;
    padding: 0 var(--space-4);
    border: 1.5px solid var(--kic-border);
    border-right: 0;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    background: var(--kic-surface);
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
    white-space: nowrap;
}

.kic-property-form__input--prefixed {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: var(--space-4) !important;
}

.kic-property-form__input--with-unit {
    padding-right: 48px !important;
}

.kic-property-form__input--with-unit-wide {
    padding-right: 88px !important;
}

.kic-property-form__unit {
    left: auto;
    right: 15px;
}

.kic-property-form__unit--wide {
    font-size: 0.7rem;
}

.kic-property-form__sortable-grid {
    cursor: grab;
}

.kic-property-form__media-thumb,
.kic-property-form__media-placeholder {
    height: 140px;
}

.kic-property-form__media-thumb {
    object-fit: cover;
}

.kic-property-form__media-placeholder,
.kic-property-form__media-actions {
    background: var(--kic-gray-50);
}

.kic-property-form__media-actions {
    border-top: 1px solid var(--kic-border);
}

.kic-property-form__contact-card {
    border: 1px solid var(--kic-border);
}

.kic-property-form__readonly-input {
    background: var(--kic-white);
}

.kic-property-form__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-3);
}

.kic-demo-property__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}
.kic-demo-property__section-title { margin: var(--space-8) 0 var(--space-4); font-size: var(--text-lg); }

.kic-demo-property__full {
    grid-column: 1 / -1;
}

.kic-demo-property__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--space-5);
}

@media (max-width: 640px) {
    .kic-demo-property__grid {
        grid-template-columns: 1fr;
    }
}

.kic-property-form__gallery-card {
    position: relative;
    height: 100%;
}

.kic-property-form__gallery-card.is-main {
    border: 2px solid var(--kic-primary);
}

.kic-property-form__gallery-badge {
    position: absolute;
    top: var(--space-2);
    left: var(--space-2);
    z-index: 1;
}

.kic-status-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 30px;
    padding: 0 var(--space-3);
    border: 0;
    border-radius: 999px;
    font-size: var(--text-xs);
    font-weight: 800;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kic-status-toggle:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.kic-status-toggle--success {
    background: rgba(16, 185, 129, 0.12);
    color: var(--kic-success);
}

.kic-status-toggle--warning {
    background: rgba(245, 158, 11, 0.14);
    color: var(--kic-warning);
}

.kic-private-owner-modal .modal-dialog {
    max-width: 860px;
}

.kic-private-owner-modal__content {
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
}

.kic-owner-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin-bottom: var(--space-6);
}

.kic-owner-step {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 42px;
    padding: 0 var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: 999px;
    background: var(--kic-gray-50);
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
    font-weight: 800;
    transition: all var(--transition-fast);
}

.kic-owner-step.is-active {
    border-color: var(--kic-primary);
    background: rgba(109, 59, 237, 0.1);
    color: var(--kic-primary);
}

.kic-owner-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: var(--kic-white);
    color: currentColor;
    font-size: var(--text-xs);
    box-shadow: var(--shadow-sm);
}

.kic-owner-step__line {
    width: 52px;
    height: 2px;
    border-radius: 999px;
    background: var(--kic-border);
}

.kic-owner-step__line.is-active {
    background: var(--kic-primary);
}

.kic-owner-step-panel {
    display: grid;
    gap: var(--space-5);
}

.kic-owner-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-gray-50);
}

.kic-owner-summary div {
    display: grid;
    gap: var(--space-1);
}

.kic-owner-summary span {
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
    font-weight: 800;
    text-transform: uppercase;
}

.kic-owner-summary strong {
    color: var(--kic-dark);
    font-size: var(--text-sm);
}

.kic-owner-summary__full {
    grid-column: 1 / -1;
}

.kic-owner-info-box {
    padding: var(--space-4);
    border: 1px solid rgba(245, 158, 11, 0.28);
    border-radius: var(--radius-lg);
    background: rgba(245, 158, 11, 0.08);
}

.kic-owner-info-box h5 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    color: var(--kic-dark);
    font-size: var(--text-sm);
    font-weight: 800;
}

.kic-owner-info-box h5 i {
    color: var(--kic-warning);
}

.kic-owner-info-box ul {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding-left: var(--space-5);
    color: var(--kic-text);
    font-size: var(--text-sm);
}

.kic-owner-terms {
    align-items: flex-start;
    margin: 0;
    color: var(--kic-text);
    font-size: var(--text-sm);
}

.kic-owner-terms a {
    color: var(--kic-primary);
    font-weight: 800;
    text-decoration: none;
}

.kic-owner-terms a:hover {
    text-decoration: underline;
}

.kic-required {
    color: var(--kic-error);
    font-weight: 800;
}

.kic-legal-editor {
    min-height: 520px;
}

.kic-legal-editor + .note-editor .note-editable,
.note-editor:has(+ .kic-legal-editor) .note-editable {
    min-height: 520px;
}

.kic-legal-sections {
    display: grid;
    gap: var(--space-6);
}

.kic-legal-section-editor {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    background: var(--kic-white);
}

.kic-legal-section-editor__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.kic-legal-section-editor__header h4 {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 800;
    color: var(--kic-text);
}

.kic-rich-editor-field,
.kic-legal-section-editor__content {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

.kic-rich-editor-field .kic-legal-editor,
.kic-legal-section-editor__content .kic-legal-editor {
    width: 100%;
    min-height: 320px;
}

.kic-rich-editor-field .note-editor,
.kic-legal-section-editor__content .note-editor {
    width: 100%;
}

/* === Stat grid variants === */
.kic-dash__stat-grid--3 { grid-template-columns: repeat(3, 1fr); }
.kic-dash__stat-grid--2 { grid-template-columns: repeat(2, 1fr); }
.kic-dash__stat-icon--danger { background: rgba(239,68,68,.1); color: var(--kic-error); }

/* === Dropdown utilities (Livewire property forms) === */
.dropdown-menu {
    display: none;
    position: absolute;
    z-index: 100;
    background: var(--kic-white);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    min-width: 160px;
}
.dropdown-menu.show { display: block; }
.dropdown-menu .dropdown-item {
    display: block;
    width: 100%;
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-sm);
    color: var(--kic-dark);
    background: none;
    border: 0;
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--transition-fast);
}
.dropdown-menu .dropdown-item:hover { background: var(--kic-gray-50); color: var(--kic-primary); }
.dropdown-toggle {
    cursor: pointer;
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    color: var(--kic-dark);
    font-size: var(--text-sm);
    display: block;
    text-decoration: none;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}
.dropdown-toggle:hover { background: var(--kic-gray-50); border-color: var(--kic-primary); }

/* === Pricing cards === */
.kic-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-6);
    margin-top: var(--space-4);
}

.kic-pricing-card {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-xl);
    background: var(--kic-white);
    display: flex;
    flex-direction: column;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.kic-pricing-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-xl); }

.kic-pricing-card__head {
    padding: var(--space-6);
    border-bottom: 1px solid var(--kic-border);
    text-align: center;
}
.kic-pricing-card__head i { font-size: 2.5rem; color: var(--kic-primary); opacity: .85; margin-bottom: var(--space-3); display: block; }
.kic-pricing-card__head h3 { font-size: var(--text-xl); font-weight: 700; color: var(--kic-dark); margin: 0 0 var(--space-2); }
.kic-pricing-card__head p { font-size: var(--text-sm); color: var(--kic-text-muted); margin: 0; }

.kic-pricing-card__features {
    padding: var(--space-4) var(--space-6);
    flex: 1;
    list-style: none;
    margin: 0;
}
.kic-pricing-card__features li { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); padding: var(--space-1) 0; }
.kic-pricing-card__features li > i { color: var(--kic-primary); flex-shrink: 0; width: 14px; }

.kic-pricing-card__footer {
    padding: var(--space-4) var(--space-6);
    border-top: 1px solid var(--kic-border);
    background: var(--kic-gray-50);
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
}
.kic-pricing-card__price { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); }
.kic-pricing-card__price-amount { font-size: var(--text-2xl); font-weight: 800; color: var(--kic-primary); }
.kic-pricing-card__price-period { font-size: var(--text-xs); color: var(--kic-text-muted); }

/* Toggle mensuel/annuel */
.kic-toggle-group {
    display: flex;
    justify-content: center;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    width: fit-content;
    margin: 0 auto var(--space-6);
}
.kic-toggle-group__btn {
    display: inline-flex;
    align-items: center;
    padding: var(--space-2) var(--space-6);
    background: none;
    border: none;
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--kic-text-muted);
    text-decoration: none;
    transition: background var(--transition-fast), color var(--transition-fast);
}
.kic-toggle-group__btn.active,
.kic-toggle-group__btn:hover { background: var(--kic-primary); color: var(--kic-white); }
.kic-dash__content .kic-toggle-group a.kic-toggle-group__btn.active,
.kic-dash__content .kic-toggle-group a.kic-toggle-group__btn:hover { color: var(--kic-white); }

/* === Stripe layout === */
.kic-stripe-layout { display: grid; grid-template-columns: 1fr 320px; gap: var(--space-6); align-items: start; }
.kic-stripe-feature-row { display: flex; align-items: center; justify-content: space-between; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--kic-gray-50); }
.kic-stripe-feature-row + .kic-stripe-feature-row { margin-top: var(--space-3); }
.kic-stripe-feature-label { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); font-weight: 600; }
.kic-stripe-requirement-list { list-style: none; padding: 0; margin: 0; }
.kic-stripe-requirement-list li { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) 0; font-size: var(--text-sm); border-bottom: 1px solid var(--kic-border); }
.kic-stripe-requirement-list li:last-child { border-bottom: none; }
.kic-stripe-complete { text-align: center; padding: var(--space-8) var(--space-4); }
.kic-stripe-complete i { font-size: 3rem; color: var(--kic-success); display: block; margin-bottom: var(--space-4); }

/* === Contact admin FAQ === */
.kic-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.kic-faq-block h5 { font-size: var(--text-sm); font-weight: 700; margin-bottom: var(--space-3); display: flex; align-items: center; gap: var(--space-2); }
.kic-faq-block ul { list-style: none; padding: 0; margin: 0; }
.kic-faq-block ul li { font-size: var(--text-sm); color: var(--kic-text-muted); padding: var(--space-1) 0; }

/* Chat messages container (vendor messenger show) */
.kic-chat__messages-container { height: 400px; overflow-y: auto; padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }

/* === Responsive 33.11 === */
@media (max-width: 1024px) {
    .kic-stripe-layout { grid-template-columns: 1fr; }
    .kic-pricing-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .kic-pricing-grid { grid-template-columns: 1fr; }
    .kic-faq-grid { grid-template-columns: 1fr; }
    .kic-dash__stat-grid--3 { grid-template-columns: 1fr; }
}

/* === FullCalendar overrides === */
.fc { font-size: 0.9rem; }
.fc-event { cursor: pointer; border-radius: 3px; padding: 2px 4px; }
.fc-event-title { font-weight: 500; }
.fc-toolbar-title { font-size: 1.5rem !important; font-weight: 600; }
.fc-button { text-transform: capitalize; }
.fc-daygrid-day-number { font-size: 0.9rem; padding: 4px; }
.fc-col-header-cell-cushion { padding: 8px 4px; font-weight: 600; }

/* === Property Grid & Cards Backend === */
.kic-dash__property-img { height: 200px; width: 100%; object-fit: cover; }
.kic-dash__property-thumb { height: 200px; width: 100%; background: var(--kic-gray-100); display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--kic-gray-300); }
.kic-dash__property-title { font-size: var(--text-base); font-weight: 700; height: 3rem; line-height: 1.5rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: var(--space-2); }
.kic-dash__property-icon-box { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; background: var(--kic-gray-50); border-radius: var(--radius-md); font-size: 1.5rem; color: var(--kic-primary); }
.kic-badge--image-status {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid currentColor;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.kic-backend-agency-card__logo {
    position: absolute;
    left: var(--space-4);
    bottom: calc(var(--space-5) * -1);
    z-index: 3;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 3px solid var(--kic-white);
    border-radius: var(--radius-full);
    background: var(--kic-white);
    color: var(--kic-primary);
    box-shadow: var(--shadow-md);
}

.kic-backend-agency-card__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* === Agency Profile Specifics === */
.kic-agency-logo { width: 140px; height: 140px; border-radius: var(--radius-full); object-fit: cover; border: 4px solid var(--kic-white); box-shadow: var(--shadow-md); }
.kic-agency-logo--placeholder { width: 140px; height: 140px; border-radius: var(--radius-full); background: var(--kic-gray-100); color: var(--kic-gray-400); display: flex; align-items: center; justify-content: center; font-size: 3rem; border: 4px solid var(--kic-white); }
.kic-agency-status-dot { width: 12px; height: 12px; border-radius: var(--radius-full); display: inline-block; margin-right: var(--space-2); }
.kic-agency-status-dot.active { background: var(--kic-success); box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2); }

/* === Timeline (Appointments) === */
.timeline { position: relative; padding-left: 40px; }
.timeline::before { content: ''; position: absolute; left: 15px; top: 0; bottom: 0; width: 2px; background: var(--kic-border); }
.timeline-item { position: relative; margin-bottom: var(--space-6); }
.timeline-marker { position: absolute; left: -25px; top: 5px; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid var(--kic-white); box-shadow: var(--shadow-sm); z-index: 1; color: var(--kic-white); font-size: 0.75rem; }
.timeline-marker.bg-primary { background: var(--kic-primary); }
.timeline-marker.bg-success { background: var(--kic-success); }
.timeline-marker.bg-warning { background: var(--kic-warning); }
.timeline-marker.bg-danger { background: var(--kic-error); }
.timeline-content { background: var(--kic-gray-50); padding: var(--space-4); border-radius: var(--radius-lg); border-left: 4px solid var(--kic-primary); transition: transform var(--transition-fast); }
.timeline-item:hover .timeline-content { transform: translateX(5px); }

/* === Misc Dashboard Components === */
.kic-text-preline { white-space: pre-line; }
.kic-is-hidden { display: none !important; }
.kic-dash__module-chip { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background: var(--kic-gray-50); border: 1px solid var(--kic-border); border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 500; color: var(--kic-dark); }
.kic-dash__progress-bar { height: 8px; background: var(--kic-gray-100); border-radius: var(--radius-full); overflow: hidden; }
.kic-dash__progress-bar-fill { height: 100%; border-radius: var(--radius-full); transition: width 0.5s ease; }

/* Dashboard media, notices and legacy modal refinements */
.kic-dash__nav-avatar,
.kic-dash__client-avatar { width: 40px; height: 40px; object-fit: cover; }
.kic-dash__recent-property-thumb { width: 60px; height: 45px; overflow: hidden; flex: 0 0 auto; }
.kic-dash__recent-property-thumb img { width: 100%; height: 100%; object-fit: cover; }
.kic-dash__notification-count { display: none; font-size: .65em; }
.kic-dash__notification-menu { width: min(350px, calc(100vw - 24px)); max-height: 400px; overflow-y: auto; }
.kic-dash__profile-image { max-width: 84px; }
.kic-dash__profile-tabs .nav-link { font-weight: 600; }
.kic-dash__thread-icon { width: 45px; height: 45px; }
.kic-dash__thread-snippet { font-size: .9rem; }
.kic-dash__thread-empty-icon { font-size: 4rem; }
.kic-dash__message-badge { font-size: .75rem; padding: .25rem .5rem; }
.kic-dash__modal-backdrop { background: rgba(0, 0, 0, .5); }
.kic-dash__credential-icon { font-size: 2rem; }
.kic-admin-auth__forgot-link { font-size: var(--text-xs); color: var(--kic-text); font-weight: 600; }
.kic-admin-auth__remember-label { font-size: var(--text-sm); font-weight: 500; color: var(--kic-text-muted); }
.kic-modal--report { max-width: 650px; }
.kic-input-group__icon--textarea { align-items: flex-start; padding-top: .75rem; }
.kic-input--with-textarea-icon { padding-inline-start: 3.5rem; }
.kic-stripe-feature-icon { color: var(--kic-primary); }
.kic-stripe-warning-icon { color: var(--kic-warning); }
.kic-dash__subscription-progress { display: block; width: 100%; height: 12px; border: 0; border-radius: var(--radius-full); overflow: hidden; background: var(--kic-gray-100); appearance: none; }
.kic-dash__subscription-progress::-webkit-progress-bar { background: var(--kic-gray-100); border-radius: var(--radius-full); }
.kic-dash__subscription-progress::-webkit-progress-value { background: var(--kic-success); border-radius: var(--radius-full); }
.kic-dash__subscription-progress::-moz-progress-bar { background: var(--kic-success); border-radius: var(--radius-full); }
.kic-dash__subscription-progress.bg-warning::-webkit-progress-value { background: var(--kic-warning); }
.kic-dash__subscription-progress.bg-warning::-moz-progress-bar { background: var(--kic-warning); }
.kic-dash__subscription-progress.bg-danger::-webkit-progress-value { background: var(--kic-error); }
.kic-dash__subscription-progress.bg-danger::-moz-progress-bar { background: var(--kic-error); }

.kic-dash__card-subtitle {
    margin: var(--space-1) 0 0;
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-dash__sticky-side {
    position: sticky;
    top: 100px;
}

.kic-dash__icon-disc {
    width: 38px;
    height: 38px;
    border-radius: var(--radius-full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    box-shadow: var(--shadow-sm);
}

.kic-dash__icon-disc--info {
    background: rgba(59, 130, 246, 0.1);
    color: var(--kic-info);
}

.kic-property-form-card .kic-dash__card-body {
    padding: var(--space-6);
}

.kic-property-form .form-group,
.kic-property-form .mb-3 {
    margin-bottom: var(--space-4) !important;
}

.kic-property-form label,
.kic-property-form .form-label {
    color: var(--kic-dark);
    font-size: var(--text-sm);
    font-weight: 600;
    margin-bottom: var(--space-2);
}

.kic-property-form .form-control,
.kic-property-form .form-select,
.kic-property-form .kic-input,
.kic-property-form select,
.kic-property-form textarea,
.kic-property-form .dropdown-toggle {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    color: var(--kic-dark) !important;
    padding: 0.7rem 1rem;
    box-shadow: none;
}

.kic-property-form textarea.form-control,
.kic-property-form textarea.kic-input {
    min-height: 120px;
}

.kic-property-form .form-control:focus,
.kic-property-form select:focus,
.kic-property-form textarea:focus,
.kic-property-form .dropdown-toggle:focus {
    border-color: var(--kic-primary);
    box-shadow: 0 0 0 3px rgba(108, 60, 225, 0.12);
    outline: none;
}

.kic-property-form .dropdown-toggle::after {
    display: none;
}

.kic-property-form .input-group-text {
    border-color: var(--kic-border);
    background: var(--kic-gray-50);
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-property-form__dropdown-disabled {
    opacity: 0.62;
    pointer-events: none;
    background: var(--kic-gray-50) !important;
}

.kic-property-form__panel {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-gray-50);
}

.kic-property-form__panel-body {
    padding: var(--space-5);
}

.kic-property-form__panel-title {
    display: flex;
    align-items: center;
    margin: 0 0 var(--space-4);
    color: var(--kic-dark);
    font-weight: 700;
}

.kic-property-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: flex-end;
    padding-top: var(--space-5);
    border-top: 1px solid var(--kic-border);
}

.kic-property-form__sortable-gallery {
    cursor: grab;
}

.kic-property-form__preview-img,
.kic-property-form__file-preview {
    height: 130px;
}

.kic-property-form__preview-img {
    object-fit: cover;
}

.kic-property-form__preview-img--large {
    height: 150px;
}

.kic-property-form__file-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--kic-gray-50);
}

.kic-property-form__floor-card {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.kic-property-form__floor-name {
    margin: 0;
    color: var(--kic-dark);
    font-size: var(--text-xs);
    font-weight: 700;
    line-height: 1.35;
    word-break: break-word;
}

.kic-property-form__floor-size {
    margin: 0.15rem 0 var(--space-2);
    color: var(--kic-gray-500);
    font-size: var(--text-xs);
}

.kic-property-form__floor-plans .kic-property-form__file-preview i {
    color: var(--kic-danger);
    font-size: 2rem;
}

.kic-property-form__media-button {
    min-height: 38px;
    padding: 0.55rem 1rem;
}

.kic-property-form__switch-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
}

.kic-property-form__switch-card {
    min-height: 54px;
    display: flex;
    align-items: center;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    padding: var(--space-3) var(--space-4);
}

.kic-property-form__switch-card--compact {
    min-height: 44px;
}

.kic-property-form__project-card {
    background: var(--kic-primary-bg);
    border-color: rgba(108, 60, 225, 0.18);
}

.kic-property-form__switch-card .kic-switch {
    width: 100%;
    margin: 0;
}

.kic-property-form__switch-card .kic-switch__label {
    min-width: 0;
    color: var(--kic-dark);
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: 1.3;
}

@media (max-width: 991px) {
    .kic-property-form__switch-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .kic-property-form__switch-grid {
        grid-template-columns: 1fr;
    }
}

.kic-agency-status-dot--floating {
    width: 24px;
    height: 24px;
    border: 4px solid var(--kic-white);
    box-shadow: var(--shadow-md);
}

.kic-admin-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: var(--space-6);
}

.kic-admin-detail-grid .kic-detail-main,
.kic-admin-detail-grid .kic-detail-side {
    grid-column: span 1;
}

.kic-detail-main {
    grid-column: span 2;
}

.kic-detail-side {
    grid-column: span 1;
}

.kic-detail-title-row,
.kic-detail-row,
.kic-detail-response__title {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.kic-inline-form {
    display: inline-flex;
    margin: 0;
}

.kic-subscription-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.kic-subscription-summary-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kic-subscription-summary-item {
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-gray-50);
}

.kic-subscription-summary-item span,
.kic-subscription-summary-item small {
    display: block;
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.kic-subscription-summary-item strong {
    display: block;
    margin-top: var(--space-1);
    color: var(--kic-dark);
    font-size: var(--text-base);
}

.kic-subscription-module-list {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.kic-subscription-plan-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-white);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kic-subscription-plan-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.kic-subscription-plan-card__body {
    flex: 1;
    padding: var(--space-6);
    text-align: center;
}

.kic-subscription-plan-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--space-4);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    font-size: var(--text-2xl);
}

.kic-subscription-plan-card h4 {
    margin: 0 0 var(--space-2);
    color: var(--kic-dark);
    font-weight: 800;
}

.kic-subscription-plan-card p {
    margin: 0;
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-subscription-plan-card__features {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-6);
    text-align: left;
}

.kic-subscription-plan-card__features span {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-subscription-plan-card__features i {
    width: 18px;
    color: var(--kic-primary);
    text-align: center;
}

.kic-subscription-plan-card__footer {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-4);
    border-top: 1px solid var(--kic-border);
    background: var(--kic-gray-50);
}

.kic-subscription-plan-card__price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.kic-subscription-plan-card__price strong {
    color: var(--kic-primary);
    font-size: var(--text-xl);
    font-weight: 800;
}

.kic-subscription-plan-card__price span {
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-admin-agency-form__grid {
    display: grid;
}

.kic-admin-agency-form__fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.kic-admin-agency-form__grid--1 {
    grid-template-columns: minmax(0, 1fr);
}

.kic-admin-agency-form__grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kic-admin-agency-form__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kic-admin-agency-form__grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kic-admin-agency-form__full {
    grid-column: 1 / -1;
}

.kic-admin-agency-form__user-dropdown {
    display: none;
    position: absolute;
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
}

.kic-modal-backdrop {
    background: rgba(0, 0, 0, 0.5);
}

.kic-admin-agency-form__logo-preview,
.kic-admin-agency-form__banner-preview {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    object-fit: cover;
}

.kic-admin-agency-form__logo-preview {
    width: 80px;
    height: 80px;
}

.kic-admin-agency-form__banner-preview {
    width: 150px;
    height: 50px;
}

.kic-admin-avatar {
    width: 54px;
    height: 54px;
    border: 2px solid var(--kic-primary-bg);
    border-radius: var(--radius-full);
    object-fit: cover;
    flex-shrink: 0;
}

.kic-admin-avatar--xl {
    width: 104px;
    height: 104px;
}

.kic-admin-profile-summary {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.kic-admin-profile-summary h3 {
    margin: 0;
    color: var(--kic-ink);
    font-size: var(--text-lg);
    font-weight: 700;
}

.kic-admin-profile-summary p {
    margin: var(--space-1) 0 0;
    color: var(--kic-muted);
    font-size: var(--text-sm);
}

.kic-detail-inline-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.kic-detail-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top: 1px solid var(--kic-border);
}

.kic-detail-total span {
    color: var(--kic-muted);
    font-size: var(--text-sm);
}

.kic-detail-total strong {
    color: var(--kic-ink);
    font-size: var(--text-xl);
}

.kic-admin-private-owner-layout {
    display: grid;
    grid-template-columns: minmax(280px, 4fr) minmax(0, 8fr);
    gap: var(--space-6);
    align-items: start;
}

.kic-admin-private-owner-layout__side,
.kic-admin-private-owner-layout__main {
    min-width: 0;
}

.kic-dash__card-header--tabs {
    align-items: stretch;
}

.kic-detail-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    width: 100%;
}

.kic-detail-tabs__button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 42px;
    padding: 0 var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-full);
    background: var(--kic-surface);
    color: var(--kic-muted);
    font-weight: 700;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}

.kic-detail-tabs__button:hover,
.kic-detail-tabs__button.active {
    border-color: var(--kic-primary);
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-detail-tabs__content {
    min-width: 0;
}

.kic-detail-tabs__panel[hidden] {
    display: none;
}

.kic-detail-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-surface);
}

.kic-detail-field span {
    color: var(--kic-muted);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
}

.kic-detail-field strong {
    color: var(--kic-dark);
    font-size: var(--text-sm);
    overflow-wrap: anywhere;
}

.kic-review-content {
    min-width: 0;
    overflow-wrap: anywhere;
}

.kic-invoice {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    padding: var(--space-6);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
}

.kic-invoice__header,
.kic-invoice__split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
}

.kic-invoice h2,
.kic-invoice h3,
.kic-invoice h4 {
    margin: 0 0 var(--space-2);
    color: var(--kic-dark);
    font-weight: 800;
}

.kic-invoice p {
    margin: 0;
    color: var(--kic-muted);
}

.kic-invoice__meta,
.kic-invoice__payment {
    text-align: right;
}

.kic-invoice__table th:last-child,
.kic-invoice__table td:last-child {
    text-align: right;
}

.kic-invoice__table td span {
    display: block;
    color: var(--kic-muted);
    font-size: var(--text-sm);
    margin-top: var(--space-1);
}

.kic-invoice__totals {
    align-self: flex-end;
    min-width: min(360px, 100%);
}

.kic-invoice__totals div {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-2) 0;
    color: var(--kic-muted);
}

.kic-invoice__total {
    border-top: 1px solid var(--kic-border);
    color: var(--kic-dark) !important;
    font-size: var(--text-lg);
}

.kic-invoice__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-1);
    padding-top: var(--space-5);
    border-top: 1px solid var(--kic-border);
    color: var(--kic-muted);
    text-align: center;
}

@media (max-width: 768px) {
    .kic-invoice__header,
    .kic-invoice__split {
        grid-template-columns: 1fr;
    }

    .kic-invoice__meta,
    .kic-invoice__payment {
        text-align: left;
    }
}

/* Agency condition consent */
.kic-agency-condition {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-light);
}

.kic-agency-condition__details summary {
    color: var(--kic-dark);
    font-weight: 700;
    cursor: pointer;
}

.kic-agency-condition__content {
    max-height: 14rem;
    margin-top: var(--space-3);
    padding-right: var(--space-2);
    overflow-y: auto;
    color: var(--kic-gray-700);
}

.kic-agency-condition__content > :last-child {
    margin-bottom: 0;
}

.kic-agency-condition__consent {
    align-items: flex-start;
    margin: 0;
}

.kic-payment-result__icon {
    display: grid;
    width: 100px;
    height: 100px;
    place-items: center;
    border-radius: 50%;
    font-size: 3rem;
}

.kic-payment-result__icon--success {
    background: var(--kic-success-light);
    color: var(--kic-success);
}

.kic-payment-result__icon--warning {
    background: var(--kic-warning-light);
    color: var(--kic-warning);
}

.kic-payment-result__lead {
    max-width: 600px;
    font-size: var(--font-size-lg);
}

.kic-payment-result__summary {
    max-width: 450px;
    border-style: dashed;
}

.kic-payment-result__notice {
    max-width: 550px;
}

.kic-payment-result__email {
    border-radius: var(--radius-full);
}

.kic-payment-result__step-icon {
    display: inline-grid;
    width: 60px;
    height: 60px;
    place-items: center;
    border-radius: 50%;
    background: var(--kic-light);
}

.kic-auth-layout__visual-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-convert-card__title {
    margin: 0 0 var(--space-1);
    font-size: var(--font-size-xl);
    font-weight: 700;
}

@media (max-width: 1199px) {
    .kic-admin-private-owner-layout {
        grid-template-columns: 1fr;
    }
}

/* Toastr doit apparaître sous la topbar des dashboards */
.kic-dash-body #toast-container.toast-top-right,
.kic-dash-body #toast-container.toast-top-left,
.kic-dash-body #toast-container.toast-top-center,
.kic-dash-body #toast-container.toast-top-full-width {
    top: calc(var(--kic-dash-topbar-height) + 12px) !important;
}

.kic-dash-body .toast-top-right,
.kic-dash-body .toast-top-left,
.kic-dash-body .toast-top-center,
.kic-dash-body .toast-top-full-width,
.kic-dash-body .kic-toast-below-topbar {
    top: calc(var(--kic-dash-topbar-height) + 12px) !important;
}

.kic-dash-body .alert[data-notify="container"],
.kic-dash-body [data-notify="container"],
.kic-dash-body .flasher-container,
.kic-dash-body [data-flasher-container] {
    top: calc(var(--kic-dash-topbar-height) + 12px) !important;
}

.kic-admin-payment-property-img {
    width: 100%;
    max-height: 180px;
    margin-bottom: var(--space-4);
    border-radius: var(--radius-md);
    object-fit: cover;
}

.kic-detail-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--kic-border);
}

.kic-detail-split--plain {
    padding-bottom: 0;
    border-bottom: 0;
}

.kic-detail-kicker {
    margin: 0 0 var(--space-4);
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.kic-detail-list {
    display: grid;
    gap: var(--space-3);
}

.kic-detail-row {
    color: var(--kic-text);
    font-size: var(--text-sm);
}

.kic-detail-row a {
    color: var(--kic-primary);
    font-weight: 600;
}

.kic-detail-stack-top {
    margin-top: var(--space-4);
}

.kic-detail-icon {
    width: 34px;
    height: 34px;
    border-radius: var(--radius-full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-detail-strong {
    color: var(--kic-dark);
    font-weight: 700;
}

.kic-detail-muted {
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-detail-section {
    padding: var(--space-6) 0;
    border-bottom: 1px solid var(--kic-border);
}

.kic-detail-section--last {
    border-bottom: 0;
    padding-bottom: 0;
}

.kic-detail-property {
    display: flex;
    gap: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-white);
}

.kic-detail-property__icon,
.kic-detail-empty-icon {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
    font-size: var(--text-xl);
}

.kic-detail-property__body h6 {
    margin: 0 0 var(--space-2);
    color: var(--kic-dark);
    font-weight: 800;
}

.kic-detail-property__body p {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
}

.kic-detail-message,
.kic-detail-response {
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    background: var(--kic-gray-50);
    color: var(--kic-text);
}

.kic-detail-message p {
    margin: 0;
    white-space: pre-line;
}

.kic-detail-response {
    border-left: 4px solid var(--kic-success);
    background: rgba(16, 185, 129, 0.08);
}

.kic-detail-response__title {
    margin-bottom: var(--space-2);
    color: var(--kic-success);
    font-weight: 800;
}

.kic-detail-actions-card {
    min-height: 360px;
    display: flex;
    flex-direction: column;
}

.kic-detail-actions,
.kic-detail-contact__actions {
    display: grid;
    gap: var(--space-3);
}

.kic-detail-actions--inline {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top: 1px solid var(--kic-border);
}

.kic-detail-contact {
    margin-top: auto;
    padding-top: var(--space-5);
    border-top: 1px solid var(--kic-border);
}

.kic-detail-contact__actions {
    grid-template-columns: 1fr 1fr;
}

.kic-detail-status-box {
    text-align: center;
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    font-weight: 800;
}

.kic-detail-status-box--success {
    background: rgba(16, 185, 129, 0.08);
    color: var(--kic-success);
}

.kic-detail-status-box--danger {
    background: rgba(239, 68, 68, 0.08);
    color: var(--kic-error);
}

.kic-btn--danger-outline {
    background: transparent;
    color: var(--kic-error);
    border: 2px solid var(--kic-error);
}

.kic-btn--danger-outline:hover {
    background: var(--kic-error);
    color: var(--kic-white);
}

.kic-detail-status-box__icon {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
    border-radius: var(--radius-full);
    background: var(--kic-white);
    box-shadow: var(--shadow-sm);
}

.kic-detail-status-box__note {
    margin-top: var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    color: var(--kic-text-muted);
    font-size: var(--text-sm);
    font-weight: 500;
}

@media (max-width: 1024px) {
    .kic-admin-detail-grid {
        grid-template-columns: 1fr;
    }

    .kic-detail-main,
    .kic-detail-side {
        grid-column: span 1;
    }

    .kic-detail-split,
    .kic-detail-contact__actions {
        grid-template-columns: 1fr;
    }

    .kic-dash__sticky-side {
        position: static;
    }
}

/* =====================================================
   Section 33.12 — Admin Dashboard specific
   ===================================================== */

/* Stat grid 4 cols */
.kic-dash__stat-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Card accent border */
.kic-dash__card--accent { border-left: 3px solid var(--kic-primary); }

/* Grille top (3 cols) */
.kic-admin-dash__top-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.8fr;
    gap: var(--space-5);
    margin-bottom: var(--space-5);
}

/* Grille bottom (2+2 cols) */
.kic-admin-dash__bottom-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: var(--space-5);
}

/* Stat value XL */
.kic-dash__stat-value-xl {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--kic-dark);
    line-height: 1;
    margin-bottom: var(--space-3);
}

/* Properties breakdown */
.kic-admin-dash__prop-breakdown {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-3);
}

.kic-admin-dash__prop-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--kic-border);
}

.kic-admin-dash__prop-item:last-child { border-bottom: none; }

.kic-admin-dash__prop-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.kic-admin-dash__prop-item strong { font-size: var(--text-lg); font-weight: 700; color: var(--kic-dark); display: block; }
.kic-admin-dash__prop-item span { font-size: var(--text-xs); color: var(--kic-text-muted); }

/* Revenue grid */
.kic-admin-dash__revenue-grid {
    display: flex;
    gap: var(--space-5);
    margin-bottom: var(--space-4);
}

.kic-admin-dash__revenue-item { flex: 1; }

.kic-admin-dash__revenue-amount {
    font-size: var(--text-2xl);
    font-weight: 800;
    display: block;
}

.kic-admin-dash__revenue-amount--success { color: var(--kic-success); }
.kic-admin-dash__revenue-amount--danger  { color: var(--kic-error); }

.kic-admin-dash__revenue-label {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Chart card */
.kic-admin-dash__chart-card { grid-column: span 1; }
.kic-admin-dash__period-text { font-size: var(--text-sm); color: var(--kic-text-muted); margin: 0; }
.kic-admin-dash__views-total { display: flex; align-items: baseline; gap: var(--space-2); margin-bottom: var(--space-4); }

/* Agency rows */
.kic-admin-dash__agency-row { display: flex; align-items: center; gap: var(--space-3); }
.kic-admin-dash__agency-logo { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 2px solid var(--kic-border); }
.kic-admin-dash__agency-row strong { display: block; font-size: var(--text-sm); color: var(--kic-dark); }
.kic-admin-dash__agency-row small { font-size: var(--text-xs); color: var(--kic-text-muted); }

/* Property list */
.kic-admin-dash__property-list { display: flex; flex-direction: column; gap: var(--space-4); }

.kic-admin-dash__property-item {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--kic-border);
}

.kic-admin-dash__property-item:last-child { border-bottom: none; padding-bottom: 0; }

.kic-admin-dash__property-thumb {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    object-fit: cover;
    flex-shrink: 0;
}

.kic-admin-dash__property-info { flex: 1; }
.kic-admin-dash__property-info strong { font-size: var(--text-sm); color: var(--kic-dark); display: block; margin-bottom: var(--space-1); }
.kic-admin-dash__property-meta { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.kic-admin-dash__property-meta small { font-size: var(--text-xs); color: var(--kic-text-muted); }

/* Document rows */
.kic-admin-dash__doc-row { display: flex; align-items: center; gap: var(--space-3); }
.kic-admin-dash__doc-icon { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
.kic-admin-dash__doc-row strong { display: block; font-size: var(--text-sm); color: var(--kic-dark); }
.kic-admin-dash__doc-row small { font-size: var(--text-xs); color: var(--kic-text-muted); }

/* Sold stats legend */
.kic-admin-dash__sold-legend { margin-top: var(--space-4); }
.kic-admin-dash__sold-total { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--kic-border); }
.kic-admin-dash__sold-total strong { font-size: var(--text-2xl); font-weight: 800; color: var(--kic-dark); display: block; }
.kic-admin-dash__sold-total span { font-size: var(--text-xs); color: var(--kic-text-muted); }

.kic-admin-dash__sold-breakdown { display: flex; flex-direction: column; gap: var(--space-3); }
.kic-admin-dash__sold-item { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); }
.kic-admin-dash__sold-item strong { font-weight: 700; color: var(--kic-dark); }
.kic-admin-dash__sold-item span { color: var(--kic-text-muted); font-size: var(--text-xs); }

.kic-admin-dash__sold-dot {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}
.kic-admin-dash__sold-dot--fast { background: #f34451; }
.kic-admin-dash__sold-dot--medium { background: #89c826; }
.kic-admin-dash__sold-dot--slow { background: #ffcc33; }

/* Agencies card full span */
.kic-admin-dash__agencies-card { grid-column: span 1; }

/* === Responsive admin dashboard === */
@media (max-width: 1280px) {
    .kic-admin-dash__top-grid {
        grid-template-columns: 1fr 1fr;
    }
    .kic-admin-dash__chart-card {
        grid-column: span 2;
    }
    .kic-admin-dash__bottom-grid {
        grid-template-columns: 1fr 1fr;
    }
    .kic-dash__stat-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .kic-admin-dash__top-grid,
    .kic-admin-dash__bottom-grid {
        grid-template-columns: 1fr;
    }
    .kic-admin-dash__chart-card {
        grid-column: span 1;
    }
    .kic-dash__stat-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .kic-admin-dash__revenue-grid {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .kic-dash__stat-grid--stack-mobile {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* =====================================================
   Section 33.13 — Admin Listing & Grid Components
   ===================================================== */

/* Grid container */
.kic-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-5);
}

.kic-admin-grid__pagination {
    grid-column: 1 / -1;
}

/* Admin Card (Listing) */
.kic-admin-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px solid var(--kic-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.kic-admin-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

/* Card Image Section */
.kic-admin-card__image-wrapper {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.kic-admin-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-admin-card__labels {
    position: absolute;
    top: var(--space-3);
    left: var(--space-3);
    display: flex;
    gap: var(--space-2);
    z-index: 2;
}

.kic-admin-card__overlay-meta {
    position: absolute;
    bottom: var(--space-3);
    right: var(--space-3);
    background: rgba(0,0,0,0.6);
    color: var(--white);
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    backdrop-filter: blur(4px);
}

/* Card Body */
.kic-admin-card__body {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.kic-admin-card__location {
    font-size: var(--text-xs);
    color: var(--kic-primary);
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: var(--space-1);
}

.kic-admin-card__title {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: var(--space-2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 2.8em;
    line-height: 1.4;
}

.kic-admin-card__price {
    font-size: var(--text-xl);
    font-weight: 800;
    color: var(--kic-dark);
    margin-bottom: var(--space-3);
}

.kic-admin-card__description {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin-bottom: var(--space-4);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 4.5em;
    line-height: 1.5;
}

.kic-admin-card__attrs {
    display: flex;
    gap: var(--space-4);
    padding-top: var(--space-3);
    border-top: 1px solid var(--kic-border);
    margin-top: auto;
}

.kic-admin-card__attr-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
}

.kic-admin-card__attr-item img {
    width: 14px;
    height: 14px;
    opacity: 0.6;
}

/* Card Footer Actions */
.kic-admin-card__footer {
    padding: var(--space-3);
    background: var(--kic-bg-light);
    border-top: 1px solid var(--kic-border);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-2);
}

/* Filter Panel */
.kic-admin-filters {
    background: var(--white);
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    border: 1px solid var(--kic-border);
    margin-bottom: var(--space-5);
}

.kic-admin-filters__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-4);
}

.kic-admin-filters__count {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    font-weight: 500;
}

.kic-admin-filters__count span {
    color: var(--kic-dark);
    font-weight: 700;
}

.kic-admin-filters__grid {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1.5fr 1fr;
    gap: var(--space-3);
    align-items: end;
}

/* Responsive */
@media (max-width: 992px) {
    .kic-admin-filters__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 576px) {
    .kic-admin-filters__grid {
        grid-template-columns: 1fr;
    }
    .kic-admin-card__footer {
        grid-template-columns: 1fr;
    }
    .kic-admin-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   SECTION 13: UTILITIES & PRINT
   ========================================================================== */

/* Print Utilities */
@media print {
    .d-print-none {
        display: none !important;
    }

    body {
        background: white !important;
        padding: 0 !important;
    }

    .kic-dash__sidebar,
    .kic-dash__header,
    .kic-dash__page-header,
    .kic-breadcrumb,
    .kic-nav,
    .kic-footer {
        display: none !important;
    }

    .kic-dash__content {
        margin: 0 !important;
        padding: 0 !important;
    }

    .kic-dash__card {
        border: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .kic-print-container {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        visibility: visible !important;
    }

    .kic-print-container * {
        visibility: visible !important;
    }

    .kic-dash__modal-overlay {
        position: static !important;
        padding: 0 !important;
        background: transparent !important;
        backdrop-filter: none !important;
    }

    .kic-dash__modal {
        max-width: none !important;
        max-height: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .kic-dash__modal-header,
    .kic-dash__modal-footer,
    .kic-detail-tabs {
        display: none !important;
    }

    .kic-invoice {
        border: 0 !important;
        padding: 0 !important;
    }
}

/* Helper Utilities */
.kic-helper-msg {
    display: block;
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    margin-top: var(--space-1);
}

.kic-text-gradient {
    background: var(--kic-gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* =====================================================
   Section 33.14 — Messenger & Chat Components
   ===================================================== */

/* Layout */
.kic-messenger-layout {
    display: flex;
    height: 750px;
    background: var(--kic-white);
}

.kic-messenger-sidebar {
    width: 320px;
    border-right: 1px solid var(--kic-border);
    display: flex;
    flex-direction: column;
    background: var(--kic-surface);
}

.kic-messenger-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
}

.kic-chat {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Messenger List */
.kic-messenger-list {
    flex: 1;
    overflow-y: auto;
}

.kic-messenger-item {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    border-bottom: 1px solid var(--kic-border);
    cursor: pointer;
    transition: all var(--transition-fast);
    text-decoration: none !important;
    color: inherit !important;
}

.kic-messenger-item:hover {
    background: var(--kic-white);
}

.kic-messenger-item.active {
    background: var(--kic-white);
    border-left: 3px solid var(--kic-primary);
}

.kic-messenger-item.is-unread {
    background: rgba(108, 60, 225, 0.03);
}

.kic-messenger-item__avatar {
    flex-shrink: 0;
}

.kic-messenger-item__content {
    flex: 1;
    min-width: 0;
}

.kic-messenger-item__title {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--kic-dark);
    margin: 0 0 2px;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.kic-messenger-item__preview {
    font-size: var(--text-xs);
    color: var(--kic-text-muted);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kic-messenger-item__meta {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.kic-messenger-item__time {
    font-size: 10px;
    color: var(--kic-text-muted);
}

.kic-messenger-item__badge {
    align-self: flex-end;
    background: var(--kic-primary);
    color: var(--kic-white);
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 10px;
}

.kic-messenger-search-results {
    max-height: 200px;
}

/* Avatar Component */
.kic-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: var(--text-sm);
    background: var(--kic-gray-100);
    color: var(--kic-text-muted);
}

.kic-avatar--primary { background: var(--kic-primary-bg); color: var(--kic-primary); }
.kic-avatar--success { background: rgba(16, 185, 129, 0.1); color: var(--kic-success); }
.kic-avatar--danger  { background: rgba(239, 68, 68, 0.1); color: var(--kic-error); }
.kic-avatar--warning { background: rgba(245, 158, 11, 0.1); color: var(--kic-warning); }
.kic-avatar--sm {
    width: 30px;
    height: 30px;
    font-size: var(--text-xs);
}
.kic-avatar--md {
    width: 44px;
    height: 44px;
}
.kic-avatar--lg {
    width: 56px;
    height: 56px;
}
.kic-avatar--bordered {
    border: 2px solid var(--kic-white);
}

.kic-avatar--square {
    border-radius: var(--radius-md);
}

.kic-avatar--contain {
    object-fit: contain;
}

.kic-icon-fixed {
    width: 16px;
    flex: 0 0 16px;
    text-align: center;
}

.kic-dash__media-cover {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.kic-dash__media-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.kic-media-preview {
    width: 72px;
    height: 56px;
    border-radius: var(--radius-md);
    background: var(--kic-gray-50);
    border: 1px solid var(--kic-border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--kic-text-muted);
}

.kic-media-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-media-preview--video {
    background: var(--kic-primary-bg);
    color: var(--kic-primary);
}

.kic-media-meta {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.kic-media-meta__title {
    font-weight: 700;
    color: var(--kic-text);
}

.kic-media-meta__path {
    max-width: 340px;
    color: var(--kic-text-muted);
    font-size: var(--text-xs);
    word-break: break-all;
}

.kic-media-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(150px, 1fr)) auto auto;
    gap: var(--space-3);
    align-items: end;
}

.kic-media-upload-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.5fr) auto;
    gap: var(--space-3);
    align-items: start;
}

.kic-media-upload-grid .kic-btn {
    align-self: end;
    min-height: 48px;
}

.kic-media-upload-grid .kic-help {
    margin: var(--space-2) 0 0;
}

.kic-placeholder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--space-4);
}

.kic-placeholder-card {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: var(--space-4);
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
}

.kic-placeholder-card__preview {
    width: 160px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--kic-gray-100);
}

.kic-placeholder-card__preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kic-placeholder-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.kic-placeholder-card__meta,
.kic-placeholder-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.kic-form-grid {
    display: grid;
    gap: var(--space-3);
}

.kic-form-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kic-toggle {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: .9rem;
    color: var(--kic-gray-700);
}

.kic-help {
    color: var(--kic-gray-500);
    font-size: .85rem;
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    .kic-media-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kic-media-upload-grid {
        grid-template-columns: 1fr;
    }

    .kic-placeholder-card,
    .kic-form-grid--2 {
        grid-template-columns: 1fr;
    }

    .kic-placeholder-card__preview {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .kic-media-filter-grid {
        grid-template-columns: 1fr;
    }
}

.kic-dash__modal-hidden {
    display: none !important;
}

.kic-dash__modal--md {
    max-width: 600px;
}

.kic-dash__modal--lg {
    max-width: 700px;
}

.kic-media-modal,
.kic-media-modal .kic-dash__modal-body {
    max-width: min(600px, calc(100vw - 32px));
    overflow-x: hidden;
}

.kic-media-modal .kic-alert,
.kic-media-modal .kic-input,
.kic-media-modal textarea {
    min-width: 0;
    max-width: 100%;
}

.kic-media-modal .kic-alert {
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
}

.kic-media-modal__link-panel {
    border-top: 1px solid var(--kic-border);
}

.kic-media-modal__section-title {
    margin: 0 0 var(--space-3);
    font-size: var(--text-base);
    font-weight: 800;
    color: var(--kic-text);
}

.kic-media-link-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: end;
}

.kic-media-modal__button-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

@media (max-width: 640px) {
    .kic-media-link-form {
        grid-template-columns: 1fr;
    }
}

.kic-dash__empty-icon {
    font-size: 2.5rem;
}

.kic-grid-full {
    grid-column: 1 / -1;
}

/* Chat Header */
.kic-chat__header {
    padding: var(--space-4) var(--space-6);
    border-bottom: 1px solid var(--kic-border);
    background: var(--kic-white);
}

/* Chat Messages Zone */
.kic-chat__messages-zone {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    background: #fdfdff;
}

.kic-chat__message {
    display: flex;
    flex-direction: column;
}

.kic-chat__message--sent { align-items: flex-end; }
.kic-chat__message--received { align-items: flex-start; }

.kic-chat__bubble {
    max-width: 75%;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    position: relative;
    line-height: 1.5;
}

.kic-chat__bubble--sent {
    background: var(--kic-primary);
    color: var(--kic-white);
    border-bottom-right-radius: 2px;
}

.kic-chat__bubble--received {
    background: var(--kic-white);
    border: 1px solid var(--kic-border);
    color: var(--kic-dark);
    border-bottom-left-radius: 2px;
}

.kic-chat__bubble small {
    display: block;
    font-size: 10px;
    margin-top: 4px;
    opacity: 0.7;
    text-align: right;
}

.kic-chat__attachment-composer {
    margin-top: var(--space-3);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.kic-chat__file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.kic-chat__attachment-button {
    width: fit-content;
}

.kic-chat__attachment-loading {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--kic-muted);
    font-size: var(--text-sm);
}

.kic-chat__pending-attachments,
.kic-chat__attachments {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.kic-chat__pending-attachment,
.kic-chat__attachment {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
    color: var(--kic-dark);
}

.kic-chat__pending-attachment {
    padding: var(--space-2) var(--space-3);
    max-width: 420px;
}

.kic-chat__pending-attachment > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--text-sm);
}

.kic-chat__attachment {
    margin-top: var(--space-2);
    padding: var(--space-2);
}

.kic-chat__attachment-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: rgba(111, 66, 193, 0.1);
    color: var(--kic-primary);
}

.kic-chat__attachment-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.kic-chat__attachment-name {
    color: var(--kic-dark);
    font-weight: 700;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

.kic-chat__attachment-name:hover {
    color: var(--kic-primary);
}

.kic-chat__attachment-meta {
    color: var(--kic-muted);
    font-size: 11px;
}

.kic-chat__attachment-remove,
.kic-chat__attachment-delete {
    border: 0;
    background: transparent;
    color: var(--kic-danger);
    padding: var(--space-1);
    line-height: 1;
    cursor: pointer;
}

.kic-chat__bubble--sent .kic-chat__attachment {
    border-color: rgba(255, 255, 255, 0.25);
}

.kic-grid-full-width {
    grid-template-columns: 1fr;
}

.kic-flex-1 {
    flex: 1;
}

.kic-text-success {
    color: var(--kic-success);
}

.kic-text-warning {
    color: var(--kic-warning);
}

.kic-table-attachments {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    max-width: 260px;
}

.kic-table-attachments__link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--kic-primary);
    font-size: var(--text-sm);
    font-weight: 700;
    text-decoration: none;
}

.kic-table-attachments__link span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Responsive Messenger */
@media (max-width: 768px) {
    .kic-messenger-layout { height: 650px; flex-direction: column; }
    .kic-messenger-sidebar { width: 100%; height: 250px; border-right: none; border-bottom: 1px solid var(--kic-border); }
}

/* =====================================================
   Section 33.15 — Form Controls & Layout
   ===================================================== */

/* Grille de formulaire standard (2 colonnes) */
.kic-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-5);
    margin-bottom: var(--space-5);
}

/* Checkbox KIC */
.kic-checkbox {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
    margin-bottom: var(--space-2);
}

.kic-checkbox input {
    width: 20px;
    height: 20px;
    accent-color: var(--kic-primary);
    cursor: pointer;
    border-radius: 4px;
}

/* Radio KIC */
.kic-radio {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
    margin-bottom: var(--space-2);
}

.kic-radio input {
    width: 20px;
    height: 20px;
    accent-color: var(--kic-primary);
    cursor: pointer;
}

/* Radio Card (Bloc cliquable) */
.kic-radio-card {
    position: relative;
    cursor: pointer;
}

.kic-radio-card input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.kic-radio-card__content {
    display: flex;
    flex-direction: column;
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-lg);
    background: var(--kic-white);
    transition: all var(--transition-fast);
    height: 100%;
}

.kic-radio-card input:checked + .kic-radio-card__content {
    border-color: var(--kic-primary);
    background: rgba(108, 60, 225, 0.05);
    box-shadow: 0 0 0 1px var(--kic-primary);
}

/* Groupes d'inputs avec Toggle Password */
.kic-input-group--has-toggle {
    position: relative;
}

.kic-input-group__toggle {
    position: absolute;
    right: var(--space-4);
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--kic-text-muted);
    cursor: pointer;
    padding: 0;
    z-index: 5;
    transition: color 0.2s;
}

.kic-input-group__toggle:hover {
    color: var(--kic-primary);
}

/* Switch (Toggle) KIC */
.kic-switch {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    cursor: pointer;
}

.kic-switch input {
    display: none;
}

.kic-switch__slider {
    width: 44px;
    height: 24px;
    background: var(--kic-gray-200);
    border-radius: 20px;
    position: relative;
    transition: background 0.3s;
}

.kic-switch__slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    background: white;
    border-radius: 50%;
    top: 3px;
    left: 3px;
    transition: transform 0.3s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.kic-switch input:checked + .kic-switch__slider {
    background: var(--kic-primary);
}

.kic-switch input:checked + .kic-switch__slider::before {
    transform: translateX(20px);
}

@media (max-width: 768px) {
    .kic-form-row { grid-template-columns: 1fr; }
}

/* === SECTION 15 — Table Helpers === */
.kic-table-comment-cell {
    max-width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}







/* --- Selection Modals (Seller Choice, etc.) --- */
.modal.fade.show.kic-modal--selection { display: block; background-color: rgba(26, 26, 46, .6); backdrop-filter: blur(4px); }
.kic-modal--selection .modal-content {
    border-radius: var(--radius-2xl);
    border: none;
    box-shadow: var(--shadow-2xl);
    background: var(--kic-surface);
}

.kic-modal--selection .modal-header {
    background: var(--kic-white);
    padding: var(--space-6) var(--space-8);
    border-bottom: 2px solid var(--kic-gray-50);
    border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
}

.kic-modal--selection .modal-title {
    font-size: var(--text-2xl);
    font-weight: 800;
    color: var(--kic-dark);
}

.kic-modal--selection .modal-body {
    padding: var(--space-8);
}

.kic-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
    margin-bottom: var(--space-8);
}

@media (max-width: 850px) {
    .kic-choice-grid {
        grid-template-columns: 1fr;
    }
}

.kic-choice-card {
    background: var(--kic-white);
    border: 2px solid var(--kic-border);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    transition: all var(--transition-normal);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    text-align: center;
    text-decoration: none !important;
}

.kic-choice-card:hover {
    border-color: var(--kic-primary);
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
}

.kic-choice-card--primary:hover {
    border-color: var(--kic-primary);
}

.kic-choice-card--success:hover {
    border-color: var(--kic-success);
}

.kic-choice-card__icon {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-6);
    font-size: 3rem;
    transition: all var(--transition-normal);
}

.kic-choice-card--primary .kic-choice-card__icon {
    background: #F5F3FF;
    color: var(--kic-primary);
}

.kic-choice-card--success .kic-choice-card__icon {
    background: #D1FAE5;
    color: var(--kic-success);
}

.kic-choice-card:hover .kic-choice-card__icon {
    transform: scale(1.1);
}

.kic-choice-card__title {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: var(--space-3);
}

.kic-choice-card__desc {
    font-size: var(--text-base);
    color: var(--kic-text-muted);
    margin-bottom: var(--space-6);
    line-height: 1.6;
}

.kic-choice-card__features {
    text-align: left;
    margin-bottom: var(--space-8);
    list-style: none;
    padding: 0;
    flex-grow: 1;
}

.kic-choice-card__feature {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    font-size: var(--text-sm);
    margin-bottom: var(--space-3);
    color: var(--kic-dark-light);
}

.kic-choice-card__feature i {
    margin-top: 3px;
    font-size: 1rem;
}

.kic-choice-card--primary .kic-choice-card__feature i {
    color: var(--kic-primary);
}

.kic-choice-card--success .kic-choice-card__feature i {
    color: var(--kic-success);
}

.kic-choice-notice {
    background: var(--kic-white);
    border: 1px solid var(--kic-border);
    border-left: 4px solid var(--kic-info);
    padding: var(--space-4) var(--space-6);
    border-radius: var(--radius-lg);
    display: flex;
    gap: var(--space-4);
    align-items: center;
}

.kic-choice-notice i {
    font-size: 1.5rem;
    color: var(--kic-info);
}

.kic-choice-notice div {
    flex: 1;
}

.kic-choice-notice p {
    font-size: var(--text-sm);
    color: var(--kic-text-muted);
    margin: 0;
}

.kic-choice-notice strong {
    color: var(--kic-dark);
    display: block;
    margin-bottom: 2px;
}

.kic-package-property-summary {
    border-left: 4px solid var(--kic-primary);
}

.kic-package-property-thumb {
    width: 100px;
    height: 75px;
    flex-shrink: 0;
}

.kic-package-card--expert {
    border: 2px solid var(--kic-warning);
}

.kic-package-card--plus {
    border: 1px solid var(--kic-primary);
}

.kic-package-tier-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.kic-package-tier-icon--expert {
    color: var(--kic-warning);
}

.kic-package-tier-icon--plus {
    color: var(--kic-primary);
}

.kic-package-tier-icon--standard {
    color: var(--kic-text-muted);
}

.kic-property-carousel-img {
    height: 450px;
    object-fit: cover;
}

.kic-text-pre-line {
    white-space: pre-line;
}

.kic-delete-summary {
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    margin-bottom: var(--space-4);
    background: var(--kic-white);
}

.kic-delete-summary__title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: 700;
    color: var(--kic-dark);
    margin-bottom: var(--space-3);
}

.kic-delete-summary__row {
    display: flex;
    gap: var(--space-2);
    align-items: baseline;
    color: var(--kic-dark-light);
}

.kic-delete-modal__lead {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: 600;
    color: var(--kic-dark);
    margin-bottom: var(--space-3);
}

.kic-delete-modal__lead i {
    color: var(--kic-error);
}

.kic-delete-impact-list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.kic-delete-impact-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--kic-border);
    background: var(--kic-white);
}

.kic-delete-impact-list li:last-child {
    border-bottom: 0;
}

.kic-delete-impact-list span:first-child {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--kic-dark-light);
}

.kic-delete-impact-list i {
    color: var(--kic-text-muted);
}

.kic-delete-modal__loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    margin-top: var(--space-4);
    color: var(--kic-primary);
    font-weight: 600;
}

.kic-subscription-plan-card__actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2);
    width: 100%;
}

.kic-subscription-modules-panel {
    margin-bottom: var(--space-5);
}

.kic-subscription-modules-panel__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-5);
    cursor: pointer;
    color: var(--kic-dark);
    font-weight: 700;
}

.kic-subscription-modules-panel__summary span {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.kic-subscription-modules-panel__summary small {
    color: var(--kic-text-muted);
    font-weight: 500;
}

.kic-subscription-modules-panel[open] .kic-subscription-modules-panel__summary {
    border-bottom: 1px solid var(--kic-border);
}

.kic-subscription-estimate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    min-height: 44px;
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-light);
}

.kic-subscription-estimate strong {
    white-space: nowrap;
}

.kic-subscription-estimate span,
.kic-subscription-plan-card__price small {
    color: var(--kic-text-muted);
    font-size: var(--font-size-xs);
    font-weight: 500;
}

.kic-subscription-form-modal .kic-dash__modal-body {
    padding: var(--space-5);
}

.kic-subscription-form-modal__section-title {
    color: var(--kic-dark);
    font-size: var(--text-xl);
    font-weight: 800;
    margin: var(--space-2) 0 0;
}

.kic-subscription-module-card {
    height: 100%;
    padding: var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
}

.kic-subscription-module-card .kic-helper-msg {
    margin-bottom: 0;
}

.kic-confirm-list {
    display: grid;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    text-align: left;
}

.kic-confirm-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-light);
    color: var(--kic-dark-light);
}

.kic-confirm-list__item strong {
    display: inline-flex;
    min-width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--kic-white);
    color: var(--kic-dark);
    font-weight: 800;
}

.kic-table-status-select {
    width: auto;
    min-width: 160px;
    min-height: 34px;
    padding: var(--space-1) var(--space-8) var(--space-1) var(--space-3);
    border-radius: 999px;
    font-size: var(--font-size-sm);
    font-weight: 700;
}

.kic-vendor-dashboard-chart {
    min-height: 350px;
}

.kic-vendor-dashboard-progress {
    display: block;
    width: 100%;
    height: 10px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: var(--kic-light);
}

.kic-vendor-dashboard-progress::-webkit-progress-bar {
    background: var(--kic-light);
    border-radius: 999px;
}

.kic-vendor-dashboard-progress::-webkit-progress-value {
    background: var(--kic-primary);
    border-radius: 999px;
}

.kic-vendor-dashboard-progress::-moz-progress-bar {
    background: var(--kic-primary);
    border-radius: 999px;
}

.kic-vendor-dashboard-property-thumb {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: var(--radius-md);
    background: var(--kic-light);
}

.kic-vendor-dashboard-status-badge {
    padding: 0 var(--space-2);
    font-size: 0.65rem;
}

/* Private owner property details */
.kic-private-owner-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.kic-private-owner-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.kic-private-owner-floor-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.kic-private-owner-floor-plan {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-3);
    border: 1px solid var(--kic-border);
    border-radius: var(--radius-md);
    background: var(--kic-white);
}

.kic-private-owner-floor-plan img,
.kic-private-owner-floor-plan__document {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-sm);
    background: var(--kic-light);
    object-fit: cover;
}

.kic-private-owner-floor-plan__document {
    display: grid;
    place-items: center;
    color: var(--kic-primary);
    font-weight: 800;
}

.kic-private-owner-floor-plan strong {
    overflow-wrap: anywhere;
}

.kic-private-owner-management {
    display: grid;
    gap: var(--space-4);
}

.kic-private-owner-management__actions {
    display: grid;
    gap: var(--space-2);
}

.kic-private-owner-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

.kic-private-owner-stats > div {
    display: grid;
    gap: var(--space-1);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--kic-light);
    text-align: center;
}

.kic-private-owner-stats strong {
    color: var(--kic-dark);
    font-size: var(--font-size-2xl);
}

.kic-private-owner-stats span {
    color: var(--kic-gray-600);
    font-size: var(--font-size-sm);
}

@media (max-width: 768px) {
    .kic-private-owner-detail-grid,
    .kic-private-owner-floor-plans {
        grid-template-columns: 1fr;
    }
}
/* Footer settings, legal rich text and publication notices */
.kic-admin-settings-grid {
    display: grid;
    gap: 20px;
}

.kic-settings-readonly-fieldset,
.kic-readonly-fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.kic-settings-readonly-fieldset .kic-input:disabled,
.kic-readonly-fieldset .kic-input:disabled,
.kic-readonly-fieldset .kic-select:disabled {
    opacity: 1;
    color: var(--kic-text);
    background: var(--kic-gray-50);
    cursor: default;
}

.kic-footer-settings-logo {
    display: block;
    width: min(220px, 100%);
    max-height: 90px;
    margin-top: 12px;
    object-fit: contain;
    object-position: left center;
    background: #17182c;
    padding: 12px;
    border-radius: 6px;
}

.kic-footer-route-repeater,
.kic-footer-social-repeater {
    display: grid;
    gap: 12px;
}

.kic-footer-route-row,
.kic-footer-social-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 10px;
    align-items: center;
}

.kic-footer-route-row .kic-btn--icon,
.kic-footer-social-row .kic-btn--icon {
    width: 44px;
    height: 44px;
    padding: 0;
}

.kic-footer-social-row {
    grid-template-columns: minmax(140px, .7fr) minmax(220px, 1.4fr) minmax(150px, .8fr) 44px;
}

.kic-footer-route-row--readonly {
    grid-template-columns: minmax(0, 1fr);
}

.kic-footer-social-row--readonly {
    grid-template-columns: minmax(140px, .7fr) minmax(220px, 1.4fr) minmax(150px, .8fr);
}

.kic-footer-settings-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
}

.kic-rich-editor-field .note-editor {
    width: 100%;
    border-color: #dfe2ea;
    border-radius: 6px;
    overflow: hidden;
}

.kic-legal-editor:disabled {
    opacity: 1;
    color: var(--kic-text);
    background: var(--kic-gray-50);
    cursor: default;
}

.kic-rich-content {
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.kic-rich-content table {
    width: 100%;
    border-collapse: collapse;
}

.kic-rich-content th,
.kic-rich-content td {
    padding: 10px;
    border: 1px solid #dfe2ea;
    text-align: left;
}

.kic-property-publication-notice {
    margin-bottom: 20px;
    padding: 18px 20px;
    border: 1px solid #d9ceff;
    border-left: 4px solid var(--kic-primary, #6f3bf5);
    border-radius: 6px;
    background: #f8f6ff;
}

.kic-property-publication-notice__title {
    margin: 0 0 8px;
    font-size: 17px;
}

@media (max-width: 767px) {
    .kic-footer-social-row {
        grid-template-columns: 1fr 44px;
    }

    .kic-footer-social-row--readonly {
        grid-template-columns: 1fr;
    }

    .kic-footer-social-row .kic-input {
        grid-column: 1;
    }

    .kic-footer-social-row .kic-btn {
        grid-column: 2;
        grid-row: 1;
    }

    .kic-footer-settings-actions {
        align-items: stretch;
        flex-direction: column;
    }
}
/* ================================================================
   Section 33.16 - Property wishlists
   ================================================================ */
.kic-wishlist-button {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #6b7280;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.kic-wishlist-button:hover,
.kic-wishlist-button--active {
    color: #e63956;
    background: #fff;
    transform: translateY(-1px);
}

.kic-property-card--wishlist .kic-property-card__status-icon {
    right: 66px;
}

.kic-wishlist-button:disabled {
    cursor: wait;
    opacity: 0.65;
}

.kic-wishlist-button--large {
    position: static;
    width: auto;
    min-height: 42px;
    padding: 0 16px;
    gap: 8px;
    border-radius: 6px;
    border-color: #e5e7eb;
    flex: 0 0 auto;
}

.kic-detail__header-actions {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.kic-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.kic-wishlist-entry,
.kic-wishlist-entry .kic-property-card {
    min-width: 0;
    height: 100%;
}

.kic-wishlist-unavailable {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 150px;
    padding: 24px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}

.kic-wishlist-unavailable > i {
    color: #9ca3af;
    font-size: 1.5rem;
}

.kic-wishlist-unavailable div {
    flex: 1;
    min-width: 0;
}

.kic-wishlist-unavailable h2,
.kic-wishlist-empty h2 {
    margin: 0 0 6px;
    font-size: 1.05rem;
}

.kic-wishlist-unavailable p,
.kic-wishlist-empty p {
    margin: 0;
    color: #6b7280;
}

.kic-wishlist-empty {
    padding: 48px 24px;
    text-align: center;
}

.kic-wishlist-empty > i {
    margin-bottom: 16px;
    color: #e63956;
    font-size: 2rem;
}

.kic-wishlist-empty .kic-btn {
    margin-top: 20px;
}

.kic-admin-wishlist {
    padding: 18px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #f9fafb;
}

.kic-admin-wishlist__header,
.kic-admin-wishlist__item,
.kic-admin-wishlist__actions {
    display: flex;
    align-items: center;
}

.kic-admin-wishlist__header {
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.kic-admin-wishlist__header h5,
.kic-admin-wishlist__header p,
.kic-admin-wishlist__empty {
    margin: 0;
}

.kic-admin-wishlist__header p,
.kic-admin-wishlist__content span,
.kic-admin-wishlist__empty {
    color: #6b7280;
    font-size: 0.875rem;
}

.kic-admin-wishlist__item {
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid #e5e7eb;
}

.kic-admin-wishlist__content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.kic-admin-wishlist__content strong,
.kic-admin-wishlist__content span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kic-admin-wishlist__actions {
    gap: 8px;
    flex: 0 0 auto;
}

@media (max-width: 1100px) {
    .kic-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .kic-wishlist-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .kic-detail__header-actions,
    .kic-wishlist-unavailable {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Shared demo-mode notice: stays visible above public and dashboard navigation. */
body.kic-demo-mode {
    --kic-demo-banner-height: 48px;
    padding-top: var(--kic-demo-banner-height);
}

.kic-demo-banner {
    position: fixed;
    inset: 0 0 auto;
    height: var(--kic-demo-banner-height);
    z-index: 1001;
    color: var(--kic-white);
    background: #241945;
    box-shadow: 0 2px 12px rgba(20, 13, 43, 0.2);
}

.kic-demo-banner__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    max-width: 1440px;
    height: 100%;
    margin-inline: auto;
    padding-inline: var(--space-6);
}

.kic-demo-banner__copy {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: var(--space-3);
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: 1.25;
}

.kic-demo-banner__message--mobile {
    display: none;
}

.kic-demo-mode .kic-demo-banner .kic-demo-banner__info {
    color: #eee8ff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    white-space: nowrap;
}
.kic-demo-mode .kic-demo-banner .kic-demo-banner__info:hover { color: var(--kic-white); }
.kic-demo-mode .kic-demo-banner .kic-demo-banner__info:focus-visible { outline: 2px solid var(--kic-white); outline-offset: 3px; }
.kic-demo-banner__info-small { display: none; }

.kic-demo-banner__badge {
    flex: 0 0 auto;
    padding: 0.2rem 0.55rem;
    border-radius: var(--radius-sm);
    color: #241945;
    background: #d8c9ff;
    font-size: var(--text-xs);
    font-weight: 800;
    letter-spacing: 0.04em;
}

.kic-demo-banner form {
    flex: 0 0 auto;
    margin: 0;
}

.kic-demo-mode .kic-demo-banner .kic-demo-banner__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: 32px;
    padding: 0.4rem 0.8rem;
    border: 0;
    border-radius: var(--radius-sm);
    color: #241945;
    background: var(--kic-white);
    font: inherit;
    font-size: var(--text-xs);
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.kic-demo-mode .kic-demo-banner .kic-demo-banner__action:hover {
    color: #241945;
    background: #e9e1ff;
}

.kic-demo-mode .kic-demo-banner .kic-demo-banner__action:focus-visible {
    outline: 2px solid var(--kic-white);
    outline-offset: 3px;
}

.kic-demo-mode .kic-nav,
.kic-demo-mode .kic-dash__sidebar {
    top: var(--kic-demo-banner-height);
}

.kic-demo-mode .kic-dash__sidebar {
    height: calc(100vh - var(--kic-demo-banner-height));
}

.kic-demo-mode .kic-dash__layout,
.kic-demo-mode .kic-dash__wrapper {
    min-height: calc(100vh - var(--kic-demo-banner-height));
}

.kic-demo-mode .kic-dash__topbar {
    top: var(--kic-demo-banner-height);
}

.kic-demo-mode .kic-dash__sidebar-overlay {
    top: var(--kic-demo-banner-height);
}

@media (min-width: 641px) and (max-width: 900px) {
    .kic-demo-banner__message { display: none; }
    .kic-demo-banner__message--mobile { display: inline; }
}

@media (max-width: 640px) {
    body.kic-demo-mode {
        --kic-demo-banner-height: 60px;
    }

    .kic-demo-banner__inner {
        gap: var(--space-2);
        padding-inline: var(--space-3);
    }

    .kic-demo-banner__copy {
        gap: var(--space-2);
        font-size: var(--text-xs);
    }

    .kic-demo-banner__message {
        display: none;
    }

    .kic-demo-banner__message--mobile {
        display: none;
    }

    .kic-demo-banner__info-wide { display: none; }
    .kic-demo-banner__info-small { display: inline; }

    .kic-demo-mode .kic-demo-banner .kic-demo-banner__action {
        padding-inline: var(--space-2);
    }

}
.kic-demo-property__media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    margin: 12px 0 24px;
}

.kic-demo-property__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
}
