/* Visual adaptation of the reference storefront. Commerce stays in SHOPLINE. */
:root {
  --collective-font: 'Inconsolata', 'Courier New', monospace;
  --page-padding: 24px;
  --page-width: 100%;
  --grid-horizontal-spacing: 1px;
  --grid-vertical-spacing: 24px;
}
body.collective-theme { background:#000; color:#fff; font-family:var(--collective-font); font-size:16px; line-height:1.3; }
.collective-theme :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,.button,[class*="title"],[class*="body"]) { font-family:var(--collective-font); letter-spacing:0; }
.collective-theme :is(.title0,.title1,.title2,h1) { font-size:22px; line-height:1.3; font-weight:600; }
.collective-theme :is(.title3,.title4,.title5,.title6,h2,h3,h4,h5,h6) { font-size:16px; line-height:1.3; font-weight:600; }
.collective-theme :is(.body0,.body1,.body2,.body3,.body4) { font-size:14px; line-height:1.3; }
.collective-theme [class*="color-scheme-"] {
  --color-background:0,0,0; --color-text:255,255,255; --color-light-text:222,222,222;
  --color-button-background:255,255,255; --color-button-text:0,0,0;
  --color-button-secondary-background:0,0,0; --color-button-secondary-text:255,255,255;
  --color-button-secondary-border:255,255,255; --color-button-text-link:255,255,255;
  --color-entry-line:64,64,64; --color-media-background:246,246,246; --color-card-background:0,0,0;
}
.collective-theme .page-width { width:100%; max-width:none; padding-inline:24px; }
.collective-theme a:hover { text-underline-offset:3px; text-decoration-style:dashed; }
.collective-theme .button:not(.button--icon) { font-size:14px; line-height:1.3; font-weight:600; text-transform:uppercase; border:1px dashed currentColor; border-radius:4px; min-height:42px; padding:12px 20px; box-shadow:none; }
.collective-theme .button::after { box-shadow:none; }
.collective-theme :is(input,textarea,select) { border-radius:4px; font-family:var(--collective-font); }
.collective-theme :focus-visible { outline:2px solid currentColor; outline-offset:4px; }
/* Fixed announcement + header share one wrapper; existing drawer/search handlers are kept. */
.collective-header-shell { position:fixed; inset:0 0 auto; z-index:90; background:#000; color:#fff; }
body[data-page-type="index"] .collective-header-shell { background:transparent; }
body[data-page-type="index"] .collective-header-shell:is(:hover,:focus-within,.is-scrolled):not(:has(.header-nav-drawer.open)) { background:#000; }
.collective-theme #MainContent { padding-top:var(--collective-header-height,100px); }
.collective-theme[data-page-type="index"] #MainContent { padding-top:0; }
.collective-header-shell .announcement-bar__group { background:#000; color:#fff; border-bottom:1px solid #ffffff40; }
.collective-header-shell .announcement-bar__item { min-height:32px; padding:8px 24px; font-size:16px; line-height:1; }
.collective-header-shell .announcement-bar__item :is(p,a,span) { font-size:inherit; line-height:1; }
.collective-header-shell .announcement-bar__item p { margin:0; }
.collective-header-shell theme-sticky-header { position:static!important; transform:none!important; display:block; }
.collective-header-shell .header-section { background:transparent!important; padding:0; border:0; color:#fff; }
.collective-header-shell .header__container { background:transparent!important; }
.collective-header-shell .announcement-bar__group-item-inner { min-height:32px; padding:8px 0!important; justify-content:center; }
.collective-header-shell .announcement-bar__group-item-inner .rte { font-size:16px; line-height:1; text-align:center; }
.collective-header-shell .announcement-bar__group-item-inner p { margin:0; }
.collective-header-shell .announcement-bar__group-social-medias:empty { display:none; }
.collective-header-shell .header__container-top-wrap { position:relative; display:flex!important; align-items:center; gap:24px; height:67px; min-height:67px; padding:12px 24px!important; }
.collective-header-shell .header__logo { position:absolute!important; left:50%; top:50%; transform:translate(-50%,-50%); width:273px; margin:0!important; }
.collective-header-shell .header__logo-wrapper { width:100%; }
.collective-header-shell .header__logo img { max-width:100%; max-height:43px; object-fit:contain; filter:brightness(0) invert(1); }
.collective-header-shell .header__logo .transparent { display:none!important; }
.collective-header-shell .header-action-bar.left { display:flex!important; order:-2; flex:none; width:auto!important; gap:16px; }
.collective-header-shell .header-action-bar.right { display:flex; width:auto!important; margin-left:auto; gap:24px; }
.collective-header-shell .header-action-bar.left .header-action-bar__menu { display:flex!important; }
.collective-header-shell .header-action-bar.right .header-action-bar__menu { display:none!important; }
.collective-header-shell .header-action-bar.left .header-action-bar__search { display:none; }
.collective-header-shell theme-nav-bar { display:block; order:-1; flex:0 1 auto; max-width:calc(50% - 185px); min-width:0; }
.collective-header-shell .header-nav { width:100%; margin:0!important; }
.collective-header-shell .header-nav__menu { gap:24px; flex-wrap:nowrap; }
.collective-header-shell .header-nav__menu > li > :is(a,summary,button) { font-size:16px; font-weight:600; text-transform:uppercase; white-space:nowrap; }
.collective-header-shell .header-nav__menu > li:nth-child(n+5) { display:none; }
.collective-header-shell .header__container-bottom { display:none; }
.collective-header-shell .button--icon { background:transparent; color:#fff; border:0; border-radius:0; width:24px; height:24px; min-width:24px; min-height:24px; padding:0; }
.collective-header-shell .header-action-bar svg { width:22px; height:22px; }
.collective-header-shell .header-nav-drawer__content { background:#000; color:#fff; }
.collective-header-shell .header-nav-drawer { z-index:100; }
.collective-theme :is(.header-search-bar,.header-action-bar__results,.predictive-search,.dropdown-menu__list) { background:#000; color:#fff; }
/* Campaign, using the original shop destinations, never reference-store product links. */
.collective-campaign { background:#000; color:#fff; }
.collective-hero { position:relative; height:100svh; min-height:540px; width:100%; overflow:hidden; }
.collective-hero picture,.collective-hero picture img,.collective-hero video { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.collective-hero video { opacity:0; }
.collective-hero video.is-playing { opacity:1; }
.collective-hero__brand { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(490px,calc(100% - 32px)); text-align:center; pointer-events:none; mix-blend-mode:difference; }
.collective-hero__brand img { max-width:100%; max-height:230px; filter:brightness(0) invert(1); }
.collective-hero__brand span { font-size:clamp(64px,12vw,150px); line-height:.9; font-weight:800; letter-spacing:-.075em; }
.collective-hero__cta { position:absolute; bottom:150px; left:50%; transform:translateX(-50%); background:#ffffff40!important; color:#fff!important; border:1px dashed #fff!important; white-space:nowrap; }
.collective-hero__scroll { position:absolute; bottom:10px; left:50%; color:#fff; font-size:24px; }
.collective-hero__pause { position:absolute; bottom:16px; right:24px; color:#fff; border:1px dashed #fff; background:#0006; border-radius:4px; padding:5px 10px; font:12px var(--collective-font); cursor:pointer; }
.collective-campaign__banner { display:block; position:relative; color:#fff; overflow:hidden; }
.collective-campaign__banner picture,.collective-campaign__banner img { display:block; width:100%; height:auto; }
.collective-campaign__label { position:absolute; z-index:1; top:24px; left:24px; font-size:16px; font-weight:600; text-transform:uppercase; text-decoration:underline dashed; text-underline-offset:3px; }
.collective-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:4px 0; background:#000; }
.collective-category-grid a { position:relative; display:block; min-width:0; color:#fff; }
.collective-category-grid img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }
.collective-category-grid span { position:absolute; bottom:24px; left:0; right:0; text-align:center; font-size:16px; font-weight:600; text-transform:uppercase; }
/* Merchandise comes entirely from existing SHOPLINE blocks and collections. */
.collective-theme .section-featured-collection { padding-block:40px; }
.collective-theme .section-featured-collection > .page-width { padding-block:0!important; row-gap:24px!important; }
.collective-theme .section-featured-collection > .page-width > div { padding-block:0!important; gap:24px!important; align-items:stretch!important; }
.collective-theme .section-featured-collection h2 { text-align:left; text-transform:uppercase; font-size:16px; margin:0; }
.collective-theme .featured-collection__tabs-header { margin-block-end:24px; }
.collective-theme .featured-collection__tabs-list { gap:24px; }
.collective-theme .featured-collection__tab { padding:0 0 8px; border:0; border-radius:0; background:transparent; color:#fff; font-size:14px; text-transform:uppercase; }
.collective-theme .featured-collection__tab.active { background:transparent; color:#fff; border-bottom:1px dashed #fff; }
.collective-theme :is(.featured-collection__track,.main-collection__list,.main-search__list) { column-gap:1px!important; row-gap:24px!important; }
.collective-theme .featured-collection__track { --desktop-columns:6!important; --mobile-columns:2!important; --mobile-gap-columns:2!important; }
.collective-theme .block-product-card { background:#000; color:#fff; border-radius:0; box-shadow:none; border:0; padding:0; row-gap:12px!important; }
.collective-theme .product-card-border-shadow { border:0; border-radius:0; box-shadow:none; }
.collective-theme .block-product-image__image-wrapper { --aspect-ratio:3/4!important; --fit-type:cover!important; --border-radius:0!important; background:#f6f6f6; }
.collective-theme .block-product-card-info { padding:0 8px 12px!important; gap:8px!important; background:#000; color:#fff; text-align:left; }
.collective-theme .block-product-card :is(.block-product-title,.block-product-title a) { font-size:14px!important; line-height:1.3; font-weight:400; text-transform:uppercase; }
.collective-theme .block-product-card :is(.block-product-price,.price) { font-size:14px; font-weight:400; }
.collective-theme .block-product-card__quick-add { width:32px; height:32px; border:0; border-radius:50%; color:#000; background:#fff; }
.collective-theme .block-product-card-info .button { font-size:12px; padding:6px 10px; min-height:32px; background:transparent; color:#fff; }
.collective-theme .featured-collection__button { width:32px; height:32px; border-radius:50%; }
.collective-theme .main-collection-container { background:#000; }
.collective-theme .main-collection { padding-top:24px; }
.collective-theme .main-collection__list { --desktop-columns:4; }
.collective-theme :is(.facets,.facets__form,.facets__header,.main-collection-cover) { color:#fff; background:#000; }
/* Full-width gallery and black purchase panel. Keep original media and forms. */
.collective-theme[data-page-type="product"] .product-detail-wrapper > .page-width { padding:0; }
.collective-theme[data-page-type="product"] .product-detail { padding:0!important; }
.collective-theme[data-page-type="product"] .product-detail__main { position:relative; width:100%; gap:0!important; padding:0; }
.collective-theme[data-page-type="product"] .product-detail__media-group { width:100%!important; --detail-col-width:100%!important; position:relative; top:auto; }
.collective-theme[data-page-type="product"] .product-detail__info { position:absolute; right:24px; bottom:24px; top:auto; z-index:2; width:min(450px,38%)!important; --detail-col-width:450px!important; max-height:calc(100% - 48px); overflow:auto; background:#000; border-radius:8px; padding:24px 16px!important; gap:16px!important; }
.collective-theme .product-detail__info :is(h1,h2,.block-product-title) { font-size:22px; text-transform:uppercase; }
.collective-theme .product-detail__info .button { width:100%; }
.collective-theme[data-page-type="product"] .media-gallery__thumbnails { display:none!important; }
.collective-theme[data-page-type="product"] .media-gallery__list { height:calc(100svh - var(--collective-header-height,100px)); min-height:600px; aspect-ratio:auto!important; }
.collective-theme[data-page-type="product"] .media-gallery__image { height:100%; width:100%; object-fit:cover; }
.collective-theme[data-page-type="product"] .media-gallery__arrows { display:flex!important; }
.collective-theme[data-page-type="product"] .media-gallery__indicator { top:auto!important; bottom:16px; padding:0!important; }
.collective-theme[data-page-type="product"] .media-gallery__arrow { display:flex!important; }
.collective-theme :is(.cart-drawer,.cart-notification,.main-cart) { background:#000; color:#fff; }
/* Original footer block order, menus and destinations remain stored unchanged. */
.collective-theme .footer { border-top:1px solid #ffffff40; background:#000; color:#fff; }
.collective-theme .footer__inner { display:grid!important; grid-template-columns:1fr 1fr; align-items:start!important; column-gap:60px!important; row-gap:32px!important; padding:60px 0 34px!important; }
.collective-theme .footer__group { width:100%; min-width:0; padding:0!important; }
.collective-theme .footer__group:has(.footer__email-subscribe) { grid-column:1; grid-row:1; }
.collective-theme .footer__group:has(.footer__menu) { grid-column:2; grid-row:1; display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px!important; }
.collective-theme .footer__menu-title { font-size:16px; font-weight:600; margin:0 0 4px; }
.collective-theme .footer__menu-item { padding-top:24px; font-size:14px; }
.collective-theme .footer__menu-item a { text-decoration:none; }
.collective-theme .footer__menu-item a:hover { text-decoration:underline dashed; }
.collective-theme .footer__email-subscribe { width:100%; max-width:560px; padding:0!important; }
.collective-theme .footer__email-subscribe-title { font-size:16px; font-weight:600; text-align:left; text-transform:uppercase; margin-bottom:24px; }
.collective-theme .footer__email-subscribe :is(input,.field) { color:#fff; background:transparent; border-color:#b7b7b7; }
.collective-theme .footer__group:has(.footer__copyright) { grid-column:1; grid-row:2; align-self:center; font-size:14px; text-transform:uppercase; }
.collective-theme .footer__group:has(.footer__payment-icons) { grid-column:2; grid-row:2; justify-content:flex-end; filter:grayscale(1); }
.collective-footer-brand { width:100%; display:block; overflow:hidden; padding:0 0 20px; color:#fff; }
.collective-footer-brand svg { width:100%; height:auto; display:block; fill:currentColor; font-family:Arial,sans-serif; font-weight:900; }
@media (min-width:768px) and (max-width:1200px) {
  .collective-header-shell theme-nav-bar { display:none!important; }
  .collective-theme .featured-collection__track { --desktop-columns:3!important; }
}
@media (min-width:768px) {
  .collective-theme .footer__menu-content { height:auto!important; opacity:1!important; overflow:visible; }
  .collective-theme .footer__menu-title :is(.icon__arrow,.icon__minus) { display:none!important; }
}
@media (max-width:767px) {
  :root { --page-padding:16px; }
  .collective-theme .page-width { padding-inline:16px; }
  .collective-header-shell .announcement-bar__item { min-height:28px; padding:8px 16px; font-size:12px; }
  .collective-header-shell .announcement-bar__group-item-inner { min-height:28px; }
  .collective-header-shell .announcement-bar__group-item-inner .rte { font-size:12px; }
  .collective-header-shell .header__container-top-wrap { height:60px; min-height:60px; padding:12px 16px!important; gap:16px; }
  .collective-header-shell .header__logo { width:clamp(120px,46vw,180px); }
  .collective-header-shell .header__logo img { max-height:36px; }
  .collective-header-shell theme-nav-bar { display:none!important; }
  .collective-header-shell .header-action-bar { gap:16px!important; }
  .collective-header-shell .header-action-bar.left .header-action-bar__search { display:flex!important; }
  .collective-header-shell .header-action-bar.right .header-action-bar__search { display:none!important; }
  .collective-hero { min-height:520px; }
  .collective-hero__pause { right:16px; }
  .collective-campaign__label { top:16px; left:16px; }
  .collective-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collective-category-grid span { bottom:20px; font-size:14px; }
  .collective-theme .section-featured-collection { padding-block:40px; }
  .collective-theme .block-product-card-info { padding:0 4px 12px!important; }
  .collective-theme .block-product-card :is(.block-product-title,.block-product-title a,.block-product-price) { font-size:12px!important; }
  .collective-theme .main-collection { padding-inline:0; }
  .collective-theme[data-page-type="product"] .product-detail__main { flex-direction:column!important; }
  .collective-theme[data-page-type="product"] .product-detail__info { position:relative; inset:auto; width:100%!important; max-height:none; border-radius:0; padding:24px 16px!important; }
  .collective-theme[data-page-type="product"] .media-gallery__list { height:auto; min-height:0; aspect-ratio:3/4!important; }
  .collective-theme .footer__inner { display:flex!important; flex-direction:column!important; align-items:stretch!important; padding:24px 0!important; gap:32px!important; }
  .collective-theme .footer__group:has(.footer__email-subscribe) { order:0; }
  .collective-theme .footer__group:has(.footer__menu) { order:1; display:flex!important; flex-direction:column!important; gap:0!important; }
  .collective-theme .footer__group:has(.footer__copyright) { order:2; border-top:1px solid #ffffff40; padding-top:24px!important; }
  .collective-theme .footer__group:has(.footer__payment-icons) { order:3; justify-content:flex-start; }
  .collective-theme .footer__menu { width:100%; }
  .collective-theme .footer__menu-title { display:flex; width:100%; padding:12px 0; text-transform:uppercase; font-size:16px; }
  .collective-theme .footer__menu-item { padding-top:20px; }
}
@media (prefers-reduced-motion:reduce) { .collective-theme *, .collective-theme *::before,.collective-theme *::after { scroll-behavior:auto!important; transition-duration:0s!important; animation:none!important; } }

/* Exact original artwork: header/footer wordmark and central campaign emblem. */
.collective-header-shell .header__logo-link { width:100%; justify-content:center; }
.collective-header-shell .header__logo .collective-wordmark { display:block; width:100%!important; height:auto!important; max-height:none!important; filter:none; }
.collective-theme .collective-hero__brand { width:min(490px,calc(100% - 32px)); }
.collective-theme .collective-hero__brand .collective-emblem { display:block; width:100%; height:auto; max-height:none; filter:none; }
.collective-theme .collective-footer-brand img { display:block; width:100%; height:auto; }
.collective-header-shell .header__container-top-wrap { justify-content:flex-start!important; }
.collective-header-shell theme-nav-bar { flex:0 1 calc(50% - 225px); max-width:calc(50% - 225px); overflow:visible; }
.collective-header-shell .header-action-bar.right { margin-inline-start:auto!important; justify-content:flex-end!important; }
@media (max-width:1200px) { .collective-header-shell theme-nav-bar { display:none!important; } }
