:root{--navy:#06172d;--navy2:#0b2744;--gold:#ccbd4a;--cream:#f8f5ee;--text:#e9edf5}*{box-sizing:border-box}html{scroll-behavior:smooth}body.komnmok{margin:0;background:var(--navy);color:var(--text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.5}a{color:inherit}.shell{width:min(1380px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:10;background:white;color:#000;padding:10px}.site-header{background:#041327;border-bottom:1px solid #ffffff1c}.header-row{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:86px}.brand{text-decoration:none;color:#e5bf6b;font:clamp(28px,3vw,42px) Georgia,serif;white-space:nowrap}.brand span{display:block;color:white;font:10px system-ui,sans-serif;letter-spacing:.15em;text-align:center}.main-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.main-nav a{text-decoration:none;font-weight:600}.main-nav a:hover{color:var(--gold)}.hero{position:relative;min-height:520px;display:flex;align-items:center;background:linear-gradient(115deg,#07182eea,#07182e77),linear-gradient(25deg,#21476a,#0b203b 60%,#bd8e6b);overflow:hidden}.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,#e6a15a35,transparent 50%);pointer-events:none}.hero-content{position:relative;padding-block:95px}.eyebrow{letter-spacing:.16em;font-size:12px;color:#e5bf6b}.hero h1{font:clamp(48px,7vw,94px)/1.07 Georgia,serif;margin:12px 0}.hero h1 em{color:#e5bf6b;font-weight:normal}.hero-subtitle{font-size:clamp(16px,2vw,22px);max-width:720px}.search-panel{margin-top:35px;padding:24px;border-radius:14px;background:#06172dd9;border:1px solid #e5bf6b50;max-width:1000px}.search-panel p{margin:0}.universes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-block:32px}.universes article{background:linear-gradient(130deg,#112f50,#06172d);padding:26px;border:1px solid #ccbd4a50;min-height:160px}.universes article span{color:#e5bf6b;font-size:40px;float:left;margin-right:18px}.universes h2,.featured h2{font:28px Georgia,serif;margin:0 0 12px}.universes p{margin:0;font-size:14px}.featured{padding-block:35px 65px}.featured h2{font-size:36px}.placeholder{border:1px dashed #ccbd4a88;padding:28px;border-radius:8px}.main-content{min-height:100px;padding-block:24px 50px}.site-footer{border-top:1px solid #ccbd4a55;padding:32px 0;background:#031021}.site-footer strong{font:28px Georgia,serif;color:#e5bf6b}.site-footer p{font-size:13px;color:#c3cbd7}@media(max-width:800px){.header-row{align-items:flex-start;flex-direction:column;padding-block:18px}.main-nav ul{gap:12px}.universes{grid-template-columns:1fr}.hero{min-height:450px}.shell{width:min(100% - 32px,1380px)}}

/* KomNmoK 0.2: responsive accessible navigation */
.header-navigation{display:flex;align-items:center;gap:clamp(14px,2vw,32px);margin-left:auto;min-width:0}
.header-actions{display:flex;align-items:center;gap:14px}
.header-actions .moduletable{margin:0}
.main-nav ul{align-items:center;flex-wrap:nowrap;gap:clamp(12px,1.7vw,26px)}
.main-nav li{position:relative}
.main-nav a{display:block;padding:12px 0;font-size:14px;white-space:nowrap}
.main-nav li.active>a,.main-nav li.current>a{color:var(--gold)}
.main-nav li ul{display:none;position:absolute;top:100%;left:0;min-width:220px;padding:9px 18px;background:#071b34;border:1px solid #ccbd4a66;border-radius:8px;box-shadow:0 15px 40px #0007;z-index:50;flex-direction:column;align-items:stretch;gap:0}
.main-nav li:hover>ul,.main-nav li:focus-within>ul,.main-nav li.submenu-open>ul{display:flex}
.main-nav li ul li ul{left:100%;top:0}
.main-nav a:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.nav-toggle{display:none;background:transparent;border:1px solid #ccbd4a88;border-radius:6px;padding:10px;cursor:pointer}
.nav-toggle span{display:block;width:23px;height:2px;background:var(--gold);margin:4px 0}
.header-actions a{color:var(--gold)}
@media(max-width:1100px){
 .header-row{flex-direction:row;align-items:center;flex-wrap:wrap;padding-block:14px;min-height:76px}
 .nav-toggle{display:block;margin-left:auto}
 .header-navigation{display:none;flex-basis:100%;width:100%;margin:0;align-items:stretch;flex-direction:column;padding:14px 0}
 .header-navigation.is-open{display:flex}
 .main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .main-nav a{padding:12px 8px;white-space:normal}
 .main-nav li ul{position:static;box-shadow:none;margin:0 0 8px 16px;padding:0 12px;min-width:0}
 .main-nav li ul li ul{position:static}
 .header-actions{flex-wrap:wrap;padding:12px 8px;border-top:1px solid #ffffff33}
}
@media(max-width:800px){.header-row{flex-direction:row;align-items:center}.brand{font-size:clamp(25px,6vw,36px)}}

/* KomNmoK native Joomla language switcher override */
.km-language-switcher{position:relative;z-index:1000;font-family:inherit}
.km-language-dropdown{position:relative;color:#f6f4ed}
.km-language-dropdown>summary{list-style:none;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.65rem .8rem;border:1px solid rgba(204,189,74,.45);border-radius:.5rem;color:#fff;white-space:nowrap}
.km-language-dropdown>summary::-webkit-details-marker{display:none}
.km-language-dropdown>summary:focus-visible,.km-language-list a:focus-visible{outline:2px solid #ccbd4a;outline-offset:3px}
.km-lang-globe,.km-lang-chevron{color:#ccbd4a}
.km-language-dropdown[open] .km-lang-chevron{transform:rotate(180deg)}
.km-language-list{position:absolute;top:calc(100% + .5rem);right:0;min-width:175px;max-width:calc(100vw - 2rem);margin:0;padding:.4rem;list-style:none;background:#101c30;border:1px solid rgba(204,189,74,.5);border-radius:.65rem;box-shadow:0 14px 36px rgba(0,0,0,.3);z-index:1001}
.km-language-list li{margin:0;padding:0}
.km-language-list a,.km-language-current{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;color:#fff;text-decoration:none;border-radius:.4rem;font-size:.9rem}
.km-language-list a:hover{background:rgba(204,189,74,.15);color:#fff}
.km-language-current{color:#ccbd4a;font-weight:600}
.km-language-list small{font-size:.7rem;opacity:.7}
/* Mobile language menu: align to trigger and maintain readable sizing */
@media(max-width:767px){
 .km-language-dropdown{position:relative;display:inline-block}
 .km-language-list{left:0;right:auto;width:max-content;min-width:190px;max-width:calc(100vw - 32px);font-size:14px}
 .km-language-list a,.km-language-current{font-size:14px;line-height:1.4;white-space:normal}
 .km-language-list small{font-size:11px;flex-shrink:0}
}


/* KomNmoK v0.3 — hero image with gradient fallback */
.hero.has-hero-image{background-image:linear-gradient(90deg,rgba(4,17,36,.88) 0%,rgba(4,17,36,.58) 52%,rgba(4,17,36,.22) 100%),var(--km-hero-image),linear-gradient(25deg,#21476a,#0b203b 60%,#bd8e6b);background-size:cover;background-position:center center}
.hero.has-hero-image .hero-shade{background:linear-gradient(0deg,rgba(4,17,36,.36),transparent 65%),radial-gradient(ellipse at 90% 30%,#e6a15a20,transparent 60%)}
/* Readable component area on internal pages: Joomla articles and DJ-Classifieds */
.is-inner .main-content{background:#fff;color:#17283d;border-radius:12px;margin-top:28px;margin-bottom:42px;padding:clamp(18px,3vw,42px);min-height:300px}
.is-inner .main-content a:not(.btn):not(.button){color:#174c78}
.is-inner .main-content a:hover{color:#946e18}
.is-inner .main-content h1,.is-inner .main-content h2,.is-inner .main-content h3,.is-inner .main-content h4,.is-inner .main-content p,.is-inner .main-content li,.is-inner .main-content label,.is-inner .main-content dt,.is-inner .main-content dd{color:inherit}
.is-inner .main-content input,.is-inner .main-content select,.is-inner .main-content textarea{color:#17283d;background:#fff;border:1px solid #bdc7d3;border-radius:7px;padding:10px 12px;max-width:100%}
.is-inner .main-content input:focus,.is-inner .main-content select:focus,.is-inner .main-content textarea:focus{outline:2px solid #ccbd4a;outline-offset:1px}
/* DJ-Classifieds search module inside the hero: scoped to avoid affecting listings */
.hero .search-panel{color:#f8f5ee;backdrop-filter:blur(9px)}
.hero .search-panel form{display:flex;flex-wrap:wrap;align-items:end;gap:14px}
.hero .search-panel form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;min-height:44px;background:#fff;color:#14243b;border:1px solid #d5d9de;border-radius:7px;padding:10px 12px;font:inherit}
.hero .search-panel form :is(label,.control-label){color:#f8f5ee;font-weight:600;font-size:13px}
.hero .search-panel form :is(button,[type=submit],.btn-primary){background:#ccbd4a;color:#101c30;border:1px solid #ccbd4a;border-radius:7px;padding:11px 20px;min-height:44px;font-weight:700;cursor:pointer}
.hero .search-panel form :is(button,[type=submit],.btn-primary):hover{background:#e4d576}
.hero .search-panel form :is(.control-group,.djcf_search_field,.search-field){flex:1 1 170px;min-width:0}
@media(max-width:767px){.hero.has-hero-image{background-position:62% center}.hero-content{padding-block:72px}.hero .search-panel{padding:16px}.hero .search-panel form{display:block}.hero .search-panel form :is(.control-group,.djcf_search_field,.search-field){margin-bottom:12px}.is-inner .main-content{margin-top:16px;margin-bottom:22px}}

/* KomNmoK 0.3.1: CTA styling scoped to its own module position */
.km-header-cta ul{display:flex;list-style:none;margin:0;padding:0}
.km-header-cta li{margin:0;padding:0}
.km-header-cta a,.header-actions a.km-add-item{
 display:inline-flex;align-items:center;justify-content:center;
 background:#ccbd4a;color:#101c30!important;
 border:1px solid #ccbd4a;border-radius:7px;
 padding:11px 18px;font-weight:700;text-decoration:none;
 line-height:1.3;white-space:nowrap;transition:background .2s ease
}
.km-header-cta a:hover,.header-actions a.km-add-item:hover{background:#e4d576;color:#101c30!important}

/* KomNmoK - Hero avec image */

.hero.has-hero-image {
    background-image:
        linear-gradient(
            90deg,
            rgba(5, 19, 38, 0.80) 0%,
            rgba(5, 19, 38, 0.45) 55%,
            rgba(5, 19, 38, 0.15) 100%
        ),
        var(--km-hero-image) !important;

    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.hero.has-hero-image {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* KomNmoK / Joomla native mod_login override */
.km-account-menu { position: relative; color: #f6f3e8; font-family: inherit; }
.km-account-trigger { display: flex; align-items: center; gap: .55rem; cursor: pointer; list-style: none; padding: .6rem .75rem; border: 1px solid rgba(204,189,74,.45); border-radius: .6rem; background: #101c30; }
.km-account-trigger::-webkit-details-marker { display: none; }
.km-account-trigger:focus-visible, .km-account-panel a:focus-visible, .km-account-panel button:focus-visible, .km-account-panel input:focus-visible { outline: 2px solid #ccbd4a; outline-offset: 3px; }
.km-account-icon { font-size: 1.2rem; color: #ccbd4a; }
.km-account-chevron { color: #ccbd4a; }
.km-account-panel { position: absolute; z-index: 1000; right: 0; top: calc(100% + .65rem); width: min(330px, calc(100vw - 32px)); padding: 1.2rem; border-radius: .8rem; border: 1px solid rgba(204,189,74,.38); background: #19283e; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.km-account-heading { margin: 0 0 1rem; font-weight: 700; color: #ccbd4a; }
.km-account-form { display: grid; gap: .5rem; }
.km-account-form > label:not(.km-account-remember) { font-size: .85rem; }
.km-account-form > input { box-sizing: border-box; width: 100%; padding: .7rem; background: #fff; color: #101c30; border: 1px solid #a7b2c2; border-radius: .4rem; }
.km-account-remember { display: flex; align-items: center; gap: .4rem; margin: .35rem 0; font-size: .83rem; }
.km-account-submit { width: 100%; padding: .75rem; border: 0; border-radius: .4rem; background: #ccbd4a; color: #101c30; font-weight: 700; cursor: pointer; }
.km-account-submit:hover { background: #e0d276; }
.km-account-links { display: grid; gap: .55rem; margin-top: 1rem; }
.km-account-links a, .km-account-navlink { color: #f1e5a1; font-size: .85rem; text-decoration: none; }
.km-account-links a:hover, .km-account-navlink:hover { text-decoration: underline; }
.km-account-navlink { display: block; margin-bottom: 1rem; }
@media (max-width: 600px) { .km-account-panel { right: -10px; } .km-account-label { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }

/* KomNmoK / Joomla native mod_login override pour l'icone de login */
.km-account-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ccbd4a;
}

.km-account-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}



/* KomNmoK universes - isolated homepage cards, November 2026. */
.is-home .universes{gap:clamp(14px,2vw,24px);padding-block:clamp(28px,4vw,58px)}
.is-home .universes .universe-card{
 position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;
 min-height:clamp(260px,30vw,390px);padding:clamp(22px,3vw,34px);
 border:1px solid rgba(204,189,74,.48);border-radius:14px;
 background-color:#10253b;background-position:center;background-size:cover;
 box-shadow:0 18px 38px rgba(0,0,0,.22);
 transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
/* Images are loaded from Joomla Media: /images/komnmok/ */
.is-home .universes .universe-card--estate{background-image:url('../../../images/komnmok/universe-real-estate.jpg')}
.is-home .universes .universe-card--design{background-image:url('../../../images/komnmok/universe-design.jpg')}
.is-home .universes .universe-card--leisure{background-image:url('../../../images/komnmok/universe-leisure.jpg')}
.is-home .universes .universe-card::before{
 content:'';position:absolute;inset:0;z-index:-1;
 background:linear-gradient(0deg,rgba(4,15,31,.96) 0%,rgba(5,19,38,.75) 40%,rgba(5,19,38,.28) 100%);
}
.is-home .universes .universe-card__content{position:relative;z-index:1;max-width:100%}
.is-home .universes .universe-icon{display:block;width:42px;height:42px;color:#ccbd4a;margin-bottom:17px;float:none}
.is-home .universes .universe-card h2{font:clamp(23px,2.3vw,31px)/1.18 Georgia,serif;color:#fff;margin:0 0 10px}
.is-home .universes .universe-card p{font-size:14px;line-height:1.6;color:#e5eaf2;margin:0}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .is-home .universes .universe-card:hover{transform:translateY(-5px);border-color:#ccbd4a;box-shadow:0 24px 46px rgba(0,0,0,.3)}
}
@media(max-width:800px){.is-home .universes{grid-template-columns:1fr}.is-home .universes .universe-card{min-height:260px}}
@media(prefers-reduced-motion:reduce){.is-home .universes .universe-card{transition:none}}

/* GSAP homepage: small, isolated enhancement. No hidden default state. */
@media (prefers-reduced-motion: reduce) {
  .is-home .universe-card, .is-home .hero-content, .is-home .featured { animation:none!important; }
}
