/* Services inspiration edit. Home and Dazzle galleries retain their layouts. */
body.nln-services-page .nln-gallery {
 display:block; padding:48px clamp(20px,4vw,64px); background:linear-gradient(125deg,#f3edff,#eee6ff 65%,#ffeaf5);
}
body.nln-services-page .nln-gallery>h2 { max-width:900px; font-size:clamp(40px,4.8vw,72px); line-height:1.02; margin:0 0 18px; white-space:normal; }
body.nln-services-page .nln-gallery>h2 br { display:initial; }
body.nln-services-page .nln-gallery>h2 em { display:inline; }
body.nln-services-page .nln-gallery>h2>span { display:inline; float:none; position:static; margin-left:8px; font-size:.6em; vertical-align:middle; }
.nln-lookbook.nln-inspiration { display:block; min-width:0; }
.nln-lookbook-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.nln-lookbook-toolbar>p { font-size:16px; line-height:1.5; max-width:52ch; margin:0; color:#65527e; }
.nln-lookbook-controls { display:flex; flex-shrink:0; align-items:center; gap:20px; }
.nln-lookbook:not([data-ready]) .nln-lookbook-controls { display:none; }
.nln-lookbook-status { min-width:94px; font-size:13px; line-height:1.5; color:#5c3670; font-variant-numeric:tabular-nums; }
.nln-lookbook-arrows { display:flex; gap:10px; }
.nln-lookbook :is(.nln-gallery-prev,.nln-gallery-next) { display:grid; place-items:center; width:48px; height:48px; min-width:48px; min-height:48px; flex-basis:48px; padding:0; border:1px solid #b18ec7; border-radius:50%; background:#fff; color:#642477; font:normal 25px/1 var(--nln-sans); transition:background .2s ease,color .2s ease,border-color .2s ease; }
.nln-lookbook :is(.nln-gallery-prev,.nln-gallery-next):not(:disabled):hover { background:#e6007e; border-color:#e6007e; color:#fff; }
.nln-lookbook :is(.nln-gallery-prev,.nln-gallery-next):disabled { opacity:.45; cursor:default; }
.nln-lookbook .nln-gallery-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 60px)/4); gap:20px; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:3px; padding:4px 3px 12px; margin:0 -3px; box-sizing:content-box; overscroll-behavior-inline:contain; scrollbar-width:thin; }
.nln-lookbook[data-ready] .nln-gallery-track { scrollbar-width:none; }
.nln-lookbook[data-ready] .nln-gallery-track::-webkit-scrollbar { display:none; }
.nln-lookbook .nln-gallery-track .nln-look-card { display:flex; flex-direction:column; min-width:0; max-width:none; margin:0; border:1px solid #e5d6ee; border-radius:18px; background:#fff; scroll-snap-align:start; box-shadow:0 5px 16px #56226b0a; overflow:hidden; }
.nln-look-card-art { display:flex; align-items:center; justify-content:center; position:relative; min-height:174px; padding:26px 36px; background:linear-gradient(145deg,#f8f4ff,#e9e4f8); }
.nln-look-card:nth-child(2n) .nln-look-card-art { background:linear-gradient(145deg,#fff2f8,#f5dbea); }
.nln-look-card:nth-child(3n) .nln-look-card-art { background:linear-gradient(145deg,#fff3ec,#f9dfd8); }
.nln-lookbook .nln-gallery-track .nln-look-card img { display:block; width:156px; max-width:100%; height:auto; max-height:none; object-fit:contain; aspect-ratio:auto 87/66; border:6px solid #fff; border-radius:6px; box-shadow:0 6px 16px #3f164d20; transform:rotate(-4deg); }
.nln-lookbook .nln-gallery-track .nln-look-card:nth-child(even) img { transform:rotate(4deg); }
.nln-look-number { position:absolute; top:14px; left:16px; font-size:12px; color:#774d88; line-height:1.4; }
.nln-look-spark { position:absolute; right:17px; bottom:13px; color:#ec0085; font-size:27px; line-height:1; }
.nln-look-card figcaption { display:flex; flex-direction:column; gap:8px; padding:20px; flex:1; }
.nln-look-label { font-size:10px; line-height:1.4; color:#9c427d; letter-spacing:.1em; text-transform:uppercase; }
body.nln-services-page .nln-look-card h3,.editor-styles-wrapper .nln-look-card h3 { font-size:clamp(23px,2vw,31px); line-height:1.1; margin:0; color:#4a0a59; white-space:normal; }
.nln-lookbook .nln-lookbook-hint { font-size:12px; line-height:1.5; color:#6a547e; margin:6px 0 0; }
.nln-lookbook :is(button,.nln-gallery-track):focus-visible { outline:3px solid #7022ac; outline-offset:3px; }
body.nln-services-page .nln-gallery>.nln-color-catalog { margin-top:24px; padding:0 22px; border:1px solid #dfcde9; border-radius:14px; background:#ffffffba; }
body.nln-services-page .nln-gallery>.nln-color-catalog:not([open]) { height:auto; margin-top:24px; }
body.nln-services-page .nln-gallery>.nln-color-catalog>summary { position:static; inset:auto; min-height:56px; padding:16px 0; font-size:15px; line-height:1.5; color:#a60062; text-decoration:none; }
body.nln-services-page .nln-gallery>.nln-color-catalog[open] { padding-bottom:22px; }
body.nln-services-page .nln-gallery>.nln-color-catalog>p { font-size:14px; line-height:1.5; }
@media(max-width:1100px) { .nln-lookbook .nln-gallery-track { grid-auto-columns:calc((100% - 40px)/3); } }
@media(max-width:800px) {
 .nln-lookbook .nln-gallery-track { grid-auto-columns:calc((100% - 20px)/2.3); }
 .nln-lookbook-toolbar { align-items:flex-start; }
 .nln-lookbook-controls { flex-direction:column; align-items:flex-end; gap:8px; }
}
@media(max-width:540px) {
 body.nln-services-page .nln-gallery { padding-block:32px; }
 body.nln-services-page .nln-gallery>h2 { font-size:44px; line-height:1.05; }
 .nln-lookbook-toolbar { display:block; margin-bottom:18px; }
 .nln-lookbook-toolbar>p { font-size:15px; }
 .nln-lookbook-controls { flex-direction:row; justify-content:space-between; align-items:center; gap:16px; margin-top:18px; }
 .nln-lookbook :is(.nln-gallery-prev,.nln-gallery-next) { width:44px; height:44px; min-width:44px; min-height:44px; }
 .nln-lookbook .nln-gallery-track { grid-auto-columns:82%; gap:14px; }
 .nln-look-card-art { min-height:174px; }
 .nln-look-card figcaption { padding:18px; }
 body.nln-services-page .nln-look-card h3 { font-size:28px; }
 body.nln-services-page .nln-gallery>.nln-color-catalog { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) { .nln-lookbook button { transition:none; } }
