/* NALOCIA Premium V2 — rythme éditorial, shells applicatifs et aperçus produit. */
:root{--nl2-navy:#00275b;--nl2-blue:#0753a6;--nl2-gold:#d09b2c;--nl2-cream:#fbf7ee;--nl2-line:#e4e9f1;--nl2-muted:#647084}

/* Pages publiques : plus de respiration, moins de gigantisme. */
:where(.traveler-page,.owner-page,.manager-page) :where(.traveler-section,.owner-section,.manager-section){padding-top:50px;padding-bottom:50px}
:where(.traveler-page,.owner-page,.manager-page) :where(.traveler-section,.owner-section,.manager-section)>h2,
:where(.traveler-page,.owner-page,.manager-page) :where(.traveler-steps,.owner-relation,.owner-model,.manager-steps,.manager-tools)>h2{font-size:clamp(1.7rem,2.4vw,2.45rem)!important;letter-spacing:-.035em!important;margin-bottom:28px!important}
:where(.traveler-benefit,.owner-benefit,.manager-benefit){border:1px solid var(--nl2-line)!important;border-radius:18px;padding:20px 16px!important;background:#fff;box-shadow:0 8px 26px rgba(0,39,91,.055)}
:where(.traveler-benefits,.owner-benefits,.manager-benefits){gap:12px!important}
:where(.traveler-icon,.owner-icon,.manager-icon){width:46px!important;height:46px!important;border-radius:14px!important;font-size:20px!important}

/* Aperçu produit intégré au hero, inspiré des maquettes mais sans fausses données. */
.nl-product-preview{position:relative;overflow:hidden;padding:0!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:22px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 25px 70px rgba(0,31,77,.24)!important;backdrop-filter:blur(16px);color:#12213a!important}
.nl-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;border-bottom:1px solid var(--nl2-line);background:linear-gradient(90deg,#fff,#f5f8fc)}
.nl-preview-brand{display:flex;align-items:center;gap:9px;color:var(--nl2-navy);font-size:11px;font-weight:900;letter-spacing:.06em}.nl-preview-brand img{width:28px;height:28px;object-fit:contain}.nl-preview-top>span{font-size:10px;font-weight:800;color:var(--nl2-muted)}
.nl-preview-body{padding:17px}.nl-preview-body>small{display:block;margin-bottom:4px;color:var(--nl2-gold);font-size:9px;font-weight:900;letter-spacing:.12em}.nl-product-preview .nl-preview-body>strong{display:block!important;margin:0!important;color:var(--nl2-navy)!important;font-size:17px!important;line-height:1.2!important}.nl-preview-body>p{margin:5px 0 14px!important;color:var(--nl2-muted)!important;font-size:11px!important;line-height:1.45!important;font-weight:600!important}
.nl-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nl-preview-tile{min-height:72px;padding:11px;border:1px solid var(--nl2-line);border-radius:13px;background:#fff}.nl-preview-tile span{display:block;color:var(--nl2-muted);font-size:9px;font-weight:700}.nl-product-preview .nl-preview-tile strong{display:block!important;margin:5px 0 0!important;color:var(--nl2-navy)!important;font-size:13px!important;line-height:1.2!important}.nl-preview-tile em{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:99px;background:#eaf6ef;color:#18724d;font-size:8px;font-style:normal;font-weight:850}.nl-preview-note{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;border-radius:11px;background:var(--nl2-cream);color:#7c5912;font-size:9px;font-weight:800}

/* Navigation interne commune. */
.nl-app-quicklinks{display:flex;align-items:center;gap:5px}.nl-app-quicklinks a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:10px;color:var(--nl2-navy);text-decoration:none;font-size:12px;font-weight:800}.nl-app-quicklinks a:hover,.nl-app-quicklinks a.is-active{background:#eaf2fd;color:var(--nl2-blue)}
.nl-app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding:18px 2px 8px;border-top:1px solid var(--nl2-line);color:var(--nl2-muted);font-size:11px}.nl-app-footer nav{display:flex;flex-wrap:wrap;gap:14px}.nl-app-footer a{color:var(--nl2-muted);text-decoration:none;font-weight:750}.nl-app-footer a:hover{color:var(--nl2-blue)}

/* Densité des espaces connectés. */
.nl-app-active :where(.ngs-page-content,.nms-page-content){padding-bottom:20px}
.nl-app-active :where(.ngs-topbar,.nms-topbar){padding-top:9px!important;padding-bottom:9px!important}
.nl-app-active :where(.nr-hero,.v2-hero,.gd-hero){border-radius:18px!important}
.nl-app-active .nr-hero{padding:26px!important}.nl-app-active .nr-hero h1{font-size:clamp(1.75rem,2.5vw,2.55rem)!important}.nl-app-active .nr-hero p{max-width:820px;font-size:.93rem!important;line-height:1.55!important}
.nl-app-active .nr-card{border-radius:16px!important}.nl-app-active .nr-stat{font-size:clamp(1.35rem,2vw,2rem)!important}.nl-app-active .nr-table{font-size:12px!important}.nl-app-active .nr-table :where(th,td){padding:11px 10px!important;vertical-align:top}
.nl-app-active .gd-content{padding-bottom:18px}.nl-app-active .gd-card{min-height:0!important}.nl-app-active .gd-grid{gap:14px!important}.nl-app-active .gd-card :where(.gd-empty){min-height:88px!important}.nl-app-active .gd-topbar{min-height:64px!important}.nl-app-active .gd-topbar form{max-width:570px}.nl-app-active .gd-hero{min-height:310px!important}.nl-app-active .gd-hero-inner{padding-top:34px!important}.nl-app-active .gd-reassurance{padding-top:14px!important;padding-bottom:14px!important}
.nl-app-active .v2-wrap{max-width:1280px!important}.nl-app-active .v2-content{padding-bottom:18px!important}.nl-app-active .v2-card{border-radius:16px!important}.nl-app-active .v2-grid-3{gap:14px!important}

@media(max-width:1180px){.nl-app-quicklinks a:nth-child(n+4){display:none}.nl-product-preview{max-width:390px;justify-self:end}}
@media(max-width:900px){.nl-app-quicklinks{display:none}.nl-product-preview{display:none}:where(.traveler-page,.owner-page,.manager-page) :where(.traveler-benefits,.owner-benefits,.manager-benefits){grid-template-columns:repeat(2,minmax(0,1fr))!important}:where(.traveler-benefit,.owner-benefit,.manager-benefit){border-right:1px solid var(--nl2-line)!important}}
@media(max-width:620px){:where(.traveler-page,.owner-page,.manager-page) :where(.traveler-section,.owner-section,.manager-section){padding-top:38px;padding-bottom:38px}:where(.traveler-page,.owner-page,.manager-page) :where(.traveler-benefits,.owner-benefits,.manager-benefits){grid-template-columns:1fr!important}.nl-app-footer{align-items:flex-start;flex-direction:column}.nl-app-footer nav{gap:10px 14px}}
