:root { --yellow:#ffe500; --black:#090a0b; --gray:#97989a; --library-hero-top:90px; --library-hero-bottom:70px; --library-photo-height:360px; --library-editor-scale:1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:#fff; font-family:Inter,sans-serif; }
a { color:inherit; }
header { position:sticky; top:0; z-index:20; height:88px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; background:rgba(8,9,10,.95); border-bottom:1px solid #2b2c2e; backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; width:max-content; text-decoration:none; transform-origin:left center; }
.brand-logo-crop { display:flex; align-items:center; width:132px; height:70px; overflow:visible; flex:none; }
.brand-logo-crop img { display:block; width:132px; max-height:70px; object-fit:contain; object-position:left center; }
.brand-country { margin-left:8px; padding-left:8px; border-left:1px solid rgba(255,255,255,.4); color:#fff; font:600 10px/1 Inter,sans-serif; letter-spacing:.22em; }
.back { display:inline-flex; align-items:center; gap:11px; padding:13px 17px; border:1px solid var(--yellow); background:var(--yellow); color:#08090a; text-decoration:none; text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.13em; transition:background .2s ease,color .2s ease,transform .2s ease; }
.back span { font-size:16px; line-height:0; }
.back .back-desktop-label,.back .back-mobile-label { font-size:inherit; line-height:inherit; }
.back-mobile-label { display:none; }
.back:hover { background:transparent; color:#fff; transform:translateX(-3px); }
main { min-height:calc(100vh - 88px); padding:var(--library-hero-top) 6vw 120px; }
.library-hero { display:grid; grid-template-columns:1fr minmax(240px,440px); gap:24px 70px; align-items:end; margin-bottom:var(--library-hero-bottom); }
.eyebrow { grid-column:1/-1; display:flex; align-items:center; gap:13px; margin:0; color:#b9babc; text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.18em; }
.eyebrow i { width:34px; height:3px; background:var(--yellow); }
h1 { margin:0; max-width:900px; text-transform:uppercase; font:900 clamp(70px,10vw,150px)/.78 "Barlow Condensed",sans-serif; letter-spacing:-.045em; }
.intro { margin:0; color:var(--gray); font-size:14px; line-height:1.8; }
.library-hero-side { display:flex; min-width:0; height:100%; flex-direction:column; align-items:flex-end; justify-content:flex-end; gap:24px; }
.library-hero-side .intro { width:100%; }
.library-shop-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; max-width:100%; padding:15px 20px; border:1px solid var(--yellow); background:var(--yellow); color:#08090a; text-decoration:none; text-transform:uppercase; font:900 10px/1.2 Inter,sans-serif; letter-spacing:.1em; transition:background .2s ease,color .2s ease,transform .2s ease; }
.library-shop-button b { font-size:15px; line-height:1; }
.library-shop-button:hover { background:transparent; color:#fff; transform:translateY(-2px); }
.library-shop-button[aria-disabled="true"] { cursor:default; }
.library-shop-footer { display:flex; justify-content:center; padding-top:64px; }
.yellow-rule { grid-column:1/-1; height:8px; background:var(--yellow); }
.media-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.media-card { position:relative; grid-column:span 1; min-width:0; background:#151617; }
.media-card img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
.media-caption { display:none; }
.empty { grid-column:1/-1; display:grid; place-items:center; align-content:center; min-height:340px; border:1px dashed #3b3c3e; color:#777; text-align:center; }
.empty strong { color:#fff; text-transform:uppercase; font:800 30px/1 "Barlow Condensed",sans-serif; }
.empty span { margin-top:12px; font-size:11px; }
.customize-library { position:fixed; right:18px; bottom:18px; z-index:30; padding:13px 17px; border:1px solid var(--yellow); background:#0a0b0c; color:#fff; cursor:pointer; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.14em; }
.library-editor { position:fixed; z-index:40; inset:0 0 0 auto; width:min(410px,100vw); padding:22px; overflow:auto; background:#101112; box-shadow:-20px 0 60px rgba(0,0,0,.5); transform:translateX(105%); transition:transform .25s ease; }
.library-editor.open { transform:translateX(0); }
.editor-head { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #303133; padding-bottom:16px; }
.editor-head h2 { margin:0; text-transform:uppercase; font:900 38px/1 "Barlow Condensed",sans-serif; }
.editor-head button { width:38px; height:38px; border:1px solid #444; background:transparent; color:#fff; cursor:pointer; font-size:20px; }
.library-editor > p { padding:13px; border-left:3px solid var(--yellow); background:#1a1b1d; color:#aaa; font-size:11px; line-height:1.6; }
.add-media,.done { width:100%; padding:14px; border:1px solid var(--yellow); background:var(--yellow); color:#08090a; cursor:pointer; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.13em; }
.done { margin-top:16px; background:#1b1c1e; border-color:#4a4b4d; color:#fff; }
.editor-items { display:grid; gap:12px; margin-top:18px; }
.editor-item { display:grid; grid-template-columns:74px 1fr 34px; gap:10px; padding:9px; border:1px solid #333436; background:#171819; }
.editor-item img { width:74px; height:74px; object-fit:cover; }
.editor-item textarea { width:100%; min-height:74px; resize:vertical; border:1px solid #3d3e40; background:#0f1011; color:#fff; padding:9px; font:11px/1.5 Inter,sans-serif; }
.editor-item button { border:0; background:transparent; color:#fff; cursor:pointer; font-size:20px; }
.editor-item-actions { display:grid; align-content:center; gap:2px; }
.editor-item-actions button { display:grid; place-items:center; min-width:30px; min-height:28px; border:1px solid #414244; font-size:15px; line-height:1; }
.editor-item-actions button:hover:not(:disabled) { border-color:var(--yellow); color:var(--yellow); }
.editor-item-actions button:disabled { opacity:.25; cursor:not-allowed; }
.editor-item-actions .remove { color:#ff9e91; font-size:20px; }
.media-order-handle { position:absolute; z-index:5; top:10px; right:10px; display:none; place-items:center; width:42px; height:42px; border:1px solid var(--yellow); background:rgba(8,9,10,.88); color:var(--yellow); cursor:grab; touch-action:none; font:900 18px/1 Inter,sans-serif; letter-spacing:-.18em; }
body.is-editing .media-order-handle { display:grid; }
.media-card.dragging { opacity:.45; }
.media-card.drop-target { outline:3px solid var(--yellow); outline-offset:-3px; }
.toast { position:fixed; left:50%; bottom:24px; z-index:60; opacity:0; transform:translate(-50%,15px); padding:11px 16px; background:#fff; color:#111; font-size:12px; transition:.2s ease; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.library-lightbox { position:fixed; z-index:100; inset:0; display:none; place-items:center; padding:60px; background:rgba(3,4,5,.94); backdrop-filter:blur(10px); }
.library-lightbox.is-open { display:grid; }
.library-lightbox-stage { display:grid; place-items:center; width:100%; height:100%; overflow:hidden; }
.library-lightbox-stage img { display:block; max-width:94%; max-height:94%; object-fit:contain; }
.library-lightbox-close,.library-lightbox-nav { position:absolute; z-index:3; border:1px solid var(--yellow); background:#0b0c0d; color:#fff; cursor:pointer; }
.library-lightbox-close { top:18px; right:18px; width:44px; height:44px; font-size:26px; }
.library-lightbox-nav { top:50%; width:54px; height:70px; transform:translateY(-50%); background:rgba(11,12,13,.82); font-size:28px; }
.library-lightbox-nav.previous { left:20px; }
.library-lightbox-nav.next { right:20px; }
.library-lightbox-nav:hover,.library-lightbox-close:hover { background:var(--yellow); color:#090a0b; }
.library-lightbox-nav[hidden] { display:none; }
.library-lightbox-download { position:absolute; z-index:3; top:18px; left:18px; display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:0 15px; border:1px solid var(--yellow); background:#0b0c0d; color:#fff; text-decoration:none; text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.11em; }
.library-lightbox-download:hover { background:var(--yellow); color:#090a0b; }
.library-lightbox-download span { font-size:18px; line-height:1; }
@media (min-width:801px) { .library-lightbox-stage img { width:auto; height:auto; max-width:calc(100vw - 180px); max-height:calc(100dvh - 120px); object-fit:contain; } }
@media (max-width:800px) {
  header { height:76px; padding:0 18px; gap:18px; }
  .brand-logo-crop { width:112px; height:60px; }
  .brand-logo-crop img { width:112px; max-height:60px; }
  .brand-country { margin-left:6px; padding-left:6px; font-size:8px; }
  .back { flex:none; gap:7px; max-width:142px; padding:10px 11px; font-size:8px; white-space:nowrap; }
  .back .back-arrow { font-size:13px; }
  .back-desktop-label { display:none; }
  .back-mobile-label { display:inline; }
  main { padding:70px 22px 100px; }
  .library-hero { grid-template-columns:1fr; }
  .library-hero-side { align-items:flex-start; }
  .yellow-rule { grid-column:1; }
  .library-shop-button b { width:16px; height:16px; flex:none; overflow:hidden; background:#08090a; color:#08090a; font-size:0; line-height:0; -webkit-text-fill-color:transparent; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M9 6h9v9' fill='none' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M9 6h9v9' fill='none' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center/contain no-repeat; }
  .library-shop-button b::before,.library-shop-button b::after { content:none; }
  .media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .media-card,.media-card:nth-child(5n+1),.media-card:nth-child(5n+4) { grid-column:span 1; min-width:0; }
  .media-card img,.media-card:nth-child(5n+1) img,.media-card:nth-child(5n+4) img { height:auto; aspect-ratio:1/1; }
  .media-caption { display:none; }
}
@media (max-width:520px) { .media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .media-card,.media-card:nth-child(5n+1),.media-card:nth-child(5n+4) { grid-column:span 1; } .editor-item { grid-template-columns:60px 1fr 34px; } .editor-item img { width:60px; height:60px; } }

/* Full library customization */
.editor-head > div:first-child { display:flex; align-items:center; gap:12px; }
.history { display:flex; gap:5px; }
.history button { height:32px; padding:0 8px; border:1px solid #505154; background:#1b1c1e; color:#fff; cursor:pointer; text-transform:uppercase; font-size:8px; font-weight:800; }
.history button:disabled { opacity:.28; cursor:not-allowed; }
.editor-scroll { padding-bottom:90px; }
.editor-note { padding:13px; border-left:3px solid var(--yellow); background:#1a1b1d; color:#aaa; font-size:11px; line-height:1.6; }
.editor-note.compact { margin:12px 0; padding:9px 10px; }
.editor-group { padding:20px 0; border-top:1px solid #303133; }
.editor-group h3 { margin:0 0 14px; text-transform:uppercase; font:800 18px/1 "Barlow Condensed",sans-serif; letter-spacing:.06em; }
.editor-group label { display:block; margin:13px 0; color:#c5c6c7; font-size:10px; }
.editor-group label output { float:right; }
.editor-group input[type="range"],.editor-group select,.editor-group input[type="color"],.editor-group input[type="url"] { width:100%; margin-top:8px; accent-color:var(--yellow); }
.editor-group select { padding:10px; border:1px solid #414244; background:#18191b; color:#fff; }
.editor-group input[type="url"] { padding:10px; border:1px solid #414244; background:#18191b; color:#fff; font:11px/1.3 Inter,sans-serif; }
.editor-group input[type="color"] { height:40px; padding:3px; border:1px solid #414244; background:#18191b; }
.editor-group button,.primary { width:100%; padding:12px; border:1px solid #4a4b4d; background:#1b1c1e; color:#fff; cursor:pointer; text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.1em; }
.editor-group .primary { border-color:var(--yellow); background:var(--yellow); color:#08090a; }
.editor-group .danger { color:#ffb5a7; }
.editor-items .editor-item { cursor:grab; }
.editor-item.dragging { opacity:.4; }
.editor-item.drop-target { border-color:var(--yellow); }
.editor-item textarea { cursor:text; }
.editor-item button { width:auto; padding:0; }
body.is-editing { padding-right:0; overflow-x:hidden; }
.library-editor-canvas { position:relative; transform-origin:top left; transition:transform .25s ease; }
body.is-editing .library-editor-canvas { transform:scale(var(--library-editor-scale)); }
body.is-editing [data-lib-text],body.is-editing .media-caption { outline:1px dashed rgba(255,229,0,.7); outline-offset:4px; cursor:text; }
body.is-editing .media-card img { outline:2px dashed var(--yellow); outline-offset:-5px; cursor:grab; touch-action:none; }
body.is-editing .brand { outline:2px dashed var(--yellow); outline-offset:5px; cursor:pointer; }
[data-outline="filled"],[data-outline="filled"] * { color:inherit!important; -webkit-text-stroke:0 transparent!important; }
[data-outline="outlined"],[data-outline="outlined"] * { color:transparent!important; -webkit-text-stroke:inherit!important; }
.direct-controls { position:fixed; z-index:45; display:none; pointer-events:none; border:2px solid var(--yellow); }
.direct-controls.visible { display:block; }
.direct-controls > span { position:absolute; top:-29px; left:20px; width:max-content; padding:6px 8px; background:#08090a; text-transform:uppercase; font-size:8px; font-weight:800; }
.direct-controls button { position:absolute; display:grid; place-items:center; width:30px; height:30px; border:2px solid #08090a; border-radius:50%; background:var(--yellow); color:#08090a; pointer-events:auto; cursor:grab; touch-action:none; }
.move-handle { left:-16px; top:-16px; }
.width-handle { display:none!important; right:-16px; top:50%; transform:translateY(-50%); cursor:ew-resize!important; }
.direct-controls.can-resize-width .width-handle { display:grid!important; }
.resize-handle { right:-16px; bottom:-16px; cursor:nwse-resize!important; }
.align-guide { position:fixed; z-index:44; display:none; pointer-events:none; background:var(--yellow); }
.align-guide.visible { display:block; }
.align-guide.horizontal { left:0; right:min(410px,100vw); height:1px; }
.align-guide.vertical { top:0; bottom:0; width:1px; }
@media (max-width:760px) { body.is-editing { padding-right:0; } .library-editor { width:100vw; } .editor-head h2 { font-size:30px; } }
