/* LOT420 Catalogue - country popup.
 * Loaded as a real stylesheet after Elementor so it wins the cascade.
 * Elementor's global kit styles every button and link, so this opens with a
 * hard reset scoped to .lot420-popup before styling anything.
 */

/* 1. Neutralise Elementor wrappers so the popup can fill its shell. */
.elementor-widget-shortcode:has(.lot420-popup),
.elementor-widget-shortcode:has(.lot420-popup) > .elementor-widget-container,
.elementor-widget-shortcode:has(.lot420-popup) .elementor-shortcode,
.e-con:has(.lot420-popup),
.e-con-inner:has(.lot420-popup){height:100%!important;padding:0!important;margin:0!important}
.elementor-popup-modal:has(.lot420-popup) .dialog-message{padding:0!important;overflow:hidden!important}

/* 2. Hard reset inside the popup. */
.lot420-popup,.lot420-popup *{box-sizing:border-box!important}
.lot420-popup button{appearance:none!important;-webkit-appearance:none!important;background:none!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;min-width:0!important;width:auto!important;color:inherit!important;font-family:inherit!important;font-size:inherit!important;font-weight:400!important;line-height:normal!important;letter-spacing:normal!important;text-transform:none!important;text-shadow:none!important;text-align:left!important;cursor:pointer!important}
.lot420-popup button:hover,.lot420-popup button:focus,.lot420-popup button:active{background:none!important;box-shadow:none!important;outline:none!important;transform:none}
.lot420-popup p,.lot420-popup h4{margin:0!important;padding:0!important}
.lot420-popup img{display:block!important;max-width:none!important;border-radius:0!important;box-shadow:none!important}
.lot420-popup a{text-decoration:none!important;box-shadow:none!important}

/* 3. Shell. */
.lot420-popup{display:flex!important;flex-direction:column!important;height:auto!important;background:#fff!important;color:#2F2C2D!important;font-family:'Roboto Mono',monospace!important;overflow:hidden!important}

/* 4. Top bar. Title is absolutely centred on the whole bar, not on the space
   left over beside the tabs, so it lines up with the popup's centre. */
.lot420-bar{position:relative!important;display:flex!important;align-items:stretch!important;flex:none!important;min-height:52px!important;border-bottom:1px solid #2F2C2D!important;background:#fff!important}
.lot420-tabs{display:flex!important;flex:none!important;position:relative!important;z-index:2!important}
.lot420-popup button.lot420-tab{width:52px!important;flex:none!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#ECECEC!important;border-right:1px solid #2F2C2D!important;transition:background .15s!important}
.lot420-popup button.lot420-tab img{width:22px!important;height:22px!important;opacity:.5!important;transition:opacity .15s!important}
.lot420-popup button.lot420-tab:hover img{opacity:.8!important}
.lot420-popup button.lot420-tab.is-active{background:#fff!important;box-shadow:inset 0 0 0 2px #E74400!important}
.lot420-popup button.lot420-tab.is-active img{opacity:1!important}
.lot420-popup .lot420-title{position:absolute!important;left:0!important;right:0!important;top:0!important;bottom:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;pointer-events:none!important;z-index:1!important;font-family:'Roboto Mono',monospace!important;font-size:16px!important;font-weight:400!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#2F2C2D!important;line-height:1.2!important}

/* 5. Body split. Fixed height by design: opening a product must never resize
   the window or push the map around. The right column scrolls instead. */
.lot420-body{display:flex!important;flex:none!important;height:470px!important;min-height:0!important;max-height:470px!important}
.lot420-left{width:50%!important;flex:none!important;display:flex!important;flex-direction:column!important;padding:26px!important;border-right:1px solid #2F2C2D!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.lot420-right{width:50%!important;flex:none!important;padding:8px 30px 26px!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;scroll-behavior:smooth!important}
.lot420-right::-webkit-scrollbar{width:8px}
.lot420-right::-webkit-scrollbar-track{background:transparent}
.lot420-right::-webkit-scrollbar-thumb{background:#D2D0CD;border-radius:0}
.lot420-right::-webkit-scrollbar-thumb:hover{background:#B4B1AD}
.lot420-right{scrollbar-width:thin!important;scrollbar-color:#D2D0CD transparent!important}

/* 6. Image panel. */
.lot420-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:8px!important;flex:1 1 auto!important;min-height:0!important}
.lot420-cell{background-color:#EDEDED!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;min-height:0!important}
.lot420-cell--hint{background-color:#1C1C1C!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:14px!important}
.lot420-cell--hint span{font-size:11px!important;letter-spacing:.1em!important;line-height:1.9!important;color:#fff!important;text-transform:uppercase!important}
.lot420-cell--hint em{font-style:normal!important;color:#E74400!important}
.lot420-solo{position:relative!important;flex:1 1 auto!important;min-height:0!important;background-color:#EDEDED!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.lot420-popup button.lot420-arw{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(0,0,0,.5)!important;color:#fff!important;font-size:18px!important;z-index:2!important}
.lot420-popup button.lot420-arw:hover{background:rgba(0,0,0,.72)!important}
.lot420-arw--p{left:8px!important}
.lot420-arw--n{right:8px!important}

/* 7. Accordion. */
.lot420-item{border-bottom:1px solid #C9C7C4!important}
.lot420-popup button.lot420-hd{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:20px 2px 20px 0!important;background:none!important;font-family:'Roboto Mono',monospace!important}
.lot420-popup .lot420-hd .n{font-size:18px!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#2F2C2D!important;line-height:1.25!important;transition:color .15s!important}
/* Chevron drawn in CSS so it stays crisp and matches the thin stroke used
   throughout the site, rather than relying on a font glyph. */
.lot420-popup .lot420-hd .c{flex:none!important;display:block!important;width:10px!important;height:10px!important;margin-right:4px!important;border:0!important;border-right:1.5px solid #2F2C2D!important;border-bottom:1.5px solid #2F2C2D!important;transform:translateY(-3px) rotate(45deg)!important;transition:transform .22s,border-color .15s!important}
.lot420-popup button.lot420-hd:hover .n{color:#E74400!important}
.lot420-popup button.lot420-hd:hover .c{border-right-color:#E74400!important;border-bottom-color:#E74400!important}
.lot420-item.is-open .lot420-hd .n{color:#E74400!important}
.lot420-item.is-open .lot420-hd .c{border-right-color:#E74400!important;border-bottom-color:#E74400!important;transform:translateY(2px) rotate(-135deg)!important}
.lot420-bd{padding:2px 0 26px!important}

/* 8. Detail content - layout C: story first, then a bounded meta block. */
.lot420-popup p.lot420-story{margin:0 0 20px!important;font-size:14px!important;line-height:1.85!important;color:#2F2C2D!important;font-weight:400!important}
.lot420-meta{margin:0 0 20px!important;padding:0!important;border-top:1px solid #C9C7C4!important;border-bottom:1px solid #C9C7C4!important}
.lot420-mrow{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;padding:13px 0!important;margin:0!important}
.lot420-mrow+.lot420-mrow{border-top:1px solid #EAE8E5!important}
.lot420-mrow dt{flex:none!important;margin:0!important;font-size:9.5px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#9A9793!important;padding-top:5px!important}
.lot420-mrow dd{flex:1!important;margin:0!important;font-size:12.5px!important;line-height:1.55!important;text-align:right!important;min-width:0!important;color:#2F2C2D!important;display:flex!important;justify-content:flex-end!important;align-items:center!important}
.lot420-mrow dd.is-orange{color:#E74400!important;display:block!important}
.lot420-meta .lot420-grams{margin:0!important}
.lot420-meta .lot420-gram{height:28px!important;min-width:40px!important;font-size:10.5px!important}

/* 8b. Legacy blocks kept for the list and grid. */
.lot420-grams{display:flex!important;flex-wrap:wrap!important;gap:0!important;margin:0 0 14px!important}
.lot420-gram{min-width:40px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 6px!important;border:1px solid #2F2C2D!important;background:#fff!important;color:#2F2C2D!important;font-size:11px!important;font-weight:500!important;font-family:'IBM Plex Mono','Roboto Mono',monospace!important}
.lot420-gram+.lot420-gram{border-left:0!important}
.lot420-brandtag{display:inline-flex!important;align-items:center!important;height:32px!important;margin-left:8px!important;padding:0 9px!important;border:1px solid #2F2C2D!important;background:#2F2C2D!important;color:#fff!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.lot420-popup p.lot420-available{margin:0 0 12px!important;font-size:12px!important;font-weight:400!important;color:#E74400!important;letter-spacing:.03em!important;line-height:1.6!important}
.lot420-popup p.lot420-thc{margin:0 0 10px!important;font-size:14px!important;font-weight:500!important;color:#2F2C2D!important;line-height:1.5!important}
.lot420-popup p.lot420-desc{margin:0 0 18px!important;font-size:13px!important;font-weight:400!important;color:#6B6B6B!important;line-height:1.8!important}
.lot420-popup a.lot420-cta{display:inline-block!important;padding:13px 22px!important;background:#E74400!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:'Roboto Mono',monospace!important;font-size:12px!important;font-weight:400!important;letter-spacing:.13em!important;text-transform:uppercase!important;line-height:1!important;transition:background .15s!important}
.lot420-popup a.lot420-cta:hover{background:#C93A00!important;color:#fff!important}
.lot420-soon{display:inline-block!important;margin-left:9px!important;padding:2px 7px!important;border:1px solid #E0CD9A!important;background:#FDF3DC!important;color:#8A6A00!important;font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important;vertical-align:2px!important}
/* Out of stock: the client wants sold-out products still listed, so this is a
   quiet state marker rather than anything alarming. */
.lot420-oos,.lot420-list .lot420-oos{display:inline-block!important;margin-left:9px!important;padding:2px 7px!important;border:1px solid #C9C7C4!important;background:#F4F2F0!important;color:#8A8783!important;font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important;vertical-align:2px!important;font-family:'Roboto Mono',monospace!important;white-space:nowrap!important}
.lot420-mrow dd.is-muted{color:#8A8783!important;display:block!important}
.lot420-empty{padding:50px 18px!important;text-align:center!important;color:#9A9A9A!important;font-size:12px!important;letter-spacing:.06em!important;line-height:1.9!important}
.lot420-pane[hidden],.lot420-bd[hidden],.lot420-grid[hidden],.lot420-solo[hidden]{display:none!important}

/* 10. Motion. Everything eases on the same curve so the popup feels like one
   object rather than a set of parts reacting independently. */
.lot420-popup{--lot-ease:cubic-bezier(.22,.68,.28,1)}

/* Image panel cross-fades instead of snapping between shots. */
.lot420-grid,.lot420-solo{opacity:1!important;transition:opacity .26s var(--lot-ease)!important}
.lot420-grid.is-fade,.lot420-solo.is-fade{opacity:0!important}

/* Grid tiles land in sequence the first time a tab is shown. */
.lot420-grid:not([hidden]) .lot420-cell{animation:lotTile .42s var(--lot-ease) backwards}
.lot420-grid:not([hidden]) .lot420-cell:nth-child(1){animation-delay:0ms}
.lot420-grid:not([hidden]) .lot420-cell:nth-child(2){animation-delay:45ms}
.lot420-grid:not([hidden]) .lot420-cell:nth-child(3){animation-delay:90ms}
.lot420-grid:not([hidden]) .lot420-cell:nth-child(4){animation-delay:135ms}
@keyframes lotTile{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

/* Detail content settles in rather than appearing instantly. */
.lot420-bd:not([hidden]){animation:lotOpen .34s var(--lot-ease)}
@keyframes lotOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lot420-bd:not([hidden]) .lot420-grams{animation:lotRise .38s var(--lot-ease) 40ms backwards}
.lot420-bd:not([hidden]) .lot420-available{animation:lotRise .38s var(--lot-ease) 80ms backwards}
.lot420-bd:not([hidden]) .lot420-thc{animation:lotRise .38s var(--lot-ease) 110ms backwards}
.lot420-bd:not([hidden]) .lot420-desc{animation:lotRise .38s var(--lot-ease) 140ms backwards}
.lot420-bd:not([hidden]) .lot420-cta{animation:lotRise .38s var(--lot-ease) 180ms backwards}
@keyframes lotRise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Accordion rows warm up on hover. */
.lot420-popup button.lot420-hd{transition:padding-left .22s var(--lot-ease)!important}
.lot420-popup button.lot420-hd:hover{padding-left:5px!important}
.lot420-item{transition:border-color .2s var(--lot-ease)!important}
.lot420-item.is-open{border-bottom-color:#2F2C2D!important}

/* Arrows fade in with the image, and lift on hover. */
.lot420-popup button.lot420-arw{opacity:0!important;transition:opacity .24s var(--lot-ease),background .18s var(--lot-ease),transform .18s var(--lot-ease)!important}
.lot420-solo:hover button.lot420-arw,.lot420-solo:focus-within button.lot420-arw{opacity:1!important}
.lot420-popup button.lot420-arw:hover{background:rgba(0,0,0,.78)!important;transform:translateY(-50%) scale(1.06)!important}

/* CTA gets a small lift so it reads as pressable. */
.lot420-popup a.lot420-cta{transition:background .18s var(--lot-ease),transform .18s var(--lot-ease),box-shadow .18s var(--lot-ease)!important}
.lot420-popup a.lot420-cta:hover{transform:translateY(-1px)!important;box-shadow:0 6px 16px -6px rgba(231,68,0,.7)!important}
.lot420-popup a.lot420-cta:active{transform:translateY(0)!important}

/* Tabs. */
.lot420-popup button.lot420-tab{transition:background .2s var(--lot-ease),box-shadow .2s var(--lot-ease)!important}

@media (prefers-reduced-motion:reduce){
.lot420-popup *,.lot420-popup *::before,.lot420-popup *::after{animation:none!important;transition:none!important}
.lot420-popup button.lot420-arw{opacity:1!important}
}

/* ==================================================================
   PRODUCT LIST - the FLOWERS / PRE-ROLLS / HASH accordion on /products/
   ================================================================== */
.lot420-list{font-family:'Roboto Mono',monospace!important;color:#2F2C2D!important;--lot-ease:cubic-bezier(.22,.68,.28,1)}
.lot420-list *{box-sizing:border-box!important}
.lot420-list button{appearance:none!important;-webkit-appearance:none!important;background:none!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;width:auto!important;color:inherit!important;font-family:inherit!important;font-weight:400!important;line-height:normal!important;text-transform:none!important;text-align:left!important;cursor:pointer!important}
.lot420-list button:hover,.lot420-list button:focus{background:none!important;box-shadow:none!important;outline:none!important}
.lot420-list p,.lot420-list h3{margin:0!important;padding:0!important}
.lot420-list a{text-decoration:none!important;box-shadow:none!important}

/* Section header */
.lot420-sec{border-top:1px solid #ADAAA5!important}
.lot420-sec:last-child{border-bottom:1px solid #ADAAA5!important}
.lot420-list button.lot420-sec-hd{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:14px 22px!important;background:#fff!important;transition:background .18s var(--lot-ease)!important}
.lot420-list button.lot420-sec-hd:hover{background:#FAF9F8!important}
.lot420-list .lot420-sec-hd .t{font-size:12px!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#E74400!important}
.lot420-list .lot420-sec-hd .c{flex:none!important;display:block!important;width:9px!important;height:9px!important;border-right:1.5px solid #E74400!important;border-bottom:1.5px solid #E74400!important;transform:translateY(-3px) rotate(45deg)!important;transition:transform .24s var(--lot-ease)!important}
.lot420-sec.is-open .lot420-sec-hd .c{transform:translateY(2px) rotate(-135deg)!important}
.lot420-sec-bd[hidden]{display:none!important}

/* Row: number rail, photo, copy.
   Border colour is deliberately darker than a hairline grey: the original
   design reads the separators as structure, not as faint dividers. */
.lot420-row{display:grid!important;grid-template-columns:58px 280px 1fr!important;align-items:stretch!important;border-top:1px solid #ADAAA5!important;background:#fff!important;transition:background .2s var(--lot-ease)!important}
.lot420-row:hover{background:#FCFBFA!important}
.lot420-num{display:flex!important;align-items:center!important;justify-content:center!important;border-right:1px solid #ADAAA5!important;font-size:12px!important;letter-spacing:.2em!important;color:#A9A6A2!important;writing-mode:vertical-rl!important;transform:rotate(180deg)!important}
.lot420-shot{position:relative!important;overflow:hidden!important;background-color:#EDEDED!important;border-right:1px solid #ADAAA5!important;min-height:235px!important}
.lot420-list img.lot420-shot-img,
.lot420-gen img.lot420-shot-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block!important;border-radius:0!important;opacity:0!important;transition:opacity .35s var(--lot-ease)!important}
.lot420-list img.lot420-shot-img.is-in,
.lot420-gen img.lot420-shot-img.is-in{opacity:1!important}
.lot420-info{display:flex!important;flex-direction:column!important;padding:24px 34px!important;min-width:0!important}
/* The rule under the product name spans the full info column, so it is pulled
   out past the column padding rather than sitting inside it. */
.lot420-list .lot420-name{font-family:'Roboto Mono',monospace!important;font-size:26px!important;font-weight:400!important;letter-spacing:.05em!important;text-transform:uppercase!important;color:#2F2C2D!important;line-height:1.15!important;margin:0 -34px 22px!important;padding:0 34px 20px!important;border-bottom:1px solid #ADAAA5!important}
.lot420-list p.lot420-blurb{font-size:14px!important;line-height:1.9!important;color:#6B6B6B!important;margin:0 0 22px!important;max-width:980px!important}
.lot420-row-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-top:auto!important;flex-wrap:wrap!important}
.lot420-thc-tag{font-size:13px!important;letter-spacing:.08em!important;color:#6B6B6B!important;white-space:nowrap!important}
.lot420-list a.lot420-cta{display:inline-block!important;padding:14px 22px!important;background:#E74400!important;color:#fff!important;font-family:'Roboto Mono',monospace!important;font-size:12px!important;letter-spacing:.13em!important;text-transform:uppercase!important;line-height:1!important;transition:background .18s var(--lot-ease),transform .18s var(--lot-ease),box-shadow .18s var(--lot-ease)!important}
.lot420-list a.lot420-cta:hover{background:#C93A00!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 6px 16px -6px rgba(231,68,0,.7)!important}
.lot420-list .lot420-soon{display:inline-block!important;margin-left:10px!important;padding:3px 8px!important;border:1px solid #E0CD9A!important;background:#FDF3DC!important;color:#8A6A00!important;font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important;vertical-align:4px!important}

/* Rows ease in as a section opens */
.lot420-sec-bd:not([hidden]) .lot420-row{animation:lotRowIn .38s var(--lot-ease) backwards}
.lot420-sec-bd:not([hidden]) .lot420-row:nth-child(1){animation-delay:0ms}
.lot420-sec-bd:not([hidden]) .lot420-row:nth-child(2){animation-delay:35ms}
.lot420-sec-bd:not([hidden]) .lot420-row:nth-child(3){animation-delay:70ms}
.lot420-sec-bd:not([hidden]) .lot420-row:nth-child(4){animation-delay:105ms}
.lot420-sec-bd:not([hidden]) .lot420-row:nth-child(n+5){animation-delay:140ms}
@keyframes lotRowIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:900px){
.lot420-row{grid-template-columns:44px 190px 1fr!important}
.lot420-shot{min-height:190px!important}
.lot420-list .lot420-name{font-size:20px!important;margin:0 -22px 18px!important;padding:0 22px 16px!important}
.lot420-list p.lot420-blurb{font-size:13px!important}
.lot420-info{padding:20px 22px!important}
}
@media (max-width:600px){
.lot420-list .lot420-name{margin:0 -18px 16px!important;padding:0 18px 14px!important}
.lot420-info{padding:18px!important}
}
@media (max-width:600px){
.lot420-row{grid-template-columns:34px 1fr!important}
.lot420-shot{grid-column:1/-1!important;grid-row:2!important;border-right:0!important;border-top:1px solid #ADAAA5!important;min-height:220px!important}
.lot420-num{grid-row:1!important}
.lot420-info{grid-row:1!important}
}
@media (prefers-reduced-motion:reduce){
.lot420-list *{animation:none!important;transition:none!important}
}

/* ==================================================================
   GENETICS GRID - the two-column strain cards on /genetics/
   ================================================================== */
/* Cards touch along the x axis and are separated by a clear band on the y.
   The wrapper carries the outer vertical rules so they run unbroken through
   the gap between rows, the way the original spacer containers did. */
.lot420-gen{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:0!important;row-gap:40px!important;border-left:1px solid #ADAAA5!important;border-right:1px solid #ADAAA5!important;font-family:'Roboto Mono',monospace!important;color:#2F2C2D!important;--lot-ease:cubic-bezier(.22,.68,.28,1)}
.lot420-gen *{box-sizing:border-box!important}
.lot420-gen p{margin:0!important;padding:0!important}
.lot420-gen h3{margin:0!important;padding:0!important}
.lot420-gen a{text-decoration:none!important;box-shadow:none!important}

/* The card draws every hairline with a 1px grid gap over a dark backing,
   so the internal rules stay perfectly aligned without stacked borders.
   Outer sides are stated individually so nothing in the theme can drop one. */
.lot420-gen-card{display:grid!important;grid-template-columns:236px 1fr!important;grid-template-rows:auto 1fr auto!important;gap:1px!important;background:#ADAAA5!important;border-top:1px solid #ADAAA5!important;border-bottom:1px solid #ADAAA5!important;border-left:1px solid #ADAAA5!important;border-right:1px solid #ADAAA5!important;overflow:hidden!important}
/* Outer edges come from the wrapper, so the cards drop their own there and
   the outer rule stays a single hairline rather than doubling to 2px. */
.lot420-gen-card:nth-child(odd){border-left:0!important}
.lot420-gen-card:nth-child(even){border-right:0!important}
.lot420-gen-card > *{background:#fff!important;min-width:0!important}

.lot420-gen .g-num{display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;font-size:15px!important;letter-spacing:.18em!important;color:#2F2C2D!important}
.lot420-gen .g-name{display:flex!important;align-items:center!important;padding:12px 22px!important;font-family:'Roboto Mono',monospace!important;font-size:17px!important;font-weight:400!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#E74400!important;line-height:1.2!important}

.lot420-gen .g-shot{position:relative!important;overflow:hidden!important;background:#EDEDED!important;min-height:265px!important}
.lot420-gen .g-desc{display:flex!important;flex-direction:column!important;gap:15px!important;padding:20px 24px!important;font-size:13px!important;line-height:1.72!important;color:#6B6B6B!important;min-width:0!important}

/* Footer cells share a fixed height so a card's bottom band always lines up
   with its neighbour's, whatever each one contains. */
.lot420-gen .g-cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;padding:10px 12px!important;background:#E74400!important;color:#fff!important;font-family:'Roboto Mono',monospace!important;font-size:12px!important;letter-spacing:.13em!important;text-transform:uppercase!important;line-height:1!important;text-align:center!important;transition:background .18s var(--lot-ease)!important}
.lot420-gen a.g-cta:hover{background:#C93A00!important;color:#fff!important}
.lot420-gen .g-thc{display:flex!important;align-items:center!important;min-height:54px!important;padding:10px 22px!important;font-size:13px!important;letter-spacing:.08em!important;color:#6B6B6B!important}

/* Markets block, shown when a product has no SEO page to link to.
   Country codes on top, a quiet note underneath. */
.lot420-gen .g-cta--markets{background:#FBFAF9!important;color:#8F8C88!important;
  flex-direction:column!important;gap:5px!important;padding:8px 10px!important;
  overflow:hidden!important;cursor:default!important;text-transform:none!important;letter-spacing:normal!important}
.lot420-codes{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important}
.lot420-codes b{font-family:'Roboto Mono',monospace!important;font-weight:500!important;font-size:10.5px!important;letter-spacing:.14em!important;color:#6E6C68!important;padding:0 7px!important;position:relative!important}
.lot420-codes b+b::before{content:""!important;position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:1px!important;height:9px!important;background:#D5D2CE!important}
.lot420-soonlbl{font-family:'Roboto Mono',monospace!important;font-size:8.5px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#B8B5B0!important;line-height:1!important}

/* Placeholder card for an odd product count. Deliberately quieter than a real
   card: no orange CTA, muted panels, so it reads as "more to come" rather than
   competing with an actual cultivar. */
.lot420-gen-card--soon > *{background:#FBFAF9!important}
.lot420-gen-card--soon .g-num{color:#B8B5B0!important}
.lot420-gen-card--soon .g-name{color:#C9773F!important}
.lot420-gen-card--soon .g-desc{color:#8F8C88!important}
.lot420-gen-card--soon .g-shot{background:#F4F2F0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.lot420-gen .g-soon-icon{position:static!important;width:56px!important;height:56px!important;opacity:.18!important;object-fit:contain!important}
.lot420-gen-card--soon .g-cta--off,.lot420-gen-card--soon .g-cta{background:#EFEDEA!important;color:#A5A29E!important;cursor:default!important;font-size:11px!important;letter-spacing:.16em!important}

/* Cards ease in as the grid paints. */
.lot420-gen-card{animation:lotCardIn .4s var(--lot-ease) backwards}
.lot420-gen-card:nth-child(1),.lot420-gen-card:nth-child(2){animation-delay:0ms}
.lot420-gen-card:nth-child(3),.lot420-gen-card:nth-child(4){animation-delay:60ms}
.lot420-gen-card:nth-child(5),.lot420-gen-card:nth-child(6){animation-delay:120ms}
.lot420-gen-card:nth-child(n+7){animation-delay:180ms}
@keyframes lotCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (max-width:1100px){
.lot420-gen{grid-template-columns:1fr!important;row-gap:22px!important}
/* Single column: every card drops both side borders, the wrapper keeps them. */
.lot420-gen-card:nth-child(odd),.lot420-gen-card:nth-child(even){border-left:0!important;border-right:0!important}
}
@media (max-width:700px){
.lot420-gen-card{grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto auto!important}
.lot420-gen .g-num{justify-content:flex-start!important;padding:10px 20px!important}
.lot420-gen .g-shot{min-height:280px!important}
}
@media (prefers-reduced-motion:reduce){
.lot420-gen *,.lot420-gen-card{animation:none!important;transition:none!important}
}

/* ==================================================================
   BRAND MARKS - the "etiquetage par marque" the client asked for.
   The artwork is white (made for the dark header), so it is inverted in CSS
   rather than boxed on a black chip. Brands whose artwork is already dark
   are flagged --art-dark and skip the filter.
   ================================================================== */
.lot420-brands{display:inline-flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;vertical-align:middle!important}
.lot420-brand{display:inline-flex!important;align-items:center!important;background:none!important;border:0!important;padding:0!important;line-height:1!important}
.lot420-brand img{display:block!important;width:auto!important;max-width:none!important;object-fit:contain!important}
.lot420-brand--art-white img{filter:brightness(0) saturate(100%)!important}
.lot420-brand--text{font-family:'Roboto Mono',monospace!important;font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important;white-space:nowrap!important;color:#2F2C2D!important}

/* Popup: sits as the value of the Brand row in the meta block. */
.lot420-brand--popup img{height:13px!important}

/* Products list: opposite the product name, on the name rule. */
.lot420-brand--list img{height:13px!important}
.lot420-list .lot420-name{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.lot420-list .lot420-name-t{min-width:0!important}

/* Genetics grid: brand marks are deliberately not shown here. */
.lot420-gen .g-name{justify-content:flex-start!important;gap:12px!important}
.lot420-gen .g-name-t{min-width:0!important}

@media (max-width:600px){
.lot420-brand--list img{height:11px!important}
}

/* 9. Mobile. */
@media (max-width:767px){
.lot420-body{flex-direction:column!important;height:auto!important;max-height:none!important}
.lot420-left,.lot420-right{width:100%!important}
.lot420-left{border-right:0!important;border-bottom:1px solid #2F2C2D!important;height:230px!important;flex:none!important;padding:18px!important}
.lot420-right{height:300px!important;padding:6px 20px 20px!important}
.lot420-popup .lot420-title{font-size:13px!important;letter-spacing:.1em!important}
.lot420-popup .lot420-hd .n{font-size:15px!important}
.lot420-popup button.lot420-arw{opacity:1!important}
}
