:root{
  --arty-gold:#d4af37;
  --arty-gold-soft:#f2d57a;
  --arty-blue-deep:#183a6b;
  --arty-mobile-stack-h:120px;
}

html,body{
  overflow-x:hidden !important;
  max-width:100vw;
}

body.mobile-sticky-active{
  padding-top:0;
}

/* keep promo visible and whole top stack sticky on mobile */
@media (max-width: 991.98px){
  .promo-drum-wrap{
    position:sticky !important;
    top:0 !important;
    z-index:11040 !important;
  }

  header,
  #header,
  .header,
  .site-header,
  .main-header,
  .navbar-wrap,
  .header-wrap,
  .header-shell,
  .mobile-header,
  .top-nav-wrap{
    position:sticky !important;
    top:var(--promo-h, 30px) !important;
    z-index:11030 !important;
    background:#fff !important;
    transform:translate3d(0,0,0);
    transition:box-shadow .24s ease, transform .24s ease, background-color .24s ease;
  }

  body.mobile-sticky-condensed header,
  body.mobile-sticky-condensed #header,
  body.mobile-sticky-condensed .header,
  body.mobile-sticky-condensed .site-header,
  body.mobile-sticky-condensed .main-header,
  body.mobile-sticky-condensed .navbar-wrap,
  body.mobile-sticky-condensed .header-wrap,
  body.mobile-sticky-condensed .header-shell,
  body.mobile-sticky-condensed .mobile-header,
  body.mobile-sticky-condensed .top-nav-wrap{
    box-shadow:0 10px 28px rgba(0,0,0,.12);
  }

  /* breadcrumbs can hide after scroll to save height */
  .breadcrumbs,
  .page-title.light-background .breadcrumbs,
  .breadcrumbs-wrap{
    transition:max-height .22s ease, opacity .22s ease, margin .22s ease, padding .22s ease;
    max-height:120px;
    opacity:1;
    overflow:hidden;
  }

  body.mobile-sticky-condensed .breadcrumbs,
  body.mobile-sticky-condensed .page-title.light-background .breadcrumbs,
  body.mobile-sticky-condensed .breadcrumbs-wrap{
    max-height:0 !important;
    opacity:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border:none !important;
  }

  /* phone / language / currency strip */
  .mobile-top-controls,
  .mobile-utility-row,
  .mobile-header-utility,
  .mobile-phone-lang-row,
  .header-mobile-extras,
  .navbar-mobile-meta,
  .mobile-contact-language-currency{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    margin-top:5px !important;
    flex-wrap:nowrap;
    position:relative;
    z-index:11080 !important;
  }

  .mobile-top-controls > *,
  .mobile-utility-row > *,
  .mobile-header-utility > *,
  .mobile-phone-lang-row > *,
  .header-mobile-extras > *,
  .navbar-mobile-meta > *,
  .mobile-contact-language-currency > *{
    flex:1 1 0;
    min-width:0;
  }

  /* ensure mobile menu toggle fully visible */
  .navbar,
  .navbar .container,
  .navbar .container-fluid,
  .header .container,
  .header .container-fluid,
  .site-header .container,
  .site-header .container-fluid,
  .mobile-header .container,
  .mobile-header .container-fluid{
    max-width:100vw !important;
    overflow-x:clip;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .navbar-toggler,
  .mobile-menu-toggle,
  .menu-toggle,
  .hamburger,
  button[aria-controls*="navbar"],
  button[data-bs-target*="navbar"]{
    flex:0 0 auto;
    margin-right:0 !important;
    z-index:11090 !important;
  }

  /* search icon button in navigator: no background */
  .header-action-btn.search-toggle,
  .header-action-btn[data-bs-target*="search"],
  .header-action-btn[data-search-toggle],
  .mobile-search-toggle,
  .nav-search-toggle,
  .header-search-btn{
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
  }

  .header-action-btn.search-toggle::before,
  .header-action-btn[data-bs-target*="search"]::before,
  .header-action-btn[data-search-toggle]::before,
  .mobile-search-toggle::before,
  .nav-search-toggle::before,
  .header-search-btn::before{
    display:none !important;
  }

  /* remove mobile search submit button completely */
  .mobile-search-form button[type="submit"],
  .search-form.mobile-search-form button[type="submit"],
  .search-form.position-relative button[type="submit"],
  .mobile-search-panel button[type="submit"],
  .mobile-search-wrap button[type="submit"]{
    display:none !important;
  }

  .mobile-search-form,
  .search-form.mobile-search-form,
  .mobile-search-panel .search-form,
  .mobile-search-wrap .search-form,
  form.search-form.position-relative{
    display:block;
    width:100%;
    max-width:100%;
  }

  .mobile-search-form .form-control,
  .search-form.mobile-search-form .form-control,
  .mobile-search-panel .form-control,
  .mobile-search-wrap .form-control,
  form.search-form.position-relative .form-control{
    width:100% !important;
    min-width:0 !important;
    padding-right:14px !important;
    box-sizing:border-box;
  }

  /* search filters button should not waste vertical space */
  .catalog-mobile-toolbar,
  .catalog-toolbar,
  .catalog-topbar,
  .products-toolbar,
  .mobile-filter-toolbar,
  .catalog-filters-toolbar,
  .catalog-controls-row,
  .catalog-sidebar-wrap,
  .catalogSidebarCollapse,
  .catalog-sidebar-collapse-wrap{
    margin-top:0 !important;
    margin-bottom:8px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  #catalogSidebarCollapse,
  .catalog-sidebar-wrap,
  .catalog-filter-panel,
  .catalog-sidebar-collapse,
  .catalog-mobile-filters{
    border:none !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  .search-filters-btn,
  .catalog-filter-toggle,
  .mobile-filter-toggle,
  button[data-bs-target="#catalogSidebarCollapse"],
  button[aria-controls="catalogSidebarCollapse"]{
    margin:0 !important;
  }

  /* product feed: one main card and a visible next card tail */
  .catalog-products,
  .products-grid,
  .product-grid,
  .catalog-grid,
  .catalog-list,
  .products-list{
    row-gap:12px !important;
  }

  .product-card,
  .arty-product-card,
  .catalog-product-card,
  .products-grid > .col,
  .products-grid > [class*="col-"],
  .product-grid > .col,
  .product-grid > [class*="col-"]{
    min-height:calc(70svh - var(--arty-mobile-stack-h)) !important;
  }

  .product-card,
  .arty-product-card,
  .catalog-product-card{
    display:flex !important;
    flex-direction:column;
    height:auto !important;
    border-radius:20px !important;
    overflow:hidden;
  }

  .product-card .product-media,
  .arty-product-card .product-media,
  .catalog-product-card .product-media,
  .product-card .ratio,
  .arty-product-card .ratio,
  .catalog-product-card .ratio,
  .product-card .card-img-top,
  .arty-product-card .card-img-top,
  .catalog-product-card .card-img-top{
    flex:0 0 auto;
  }

  .product-card .card-body,
  .arty-product-card .card-body,
  .catalog-product-card .card-body,
  .product-card .product-content,
  .arty-product-card .product-content,
  .catalog-product-card .product-content{
    display:flex;
    flex-direction:column;
    padding:14px !important;
    gap:8px;
  }

  .product-title,
  .card-title,
  .arty-product-title,
  .product-card__title,
  .catalog-product-card .title,
  .catalog-product-card h3,
  .catalog-product-card h4,
  .product-card h3,
  .product-card h4{
    font-size:1.5rem !important;
    line-height:1.18 !important;
    color:var(--arty-blue-deep) !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    margin-bottom:0 !important;
  }

  .product-price,
  .price,
  .card-price,
  .product-card .price-line,
  .arty-product-price{
    margin-bottom:5px !important;
  }

  .reaction-trigger,
  .reaction-item,
  .react-item,
  .share-btn,
  .share-trigger,
  [data-reactions],
  [data-share-path],
  .dropdown-menu.reactions-menu,
  .dropdown-menu.share-menu{
    position:relative;
    z-index:12050 !important;
  }

  /* footer animation */
  .footer-reveal-target{
    opacity:0;
    transform:translateY(-18px);
    transition:opacity .45s ease, transform .45s ease;
    will-change:opacity, transform;
  }

  .footer-reveal-target.is-visible{
    opacity:1;
    transform:translateY(0);
  }
}
