/* 2026-09-29: integrated social entry and mobile-first storefront. */

.home-club-social,
.free-picks-social {
  width:min(500px,100%);
  margin:18px auto 0;
}
.home-club-social-divider,
.free-picks-social-divider {
  display:flex;
  align-items:center;
  gap:12px;
  color:#8f8f8a;
  font-size:10px;
  font-weight:650;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.home-club-social-divider[hidden],
.free-picks-social-divider[hidden] { display:none!important; }
.home-club-social-divider::before,
.home-club-social-divider::after,
.free-picks-social-divider::before,
.free-picks-social-divider::after {
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.18);
}
.home-club-social-actions,
.free-picks-social-actions { display:none; margin-top:12px; }
.home-club-social-actions.is-ready,
.free-picks-social-actions.is-ready { display:grid; }
.home-club-social .social-auth-button,
.free-picks-social .social-auth-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:48px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:#141414;
  color:#f6f6f2;
  font:600 13px/1.2 var(--font-sans);
  text-decoration:none;
  box-shadow:none;
  transition:border-color 160ms ease,background 160ms ease,transform 160ms ease;
}
.home-club-social .social-auth-button:hover,
.free-picks-social .social-auth-button:hover {
  border-color:rgba(255,255,255,.56);
  background:#1d1d1d;
  transform:translateY(-1px);
}
.home-club-social .social-auth-button:focus-visible,
.free-picks-social .social-auth-button:focus-visible {
  outline:2px solid #fff;
  outline-offset:3px;
}
.home-club-social .social-auth-button svg,
.free-picks-social .social-auth-button svg {
  flex:0 0 19px;
  width:19px;
  height:19px;
}
.free-picks-social { margin-top:14px; }
.free-picks-social .social-auth-button { min-height:44px; }
.free-picks-social-divider { margin-top:2px; }

/* Keep the store menu focused on browsing. The Picks promotion already has a
   dedicated destination and no longer competes with the category structure. */
.store-menu-content {
  display:block!important;
  width:100%;
  max-width:1600px;
  margin-inline:auto;
  background:#fff;
}
.store-menu-picks { display:none!important; }
.store-menu-panel {
  border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}
@media (min-width:901px) {
  .store-menu-lists {
    grid-template-columns:minmax(150px,.7fr) minmax(0,2fr) minmax(180px,1fr)!important;
    gap:clamp(28px,3.5vw,58px)!important;
    padding:28px clamp(30px,5vw,78px) 34px!important;
  }
  .store-menu-lists.is-category-menu {
    grid-template-columns:minmax(140px,.72fr) minmax(190px,1fr) repeat(2,minmax(150px,1fr))!important;
    gap:clamp(22px,2.6vw,42px)!important;
  }
}

/* A quiet homepage summary: enough context to understand Picks without
   reproducing the pricing page inside the homepage. */
.home-picks-entry {
  padding:36px 0;
  border-block:1px solid #dfdfda;
  background:#f5f5f1;
}
.home-picks-entry-layout {
  grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);
  gap:clamp(30px,5vw,76px);
}
.home-picks-eyebrow { margin-bottom:10px; }
.home-picks-entry h2 {
  margin-bottom:12px;
  font-size:clamp(23px,2.2vw,32px);
}
.home-picks-entry-copy>p:not(.home-picks-eyebrow) {
  max-width:38ch;
  font-size:13px;
  line-height:1.55;
}
.home-picks-entry-plans {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0;
  border-block:1px solid #d7d7d1;
}
.home-picks-entry-plans>div {
  min-width:0;
  padding:12px 18px;
  border:0;
  border-radius:0;
  background:transparent;
}
.home-picks-entry-plans>div+div { border-left:1px solid #d7d7d1; }
.home-picks-entry-plans dt {
  margin:0 0 6px;
  color:#62625d;
  font-size:11px;
  font-weight:650;
  letter-spacing:.02em;
}
.home-picks-entry-plans dd {
  display:flex;
  flex-direction:row;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:5px 8px;
}
.home-picks-entry-plans strong { font-size:23px; }
.home-picks-entry-plans dd small { color:#73736d; font-size:10px; }
.home-picks-entry-links {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:14px;
}
.home-lifetime-value {
  display:inline-flex;
  justify-content:flex-start;
  gap:10px;
  align-items:baseline;
  padding:0;
  border:0;
  color:#4f4f4a;
  font-size:12px;
}
.home-lifetime-value small { display:none; }
.home-lifetime-value strong { font-size:14px; text-align:left; }
.home-picks-entry-action {
  width:auto;
  min-height:0;
  padding:0 0 3px;
  border:0;
  border-bottom:1px solid currentColor;
  border-radius:0;
  background:transparent;
  color:#171717;
  font-size:12px;
}
.home-picks-entry-action:hover { background:transparent; color:#171717; }
.home-picks-entry-action>span:last-child { font-size:15px; }
.home-picks-entry-welcome { margin-top:10px; font-size:11px; }

@media (max-width:900px) {
  .public-header .store-menu-panel {
    position:fixed;
    top:68px;
    right:0;
    bottom:0;
    left:0;
    height:calc(100dvh - 68px)!important;
    max-height:none;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
  }
  .store-menu-content { height:auto!important; min-height:100%; background:#fff; }
  .store-menu-picks { display:none!important; }
  .store-menu-ticker { display:none!important; }
}

@media (max-width:700px) {
  :root {
    --mobile-gutter:16px;
    --mobile-header:60px;
  }

  html { scroll-padding-top:calc(var(--mobile-header) + 12px); }
  body { min-width:0; overflow-x:hidden; font-size:15px; }
  img { max-width:100%; }
  .container,
  .home-page-container,
  .collections-introduction,
  .collections-list-section,
  .market-search-section .container,
  .catalog-section .container {
    width:calc(100% - (var(--mobile-gutter) * 2))!important;
    max-width:none!important;
    margin-inline:auto!important;
  }

  /* Compact, touch-friendly mobile header. */
  .site-header.public-header { position:sticky; top:0; z-index:120; }
  .site-header.public-header .nav {
    display:grid;
    grid-template-columns:minmax(102px,1fr) 40px auto auto!important;
    grid-template-rows:var(--mobile-header)!important;
    column-gap:6px!important;
    width:100%!important;
    height:var(--mobile-header)!important;
    min-height:var(--mobile-header)!important;
    padding:0 12px!important;
  }
  .public-header .brand {
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0;
    max-width:124px!important;
  }
  .public-header .brand .brand-mark {
    width:118px!important;
    min-width:118px!important;
    height:42px!important;
  }
  .public-header .store-menu-toggle {
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    width:40px!important;
    min-width:40px!important;
    height:44px!important;
    padding:10px!important;
  }
  .public-header .store-menu-toggle span { margin:5px 0; }
  .public-header .nav-actions {
    grid-column:3!important;
    grid-row:1!important;
    gap:0!important;
    min-width:0;
  }
  .public-header .nav-actions > .nav-icon-link:first-child { display:none!important; }
  .public-header .nav-actions [data-member-notifications] { display:none!important; }
  .public-header .nav-actions .nav-icon-link {
    display:grid;
    place-items:center;
    width:36px!important;
    min-width:36px!important;
    height:44px!important;
    min-height:44px!important;
    padding:8px!important;
  }
  .public-header .nav-actions .nav-icon-link svg { width:21px; height:21px; }
  .public-header .nav>.nav-picks-link {
    grid-column:4!important;
    grid-row:1!important;
    min-width:68px;
    min-height:36px!important;
    padding:9px 10px!important;
    border-radius:8px!important;
    font-size:11px!important;
  }
  .public-header .nav-links { display:none!important; }
  .public-header .nav-account-dropdown {
    position:fixed!important;
    top:calc(var(--mobile-header) - 1px)!important;
    right:12px!important;
    left:12px!important;
    width:auto!important;
    max-height:calc(100dvh - var(--mobile-header) - 12px);
    overflow:auto;
    border-radius:10px!important;
  }

  /* The menu becomes a concise mobile browse sheet. */
  .public-header .store-menu-panel {
    top:var(--mobile-header);
    height:calc(100dvh - var(--mobile-header))!important;
    background:#fff;
  }
  .store-menu-lists,
  .store-menu-lists.is-category-menu {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:24px 18px!important;
    padding:24px 18px 36px!important;
    align-content:start;
    min-height:100%;
  }
  .store-menu-lists>section { min-width:0; }
  .store-menu-lists h2 { margin-bottom:10px!important; padding-bottom:9px!important; font-size:14px!important; }
  .store-menu-link,
  .store-menu-category-group>.store-menu-link:not(:first-child) {
    min-height:36px;
    align-items:center;
    padding:6px 0!important;
    font-size:13px!important;
  }
  .store-menu-categories.is-overview { display:grid!important; grid-template-columns:1fr!important; gap:0!important; }
  .store-menu-categories.is-overview .store-menu-category-group>.store-menu-link:not(:first-child) { display:none!important; }
  .store-menu-lists:not(.is-category-menu)>section:nth-child(1) { grid-column:1!important; }
  .store-menu-lists:not(.is-category-menu)>section:nth-child(2) { display:block!important; grid-column:2!important; }
  .store-menu-lists:not(.is-category-menu)>section:nth-child(3) { display:none!important; }
  .store-menu-lists.is-category-menu .store-menu-explore-column { grid-column:1!important; }
  .store-menu-lists.is-category-menu .store-menu-subcategory-column { grid-column:2!important; }
  .store-menu-lists.is-category-menu .store-menu-product-panels { display:none!important; }

  /* Homepage: swipeable editorial cards, then compact two-column commerce. */
  .home-duo-section { padding:10px 0 26px!important; }
  .home-duo-grid {
    display:flex!important;
    gap:12px!important;
    max-width:none!important;
    margin:0!important;
    padding:0 var(--mobile-gutter) 6px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .home-duo-grid::-webkit-scrollbar,
  .home-collections-grid::-webkit-scrollbar,
  .detail-media::-webkit-scrollbar { display:none; }
  .home-duo-card {
    flex:0 0 calc(100vw - 48px);
    height:clamp(360px,118vw,470px)!important;
    border-radius:10px!important;
    scroll-snap-align:center;
  }
  .home-duo-copy { padding:24px!important; }
  .home-duo-copy h1,.home-duo-copy h2 { max-width:92%!important; font-size:20px!important; }
  .home-duo-action { left:22px!important; bottom:20px!important; font-size:14px!important; }
  .home-product-section,
  .home-range-section,
  .home-collections-section { padding-block:42px!important; }
  .home-page-heading { align-items:flex-end!important; margin-bottom:22px!important; }
  .home-page-heading h2,
  .home-range-heading h2 { font-size:27px!important; }
  .home-page-heading .animated-link,
  .home-range-heading .animated-link { min-height:44px; align-items:center; font-size:12px!important; }
  .home-popular-grid.product-grid,
  .home-range-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px 12px!important;
  }
  .product-card.storefront-product-card h3,
  .home-product-section .product-card.storefront-product-card h3,
  .home-popular-grid .product-card.storefront-product-card h3 {
    font-size:13px!important;
    line-height:1.35!important;
  }
  .product-card.storefront-product-card .product-card-body { padding-top:9px!important; }
  .product-card.storefront-product-card .product-card-meta-row,
  .home-product-section .product-card.storefront-product-card .product-card-meta-row { height:42px!important; min-height:42px!important; }
  .product-card.storefront-product-card .product-card-meta-row>.price,
  .home-product-section .product-card.storefront-product-card .product-card-meta-row>.price { min-height:42px!important; font-size:16px!important; }
  .product-card.storefront-product-card .card-cart-button,
  .home-product-section .product-card.storefront-product-card .card-cart-button {
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
  }
  .home-range-heading { margin-bottom:22px!important; }
  .home-range-heading p { font-size:13px!important; line-height:1.55!important; }
  .home-collections-grid {
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    margin-right:calc(var(--mobile-gutter) * -1);
    padding-right:var(--mobile-gutter);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .home-collections-grid>* { flex:0 0 min(78vw,300px); scroll-snap-align:start; }

  /* The mobile homepage keeps Picks to one concise, scannable strip. */
  .home-picks-entry { padding:28px 0!important; }
  .home-picks-entry-layout { grid-template-columns:1fr!important; gap:18px!important; }
  .home-picks-entry h2 { margin-bottom:9px!important; font-size:25px!important; }
  .home-picks-entry-copy>p:not(.home-picks-eyebrow) { max-width:34ch; font-size:13px!important; }
  .home-picks-entry-plans { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; }
  .home-picks-entry-plans>div { min-height:0!important; padding:10px 8px!important; }
  .home-picks-entry-plans dt { margin-bottom:5px!important; font-size:10px!important; }
  .home-picks-entry-plans dd { display:block!important; }
  .home-picks-entry-plans strong { font-size:20px!important; }
  .home-picks-entry-plans dd small { display:block; margin-top:3px; font-size:9px; }
  .home-picks-entry-links { margin-top:12px; gap:12px; }
  .home-lifetime-value { min-height:0; font-size:11px; }
  .home-lifetime-value strong { font-size:13px; }
  .home-picks-entry-action { font-size:11px; }
  .newsletter-footer.home-club-section { min-height:0!important; padding:64px 16px!important; }
  .newsletter-footer.home-club-section .home-club-copy { width:100%!important; }
  .newsletter-footer.home-club-section h2 { font-size:29px!important; }
  .newsletter-footer.home-club-section #homeClubIntro { max-width:31ch; margin:14px auto 22px!important; }
  .newsletter-footer.home-club-section form {
    flex-direction:column!important;
    gap:5px!important;
    width:100%!important;
    padding:5px!important;
  }
  .newsletter-footer.home-club-section input,
  .newsletter-footer.home-club-section button { width:100%!important; min-width:0!important; min-height:48px!important; }
  .home-club-social { margin-top:17px; }
  .home-club-art img { opacity:.28!important; }

  /* Marketplace: concise controls and a usable two-column grid. */
  .market-search-section { padding:28px 0 22px!important; }
  .market-search-panel h1,
  #catalogHeading { font-size:36px!important; line-height:1.04!important; }
  .market-search-panel>p,
  #catalogIntro { max-width:34ch; margin-top:12px!important; font-size:14px!important; line-height:1.55!important; }
  .catalog-breadcrumb-slot,
  .seo-breadcrumbs { padding-top:0!important; font-size:11px!important; }
  .catalog-section { padding:22px 0 48px!important; }
  .catalog-discovery-toolbar {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:end!important;
  }
  .catalog-primary-filters {
    display:contents!important;
  }
  .catalog-select-control { min-width:0; gap:5px!important; }
  .catalog-select-control>span { font-size:10px!important; }
  .catalog-select-value { min-width:0; }
  .catalog-select-value .select { min-height:48px!important; padding:10px 36px 10px 12px!important; font-size:13px!important; }
  .catalog-select-value svg { right:12px!important; top:50%!important; transform:translateY(-50%)!important; }
  .taxonomy-result-line { margin:18px 0!important; }
  .catalog-section .product-grid,
  .section .product-grid,
  .detail-lite .product-grid,
  .member-grid.product-grid,
  .collection-detail-products .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px 12px!important;
  }
  .catalog-pager { flex-wrap:wrap; gap:8px; }

  /* Product detail: swipe the gallery, then make a clear purchase decision. */
  .detail-hero { padding-top:18px!important; }
  .detail-breadcrumb { margin-bottom:12px!important; font-size:11px!important; }
  .detail-layout { display:grid!important; grid-template-columns:1fr!important; gap:28px!important; }
  .detail-gallery-layout { display:flex!important; flex-direction:column!important; gap:10px!important; min-width:0; }
  .detail-media {
    order:1!important;
    display:flex!important;
    gap:10px!important;
    width:100%;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .detail-media .detail-image {
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    margin:0!important;
    scroll-snap-align:start;
  }
  .detail-thumbnail-rail {
    order:2!important;
    display:flex!important;
    gap:8px!important;
    width:100%;
    overflow-x:auto;
    padding:0 0 4px!important;
  }
  .detail-thumbnail-rail button { flex:0 0 58px; width:58px!important; min-width:58px; height:72px!important; }
  .detail-sidebar { position:static!important; width:100%!important; padding:0!important; }
  .detail-lite .detail-sidebar h1 { padding-right:42px; font-size:31px!important; }
  .detail-description { font-size:14px!important; line-height:1.65!important; }
  .detail-cart-button { min-height:52px!important; }
  .detail-info-panel { margin-top:18px!important; }

  /* Collections and plan pages. */
  .collections-introduction { padding-top:34px!important; padding-bottom:28px!important; }
  .collections-introduction h1 { font-size:38px!important; }
  .collections-introduction>p { font-size:14px!important; }
  .collections-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:26px 12px!important; }
  .collection-detail-hero { grid-template-columns:1fr!important; gap:24px!important; padding-top:20px!important; }
  .collection-detail-cover { aspect-ratio:2 / 3!important; max-height:72vh; }
  .collection-detail-copy { padding:0!important; }
  .collection-detail-copy h1 { font-size:36px!important; }
  .collection-detail-pricing { margin-top:20px!important; }
  .collection-buy-button { width:100%; min-height:52px; }
  .collection-detail-products-head { align-items:flex-start!important; gap:18px!important; }
  .collection-detail-products-head h2 { font-size:26px!important; }
  .picks-pricing-hero { padding:42px 0 26px!important; }
  .picks-pricing-hero h1 { font-size:38px!important; }
  .picks-pricing-section { padding:26px 0 50px!important; }

  /* Footer uses readable groups instead of a desktop strip. */
  .footer { padding-top:42px!important; }
  .footer-grid {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:34px 18px!important;
  }
  .footer-grid>div:first-child { grid-column:1 / -1; }
  .footer-brand img { width:172px!important; }
  .footer-grid a { min-height:34px; display:flex; align-items:center; }
  .footer-legal-bar {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:14px!important;
    padding-block:24px!important;
  }
  .footer-legal-bar nav { display:flex; flex-wrap:wrap; gap:10px 18px!important; }

  /* Welcome offer: one-screen, scroll-safe, and consistent with the site. */
  .free-picks-modal { padding:10px!important; align-items:center!important; }
  .free-picks-modal .free-picks-panel {
    display:block!important;
    width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    border-radius:12px!important;
  }
  .free-picks-photo { display:none!important; }
  .free-picks-copy { padding:52px 18px 22px!important; }
  .free-picks-modal h2 { font-size:31px!important; line-height:1.04!important; }
  .free-picks-intro { margin:14px 0 18px!important; font-size:13px!important; line-height:1.55!important; }
  .free-picks-copy form { gap:9px!important; }
  .free-picks-copy input[type="text"],
  .free-picks-copy input[type="email"] { min-height:48px!important; font-size:15px!important; }
  .free-picks-consent { gap:10px!important; margin-top:11px!important; font-size:12px!important; }
  .free-picks-consent input { flex-basis:20px!important; width:20px!important; height:20px!important; }
  .free-picks-submit { min-height:48px!important; margin-top:15px!important; font-size:16px!important; }
  .free-picks-social { margin-top:13px; }
  .free-picks-social .social-auth-button { min-height:46px; }
  .free-picks-privacy { margin-top:16px!important; font-size:9px!important; }
  .free-picks-close {
    top:13px!important;
    right:13px!important;
    width:36px!important;
    height:36px!important;
    border:1px solid rgba(255,255,255,.7)!important;
    background:transparent!important;
    color:#fff!important;
    outline:0!important;
    font-size:27px!important;
  }
  .free-picks-launcher { display:none!important; }

  /* Cart and generic dialogs fill the phone without feeling like desktop overlays. */
  .cart-panel { width:100%!important; max-width:none!important; }
  .modal:not(.free-picks-modal):not(.member-notifications-modal) { padding:12px!important; }
  .modal:not(.free-picks-modal):not(.member-notifications-modal) .modal-panel { width:100%!important; max-height:calc(100dvh - 24px)!important; overflow:auto; }
}

@media (max-width:380px) {
  .site-header.public-header .nav { grid-template-columns:minmax(92px,1fr) 36px auto auto!important; padding-inline:9px!important; gap:3px!important; }
  .public-header .brand .brand-mark { width:106px!important; min-width:106px!important; }
  .public-header .store-menu-toggle { width:36px!important; min-width:36px!important; padding-inline:8px!important; }
  .public-header .nav-actions .nav-icon-link { width:33px!important; min-width:33px!important; }
  .public-header .nav>.nav-picks-link { min-width:62px; padding-inline:7px!important; font-size:10px!important; }
  .home-popular-grid.product-grid,
  .home-range-grid,
  .catalog-section .product-grid,
  .collections-grid,
  .collection-detail-products .product-grid { gap-inline:9px!important; }
}

@media (max-width:330px) {
  .catalog-discovery-toolbar { grid-template-columns:1fr!important; }
}

@media (prefers-reduced-motion:reduce) {
  .home-club-social .social-auth-button,
  .free-picks-social .social-auth-button { transition:none; }
  .home-duo-grid,.home-collections-grid,.detail-media { scroll-behavior:auto; }
}
