/** Shopify CDN: Minification failed

Line 1475:39 Unexpected "*"

**/
/* nalli-bundle.css — the six always-loaded Nalli stylesheets served as ONE
   render-blocking request instead of six (shopify.dev "Reduce stylesheet count";
   measured 600ms est. savings on Slow 4G). Built from, in cascade order:
   nalli-base, nalli-layout, nalli-footer, nalli-header, nalli-plp, nalli-cart.
   REBUILD this file whenever any of those change - do not edit it directly. */
/* ============================================================
   nalli-base.css (concatenated 2026-08-19 — source of truth is still the
   individual file; rebuild nalli-bundle.css after editing any part.
   Order matters: cascade == the old stylesheet_tag order in nalli-head.
   ============================================================ */
/* ==========================================================================
   nalli-base.css — WS2 foundation layer (NEW file, core untouched)
   Consolidates live assets/custom.css (1083 lines) + assets/style.css (360 lines)
   + the 2 surviving live base.css deltas (re-expressed for Horizon 4.1.3 at EOF).
   Load order: nalli-fonts.liquid -> nalli-base.css -> nalli-layout.css.
   Removed vs live: all @font-face (see snippets/nalli-fonts.liquid), dead
   commented rules, empty rulesets, exact-duplicate rules. Selector names are
   otherwise byte-identical to live (body classes template-* / Page_name_* /
   custom-mainbody-* are load-bearing — WS1 core edit).
   All silent fixes logged in rebuild/bugfixes/ws2.md.
   ========================================================================== */

/* ---- Nalli brand tokens ---- */
:root {
  --nalli-red: #a42829; /* also unifies the #a32829 variant found in filters/gift-voucher/stores */
  --nalli-red-deep: #811314;
}

/* ==========================================================================
   Part 1 — live assets/custom.css (order preserved)
   ========================================================================== */

/* css KL */
.wishlist-engine[data-added="true"] svg path {
  fill: none !important;
  stroke: var(--nalli-red) !important;
}
.wishlist-engine:hover svg path {
  fill: none;
  stroke: var(--nalli-red);
}
.wishlist-engine svg path{
stroke:#696969;
}
.wishlist-engine-button {
    background: #f0f0f0 !important;
}
product-recommendations .wishlist-icon-wrapper {
    display: none;
}
.wishlis_wrap_product {
    margin-left: 10px;
}

/* FAQ CSS  */

.faq-accordion .accordion-content a {
    color: var(--nalli-red);
    text-decoration: none;
}
.faq-accordion .accordion-content a:hover {
    color: var(--nalli-red) !important;
    text-decoration: underline !important;
}

/* Static pages CSS */

.page-p-tag
{
    color: #434343;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-top: 0;
    margin-bottom: 10px;
    font-family: 'Assistant-Regular';
}

.page-ul
{
    margin-bottom: 25px;
    margin-top: 0px;
}

.page-ul li
{
     color: #434343;
    margin-bottom: 10px;
    margin-top: 0px;
    font-family: 'Assistant-Regular';
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    font-size: 16px;
}

.page-h2
{
     font-size: 16px;
    font-weight: 300;
    font-family: 'Assistant-Bold';
    line-height: 1.42857143;
    color: #434343;
}
.page-table
{
  margin-bottom: 45px;
    margin-top: 30px;
}
.page-table tbody tr td strong
{
   line-height: 1.42857143;
    font-size: 16px;
    text-align: center;
    font-weight: 400;
    margin: 0;
    display: block;
    color: #434343;
    font-family: 'Assistant-SemiBold';
}
.page-table tbody tr td
{
    padding: 11px 10px;
    color: #434343;
    font-family: 'Assistant-Regular';
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    font-size: 16px;
}
.pagebuilder-mobile-only
  {
    display:none;
  }

.shopify-policy__container {
  padding-top: 40px;
  padding-left: 50px !important;
  padding-right: 50px !important;
}
.shopify-policy__title h1,
.shopify-policy__body h1,
.page-title h1 {
     text-align: center;
    font-family: 'Assistant-SemiBold';
    padding: 0;
    font-size: 24px;
    margin-bottom: 24px;
    color: #262626;
    font-weight: 300;
    line-height: 1.1;
}
.shopify-policy__body h1 {
    display: none;
}
.shopify-policy__body p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #434343;
    font-family: 'Assistant-Regular';
}
.shopify-policy__body table tr td {
    border: 1px solid #434343;
    text-align: center !important;
}
.shopify-policy__body table tbody tr:first-of-type td * {
    font-weight: 600;
}
.shopify-policy__body .rte div p,
.template-page div[data-content-type="text"] p {
    margin-top: 16px;
    margin-bottom: 16px;
}
.shopify-policy__body a,
.template-page div[data-content-type="html"] a,
.template-page div[data-content-type="text"] a{
    color: var(--nalli-red);
    text-decoration: none;
}
.shopify-policy__body a:hover,
.template-page div[data-content-type="html"] a:hover,
.template-page div[data-content-type="text"] a:hover {
    color: var(--nalli-red) !important;
    text-decoration: underline !important;
}

@media screen and (max-width:767px){

  .page-ul li
  {
    font-size: 14px !important;
    line-height: 21px !important;
  }
  .pagebuilder-mobile-only
  {
    display:block !important;
  }
  .pagebuilder-mobile-hidden
  {
    display:none;
  }
  .page-h2
  {
    font-size:16px !important;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .page-p-tag
  {
    font-size: 14px !important;
    line-height: 21px !important;
  }
  .page-table tbody tr td strong
{
   line-height: 21px !important;
    font-size: 14px !important;
}
.page-table tbody tr td
{
    line-height: 21px !important;
    font-size: 14px !important;
}
.page-table
{
  margin-bottom: 35px !important;
    margin-top: 15px !important;
}
.below-rate span
{
  margin-top:20px !important;
}
  rte-formatter.spacing-style.text-block.text-block--AejFUT2VtSWdSc3R6W__text_e6txyY.rte.text-block--align-left.text-block--full-width.rte {
    gap: 1rem;
  }
  .shopify-policy__container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .shopify-policy__title h1, .shopify-policy__body h1, .page-title h1 {
    font-size: 16px;
  }
  .shopify-policy__body p {
    font-size: 14px;
  }
  .template-page div[data-content-type="text"] li {
    margin-bottom: 16px;
  }
  /* NALLI-UX 2026-08-19: removed `bottom:52px !important; right:8px !important`.
     It was another hand-tuned guess at the image bottom measured from the whole card, and
     being unscoped + !important it beat the gallery-relative inset that now positions the
     heart (see the .card-gallery > .wishlist-icon-wrapper rule in snippets/product-card.liquid). */
}

@media screen and (min-width:1440px){
  .Care .custom-section-content p {
    font-size: 24px !important;
    line-height: 36px !important;
  }
}

/* Footer CSS Start */

.shopify-section-group-footer-group .email-signup-block .email-signup__input {
    font-family: Assistant-Regular;
    line-height: 100%;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 16px;
    color: #262626;
    border: solid 1px #ccc;
    border-radius: 0;
    padding: 10px 40px 10px 20px;
    height: 48px;
    background-color: #fff;
}
.shopify-section-group-footer-group .email-signup__form {
    max-width: 385px;
    margin: auto;
}
.shopify-section-group-footer-group .email-label {
    line-height: normal;
    color: #434343;
}
.shopify-section-group-footer-group .email-signup-block .email-signup__input:focus-visible {
    outline: none;
}
.shopify-section-group-footer-group .email-signup-block .email-signup__input:focus {
    box-shadow: 0 0 3px 1px #79797963;
}
.shopify-section-group-footer-group .email-signup-block svg.email-signup__button-icon:hover path {
    fill: var(--nalli-red);
}
.shopify-section-group-footer-group .email-signup-block button.email-signup__button {
    width: 36px;
}
.shopify-section-group-footer-group .email-signup-block .email-signup__input-group {
    margin-bottom: 18px;
}
.shopify-section-group-footer-group .email-signup-block~rte-formatter.text-block p {
    font-size: 14px !important;
    margin-bottom: 0 !important;
    line-height: normal !important;
    max-width: 338px;
    font-family: 'Assistant-Regular', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.shopify-section-group-footer-group .email-signup-block~rte-formatter.text-block p a:hover {
    color: var(--nalli-red);
    text-decoration: underline;
}
.shopify-section-group-footer-group strong.language-INR {
    font-size: 16px;
    color: #fff;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    font-family: 'Assistant-Regular';
}
.shopify-section-group-footer-group .section.footer-sec {
    background: #131313 !important;
}
.shopify-section-group-footer-group .custom-grid-section {
    background: #131313;
}
.footer-social .footer-social-icons a:hover svg {
    color: var(--nalli-red);
}
.footer-sec .section-content-wrapper .menu .menu__details .details-content ul li {
    margin-bottom: 8px;
}
.footer-sec .section-content-wrapper .menu .menu__details .details-content ul li:last-child {
    margin-bottom: 0px;
}
.footer-sec .div-footer-content .div-footer-wrap {
    gap: 8px;
    padding-left: 30px;
}
.popular-wrap .grid-link {
    border-right: 0 !important;
    padding: 0 !important;
}
.popular-wrap .custom-grid span.symbol:last-child {
    display: none;
}

@media screen and (min-width:768px) and (max-width:1024px){
  .popular-wrap .grid-link {
    font-size: 14px !important;
  }
  .footer-sec .div-footer-content .div-footer-wrap {
    padding-left: 0px;
    margin-right: -10px;
  }
  .Page_name_product-care .section.section--page-width.color-scheme-2.padding-xl-lr-60 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width:767px){
  .popular-wrap span.grid-item {
    display: inline-block;
  }
  .menu--accordion .menu__heading__accordion svg path {
    stroke-width: 3px;
  }
  .footer-sec .div-footer-content .div-footer-wrap a {
    font-family: 'Assistant-SemiBold';
  }
  .footer-sec .div-footer-content .div-footer-wrap {
    padding-left: 0px;
    gap: 0;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .menu__heading,
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item {
    margin-bottom: 0 !important;
  }
  .footer-sec .div-footer-content .div-footer-wrap a,
  .footer-sec .section-content-wrapper .menu .menu__details .menu__heading,
  .footer-social .footer_currency,
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item {
    padding: 15px 10px !important;
  }
  .shopify-section-group-footer-group .email-label {
    margin-top: 12px;
  }
  .shopify-section-group-footer-group rte-formatter.text-block p {
    max-width: 310px;
    margin: auto;
  }
  .shopify-section-group-footer-group .email-signup__form {
    max-width: 300px;
  }
  .shopify-section-group-footer-group .email-signup-block~rte-formatter.text-block p {
    color: #707070 !important;
  }
}
/* Footer CSS End */

/* Cart Drawer, Cart Page and Checkout page CSS Start */

 .cart-drawer__inner p.quantity-warning,
.template-cart p.quantity-warning {
    display: none !important;
}
.cart-drawer__inner .cart-items__quantity quantity-selector-component,
.cart-drawer__inner .cart-items__quantity .Desktop_only {
    display: none;
}
/* 2026-08-06: dropped `button.cart-items__remove {width:100%;height:100%}` — with the
   .Desktop_only stepper beside it in the fit-content flex row it resolved to width:0
   (invisible icon on desktop drawer). Stock sizing from cart-products.liquid applies. */
/* 2026-08-06: drawer delete icon pinned to the line's top-right corner (v1.1.5 parity —
   it previously sat in the `quantity` grid row below the image as an orphan). The
   emptied quantity row auto-collapses, removing the gap under the line. */
.cart-drawer__inner .nalli-cart-line {
    position: relative;
}
/* 2026-08-06: stock drawer CSS gives .cart-items__details display:contents, which
   grid-auto-places its children — the Qty line landed in the empty top-right `price`
   grid cell and collided with the corner delete icon at wide drawer widths. Block
   flow stacks title / Qty / Color / variants / price in DOM order (client: Qty
   above price) and leaves the corner to the delete icon. */
.cart-drawer__inner .cart-items__details {
    display: block !important;
    grid-area: details;
}
/* drawer is delete-only: the opacity-hidden mobile stepper otherwise leaves a ~52px
   blank hole between Color and price at <=749px (cart page keeps its qty UI) */
.cart-drawer__inner .nalli-mobile-quantity {
    display: none !important;
}
.cart-drawer__inner .nalli-cart-line button.cart-items__remove {
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    min-width: 0;
    min-height: 0;
    padding: 0;
}

.template-cart td.cart-items__quantity {
    padding-left: 20px;
}

.template-cart .cart-page__items td.cart-items__quantity button.cart-items__remove {
    justify-content: end;
    width: 100%;
    height: 100%;
}
.template-cart .cart-page__items td.cart-items__price {
    min-height: auto;
}
.cart-page--empty .cart-items__wrapper p a:hover,
.cart-drawer:not(:has(.cart-form)) .cart-items__wrapper p a:hover{
    color: var(--nalli-red) !important;
    text-decoration-color: var(--nalli-red) !important;
}
floating-panel-component.account-popover__panel nav.account-actions__nav a.account-actions__link {
    border-radius: 0;
}
floating-panel-component.account-popover__panel nav.account-actions__nav a.account-actions__link:hover {
    background: var(--nalli-red) !important;
    --button-border-color: var(--nalli-red) !important;
}
floating-panel-component .account-actions header.account-actions__header {
    box-shadow: none;
}
.template-cart  .ui-test-product-list .section-resource-list__header a.size-style.link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.template-cart  .ui-test-product-list .product-card .product-card__content h3{
      color: #262626;
    font-size: 18px;
    line-height: 24px;
    font-family: 'Assistant-Regular';
    font-weight: 400;
    max-height: fit-content;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: fit-content;
}
.template-cart  .ui-test-product-list .product-card .product-card__content product-price span.price {
    font-size: 18px;
    line-height: 100%;
    color: #606060;
    font-family: Assistant-Regular;
    font-weight: 400;
    margin-top: 5px !important;
}

.template-404 .layout-panel-flex.section-content-wrapper a.size-style.button svg {
    display: none;
}
.cart-drawer__heading .cart-bubble__background,
.cart-title .cart-bubble__background {
    background: var(--nalli-red) !important;
}
.cart-drawer__heading .cart-bubble__text,
.cart-title .cart-bubble__text {
    color: #fff !important;
}

/* Cart Drawer, Cart Page and Checkout page CSS End */


/* Header CSS Start */

header span.currency-code {
    font-weight: 400 !important;
    font-family: 'Assistant-Regular';
}
header .header__columns {
    padding-left: 10px;
}

@media screen and (min-width:1440px){
  .header-section:has(> #header-component[sticky='always']),
  .header-section:has(> #header-component[sticky='scroll-up'][data-sticky-state='active']) {
    top: 40px !important;
  }
  header .header__columns {
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media screen and (min-width:768px) and (max-width:1024px){
  header .header__columns {
    padding-left: 0;
  }
  .header__row {
    grid-template-columns: unset !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* NOTE: on live these 5 rules sat after an EMPTY max-width:767px media query with a stray
   closing brace, so they applied GLOBALLY (the stray brace is a parse error browsers drop).
   Ported as global on purpose — see bugfixes/ws2.md #4. */
.menu-drawer__menu-item {
    min-height: auto !important;
    padding: 0 !important;
  }
  .menu-drawer__menu.has-submenu.hr {
    gap: 0 !important;
  }
  .menu-drawer__menu-item-text {
    font-size: 14px !important;
    text-transform: capitalize !important;
  }
  ul.menu-drawer__menu.menu-drawer__menu--childlist span.menu-drawer__menu-item-text {
    color: #575757;
    font-weight: 400;
    font-family: 'Assistant-Regular';
  }
  .menu-drawer__menu-item-text:active {
    color: var(--nalli-red) !important;
  }

/* Header CSS End */

/* Hero Banner CSS Start */

.homepage-hero-banner .slideBanner-content .deskimg img {
  object-fit: cover;
}

@media screen and (min-width:1440px) {
  .homepage-hero-banner .slideBanner-content .deskimg img {
    max-height: 590px;
  }
}

@media screen and (min-width:1700px) {
  .homepage-hero-banner .slideBanner-content .deskimg img {
    max-height: 690px;
  }
}

@media screen and (min-width:1850px) and (max-width:1920px){
  .homepage-hero-banner .slideBanner-content .deskimg img {
    max-height: 760px;
  }
}

/* Hero Banner CSS End */

.email-signup__message.email-signup__message--success {
    background: var(--nalli-red);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px;
    margin-bottom: 10px;
}

.email-signup__message.email-signup__message--success span.svg-wrapper.icon-success {
    color: #fff;
}
.email-signup__message.email-signup__message--success p.email-signup__message-text {
    width: fit-content !important;
    color: #fff !important;
    margin: 0 !important;
}

/* 404 Page Start */

.template-404 .section-resource-list__header .group-block p {
    font-family: 'LibreFranklin-SemiBold';
    font-size: 32px;
    line-height: 1.2;
    font-weight: 300;
    color: #212121;
}
.template-404 .resource-list .product-card .product-card__content .group-block .group-block-content .spacing-style h3 {
    color: #262626;
    font-size: 18px;
    line-height: 24px;
    font-family: 'Assistant-Regular';
    font-weight: 400;
    max-height: fit-content;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: fit-content;
}
.template-404 .resource-list .product-card .product-card__content .group-block .group-block-content .price {
    font-size: 18px;
    line-height: 100%;
    color: #606060;
    font-family: 'Assistant-Regular';
    font-weight: 400;
}

@media screen and (min-width:1440px){
  .template-404 .section-resource-list__header .group-block p {
    font-size: 40px;
    line-height: 1.4;
  }
}

@media screen and (max-width:767px){
  .template-404 .section-resource-list__header .group-block p {
    font-size: 24px;
    line-height: 100%;
  }
  .template-404 .resource-list .product-card .product-card__content .group-block .group-block-content .spacing-style h3 {
    font-size: 14px;
    line-height: 20px;
  }
  .template-404 .resource-list .product-card .product-card__content .group-block .group-block-content .price {
    font-size: 14px;
  }
}

/* 404 Page End */

/* Cart drawer CartPage and Checkout CSS Start */

.cart-drawer--empty .cart-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between !important;
}
.cart-drawer--empty .cart-drawer__header span.cart-drawer__heading {
    margin: 0;
}
.template-cart .new-pro .section-resource-list__header .group-block .group-block-content .spacing-style h3 {
    margin-bottom: 0 !important;
}

/* Cart drawer CSS End */

/* Width fix for large screen CSS Start */
.template-search .facets-block-wrapper .facets {
  padding-left: 0px !important;
  padding-right: 0px !important;
  width: 100%;
}
.template-search .facets-block-wrapper .facets .facets-toggle{
  padding-left: 3px !important;
}
.predictive-search-form__footer button.button.button-primary.predictive-search__search-button {
    padding-top: 8px;
    padding-bottom: 8px;
}
predictive-search-component .predictive-search-results__pill:hover{
    background: var(--nalli-red);
    color: #fff;
}
predictive-search-component .predictive-search-results__pill:hover *{
    color: #fff;
}
@media screen and (min-width:1440px){
  .template-collection .grid.main-collection-grid {
    padding-left: 60px;
    padding-right: 60px;
  }
  .template-list-collections .section.section--page-width.section-resource-list,
  .template-404 .section.section-resource-list,
  .section.section--page-width .spacing-style.search-page__header,
  .template-search results-list.section.product-grid-container{
    padding-left: 60px;
    padding-right: 60px;
  }
  .padding-xl-lr-60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .padding-xl-l-60 {
    padding-left: 60px !important;
  }
  .padding-xl-r-60 {
    padding-right: 60px !important;
  }
  .store-listings {
    padding-left: 100px;
    padding-right: 100px;
  }
  .custom-mainbody-all-stores .main_state_data_tab, .custom-mainbody-stores .main_state_data_tab {
    margin-left: 0px;
  }
}
/* CSS End */

/* Collection List page image ratio */

.template-list-collections .resource-list.resource-list--grid .resource-list__item .collection-card {
    --ratio: 16 / 21 !important;
}

/* Blog Page CSS Start */

.template-blog .blog-posts {
    --page-width: 100% !important;
    --page-content-width: 100rem;
    padding-left: 60px;
    padding-right: 60px;
}
.template-blog .blog-posts h1 {
    font-family: 'LibreFranklin-SemiBold';
    color: #262626;
    font-size: 50px;
}
.template-blog .blog-posts > rte-formatter.text-block p{
    font-family: 'Assistant-Regular';
    color: #434343;
    font-size: 20px;
    width: 100%;
    max-width: 900px;
}
.template-blog .blog-posts-container {
    gap: 24px;
}
.template-blog .blog-post-item:first-child {
    grid-column: span 2 !important;
}
.template-blog .blog-post-item:nth-child(2),
.template-blog .blog-post-item:nth-child(3) {
    grid-column: span 2 !important;
}
.template-blog .blog-post-item:first-child .blog-post-card {
    flex-direction: column !important;
}
.template-blog .blog-post-item:first-child .blog-post-card__image-container {
    width: 100% !important;
}
.template-blog .blog-post-item:first-child:has(.blog-post-card__image-container) .blog-post-card__content {
    padding-inline-start: 24px !important;
    width: 100% !important;
}
.template-blog .blog-post-item {
    background: #f6f6f6;
}
.template-blog .blog-post-item .blog-post-card__content {
    padding: 20px 24px !important;
}
.template-blog .blog-post-item .blog-post-card__content .h2 {
    font-family: 'LibreFranklin-SemiBold';
    color: #262626;
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 4px;
    padding: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.template-blog .blog-post-item .blog-post-card__content .blog-post-details time {
    font-family: 'Assistant-Regular';
    color: #696969;
    font-size: 16px;
}
.template-blog .blog-post-item .blog-post-card__content > a {
    padding: 0;
}
.template-blog .blog-post-item .blog-post-card__content rte-formatter.blog-post-card__content-text {
    color: #696969;
    font-size: 16px;
    font-family: 'Assistant-Regular';
}
.template-blog .blog-post-item .blog-post-card__content rte-formatter.blog-post-card__content-text a {
    color: var(--nalli-red);
    font-family: 'Assistant-SemiBold';
    font-size: 18px;
}
.template-blog .blog-post-item .blog-post-card__content rte-formatter.blog-post-card__content-text a:after {
    content: '\e903';
    font-family: 'luma-icons';
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    font-size: 12px;
    width: auto;
    line-height: normal;
}
.template-article .blog-post-content h4 {
    font-size: 24px;
    margin: 24px 0;
}

.template-article header {
    box-shadow: none;
}
.template-article .blog-post-content .blogBodyImg img {
    width: auto;
    max-width: 100%;
}
.template-article .blog-post-content a{
  color: var(--nalli-red);
  text-decoration: none;
}
.template-article .media-wrapper.image figure {
    margin: 0;
}

@media screen and (min-width:768px) and (max-width:1024px){
  .template-blog .blog-posts-container {
    gap: 16px;
  }
  .template-blog .blog-posts h1 {
    font-size: 40px;
  }
  .template-blog .blog-posts > rte-formatter.text-block p {
    font-size: 16px;
  }
  .template-blog .blog-post-item:first-child:has(.blog-post-card__image-container) .blog-post-card__content {
    padding-inline-start: 16px !important;
    width: 100% !important;
  }
  .template-blog .blog-post-item .blog-post-card__content {
    padding: 16px 16px !important;
  }
  .template-blog .blog-post-item .blog-post-card__content .h2 {
    font-size: 14px;
  }
  .template-blog .blog-post-item .blog-post-card__content .blog-post-details time {
    font-size: 12px;
  }
  .template-blog .blog-post-item .blog-post-card__content rte-formatter.blog-post-card__content-text {
    font-size: 12px;
    padding-top: 6px;
  }
  .template-blog .blog-post-item .blog-post-card__content rte-formatter.blog-post-card__content-text a {
    font-size: 12px;
    padding-top: 8px;
  }
  .template-article .blog-post-content h4 {
    font-size: 20px;
    margin: 20px 0;
  }
}

@media screen and (max-width:767px){
  .template-blog .blog-posts h1 {
    font-size: 20px;
  }
  .template-blog .blog-posts > rte-formatter.text-block p {
    font-size: 14px;
  }
  .template-blog .blog-post-item:first-child {
    grid-column: span 1 !important;
  }
  .template-blog .blog-post-item:nth-child(2), .template-blog .blog-post-item:nth-child(3) {
    grid-column: span 1 !important;
  }
  .template-blog .blog-posts-container {
    display: flex;
    flex-direction: column;
  }
  .template-article .blog-post-content h4 {
    font-size: 18px;
    margin: 20px 0;
  }
}

/* Product Placeholder Image */

product-title.product-card-gallery__title-placeholder {
    padding: 0 !important;
    width: 100%;
    height: 100%;
    aspect-ratio: unset;
}
.placeholder-media-gallery .media-wrapper {
    display: flex;
    flex-direction: row;
    gap: 9px;
    justify-content: center;
}
.placeholder-media-gallery .media-wrapper img#media-gallery {
    width: calc(50% - 9px);
}
.product-form-buttons.product_sd button {
    height: 44px;
    margin: 0px;
    font-size: 16px;
    background: var(--nalli-red-deep);
    border: 1px solid var(--nalli-red-deep);
    color: #fff;
    line-height: 24px;
    padding: 9px 14px;
    width: 100%;
    margin-top: 50px;
    align-items:center;
    justify-content:center;
}
@media screen and (max-width:767px){
  .placeholder-media-gallery .media-wrapper {
    gap: 0px;
  }
  .placeholder-media-gallery .media-wrapper img#media-gallery {
    width: 100%;
  }
  .placeholder-media-gallery .media-wrapper img#media-gallery:last-child {
    display: none;
  }
}

/* Doc issue fix - 11 -09-25 */

.predictive-search-results__inner div#predictive-search-products .resource-card .resource-card__media {
  --resource-card-aspect-ratio: 3 / 5 !important;
}
cart-drawer-component .cart-items__table tbody .cart-items__table-row td.cart-items__details {
    width: 68%;
}
cart-drawer-component .cart-items__table tbody .cart-items__table-row .cart-items__quantity {
    width: 10%;
}
.template-collection .main-collection-grid .product-grid product-card .card-gallery .product-media-container.media-fit {
    aspect-ratio: 2 / 3 !important;
}
.template-collection .main-collection-grid .product-grid product-card .card-gallery .product-media-container.media-fit .product-media {
    aspect-ratio: 2 / 3 !important;
}

@media screen and (min-width:768px){
  .template-collection .facets-block-wrapper .facets.facets--horizontal .facets-toggle {
    padding-left: 0;
    flex: unset;
  }
  .template-collection .facets-block-wrapper .facets.facets--horizontal facets-form-component form .facets__actions {
    flex: auto;
  }
  .template-collection .facets-block-wrapper .facets.facets--horizontal .products-count-wrapper {
    position: absolute;
    left: 48%;
  }
}

@media screen and (min-width:768px) and (max-width:1024px){
  .announcement-bar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .announcement-bar__slides {
    max-width: 100% !important;
  }
  .seo-footer-right .saree_price_list {
    gap: 20px !important;
    width: 100% !important;
    justify-content: space-between;
  }
  .seo-footer-right .saree_price_list .proprice {
    width: fit-content !important;
    padding-right: 5px;
  }
  .share-wrap.active>div .share-container {
    padding: 10px 15px !important;
    display: flex !important;
    gap: 20px !important;
  }
  .share-wrap.active>div .share-option+.share-option, .share-wrap.active>div .share-option+a {
    margin-left: 0 !important;
  }
  .share-wrap.active>div .share-option:before {
    font-size: 16px !important;
  }
  .share-wrap.active>div button.ui-button {
    font-size: 0px !important;
    top: 12px !important;
    padding: 2px 6px !important;
  }
  body.template-product.voucher ul.media-gallery__grid.list-unstyled li.product-media-container.product-media-container--image {
    width: 100%;
  }
}

@media screen and (max-width:767px){
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item a{
    margin-bottom: 0 !important;
  }
  .support-widget {
    bottom: 12% !important;
  }
  body.Page_name_coming-soon .section.main-page .section-content-wrapper {
    padding-bottom: 10px;
  }
}

.collection-seo-footer header {
    box-shadow: none !important;
}
results-list a.skip-to-content-link.button-secondary {
    display: none !important;
}

/* Hide share wrapper for mobile on pdp */

@media screen and (max-width:767px){
  .template-product .share-wrap.desk {
    display: none !important;
  }
}

/* WS1 hidden homepage SEO H1 (theme.liquid H14) — typography moved out of the
   live inline style attribute; the wrapper's display:none stays inline in
   snippets/nalli-seo-h1.liquid */
.h1-seo {
    text-align: center;
    padding: 5%;
    font-family: 'LibreFranklin-SemiBold';
    font-size: 28px;
    font-weight: 400;
}

/* theme.liquid H19 (risk register #15) REMOVED 2026-08-06: `td.cart-items__quantity > div
   {opacity:0; pointer-events:none}` ghosted the fork's remove button on Horizon markup
   (nalli-cart-line.liquid nests it inside .cart-items__quantity-controls) — customers
   could not delete cart lines on drawer or /cart. The stepper H19 meant to hide stays
   hidden via nalli-cart.css (.quantity-selector opacity/pointer-events rules). */

/* ==========================================================================
   Part 2 — live assets/style.css (order preserved; Luma-Icons @font-face
   moved to snippets/nalli-fonts.liquid)
   ========================================================================== */

header{
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, .05);
}
.account-drawer{
        display: flex;
    align-items: center;
}
.kl_wishlist svg{
        stroke-width: 3px;
}
.s-share{
          margin: 0;
    border-radius: 30px;
    background: #f0f0f0;
    width: 32px;
    height: 32px;
    display: flex;
    text-align: center;
    padding: 0;
    border: 0;
    align-items: center;
    justify-content: center;
    cursor:pointer;
        margin-right: 8px;
}

.s-share span{
     width: 32px;
    height: 32px;
}
.s-share span:before{
    content: "\e946";
    font-family: Luma-Icons;
    font-size: 18px;
    vertical-align: middle;
    display: inline-block;
    color: #696969;
    line-height: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.s-share:hover span:before{
        color: var(--nalli-red);
}
.s-share.active span:before{
        content: '\e967';
            font-size: 12px;
             color: var(--nalli-red);
}
.share-wrap, .ui-dialog-title {
    display:none;
}
.share-wrap.active{
    display:block;
        margin-bottom: 15px;
}
.share-wrap.active>div .share-container {
    border: 1px solid #8c8c8c;
    padding: 15px 30px 15px 20px;
}
.share-wrap.active>div .share-option {
    display: inline-block;
    color: var(--nalli-red);
}
 .share-wrap.active>div .share-option:hover:before {
    color: var(--nalli-red);
}
.share-wrap.active>div .share-option:before {
    content: '\e91b';
    font-family: 'luma-icons';
    font-size: 24px;
    vertical-align: middle;
    display: inline-block;
    line-height: normal;
    color: #7c878e;
}
.share-option span{
    display:none;
}
.share-wrap.active>div .share-option.s-whatsapp:before {
    content: '\e969';
}
 .share-wrap.active>div .share-option.s-mail:before {
    content: '\e966';
}
.share-wrap.active>div .share-container .copy_link {
    font-family: 'Assistant-SemiBold';
    color: var(--nalli-red);
}
/* copy_link is a <button> now (void-href anchors fail crawlable-anchors);
   strip the UA button chrome so it keeps the anchor look. */
.share-wrap.active>div .share-container button.copy_link {
    background: none;
    border: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    cursor: pointer;
}
.share-wrap.active>div .share-container .copy_link:hover{
 text-decoration: underline;
}
.share-wrap.active>div .share-option+.share-option,  .share-wrap.active>div .share-option+a {
    margin-left: 1.8rem;
}
.share-wrap.active>div button.ui-button {
    color: #fff;
    font-size: 1px;
    height: auto;
    border: 0;
        text-decoration: none;
    background: 0 0;
    position: absolute;
    top: 13px;
    right: 1px;
    padding: 7px 14px;
    line-height: normal;
    cursor:pointer;
}
.share-wrap.active>div button.ui-button:before {
    content: '\e616';
    font-family: 'luma-icons';
    display: inline-block;
        font-size: 1.2rem;
    color: #8c8c8c;
}
@media(max-width:766px){
    .kl_wishlist svg{
        stroke-width: 3px;
   }
   .h-wishlist-icon svg {
        width: 22px !important;
        height: 22px !important;
    }
   .s-share{
    display:none;
   }
   .icon-wrap-pro  {
     display:none;
   }
}
@media screen and (min-width: 767px) {
      .product-information   .product-information--media-left {
            grid-template-columns: 1fr 0.55fr!important;
        }
        .icon-wrap-pro {
           position: absolute;
            top: 0;
            right: 0;
            display:flex;
        }
        .icon-wrap-pro.active {
            top: 70px;
        }
        .product-information .group-block-content .text-block h1 {
            width:78%;
        }
}

/* CSS by Anand */

.template-product .product-information .product-details .price-container {
    margin: 0;
}
.template-product .product-information .product-details .tax-note {
    text-wrap-mode: nowrap;
    text-wrap: auto;
}
.template-product .product-information .product-details .quantity-warning{
    color:red;
    font-size:14px;
    margin-top: 0px;
    text-wrap-mode: nowrap;
}
.template-product .dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image {
    height: 100vh !important;
    display: flex;
    justify-content: center;
}
.template-product product-recommendations .section-resource-list__content rte-formatter.text-block p {
    margin-top: 12px;
    color: #3D3D3D;
}
.template-product product-recommendations .section-resource-list__content {
    gap: 0;
}
.template-product product-recommendations {
    padding-left: 50px;
    padding-right: 50px;
}
.header-actions__cart-icon .cart-bubble {
    width: 15px !important;
    height: 15px !important;
    top: 9px !important;
    right: 7px !important;
}
.header-actions__cart-icon .cart-bubble .cart-bubble__background {
    background: var(--nalli-red);
}

.template-product product-recommendations .product-card .product-card__content .group-block .group-block-content .spacing-style h2 {
    color: #262626;
    font-size: 18px;
    line-height: 24px;
    font-family: 'Assistant-Regular';
    font-weight: 400;
    max-height: fit-content;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: fit-content;
}
.template-product product-recommendations .product-card .product-card__content .group-block .group-block-content .price {
    font-size: 18px;
    line-height: 100%;
    color: #606060;
    font-family: 'Assistant-Regular';
    font-weight: 400;
}
.accordion accordion-custom:first-child .details {
    border-bottom: none;
}
.template-product product-recommendations .slideshow-control--shape-circle {
    background-color: var(--nalli-red);
}

@media screen and (min-width: 750px) {
  .template-product .media-gallery--two-column .media-gallery__grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .template-product .media-gallery--two-column .media-gallery__grid li.product-media-container {
    width: calc(50% - var(--image-gap));
  }
  product-recommendations .section-resource-list__content rte-formatter.text-block p {
    font-size: 20px;
    line-height: 28px;
  }
  .template-product .product-information__grid {
    gap: 0 !important;
  }
}

@media screen and (max-width:749px){
  .template-product .dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image drag-zoom-wrapper.product-media__drag-zoom-wrapper {
    --drag-zoom-scale: unset !important;
    --drag-zoom-translate-x: unset !important;
    --drag-zoom-translate-y: unset !important;
  }
}

@media screen and (max-width:787px){
  .template-product product-recommendations {
    padding-left: 15px;
    padding-right: 15px;
  }
  .template-product .product-information .product-details .quantity-warning {
    font-size: 12px;
  }
  .template-product .product-details .group-block-content {
    gap: 0;
  }
  .template-product .product-sku > div {
    padding-bottom: 0;
  }
  .template-product .product-sku span {
    padding-bottom: 0;
  }
  .template-product product-recommendations .product-card .product-card__content .group-block .group-block-content .spacing-style h2 {
    font-size: 14px;
    line-height: 20px;
  }
  .template-product product-recommendations .product-card .product-card__content .group-block .group-block-content .price {
    font-size: 14px;
  }
  .template-product product-recommendations .slideshow-control--shape-circle {
    width: 30px;
    height: 30px;
    min-height: 30px;
  }
}

/* Wishlist */
.template-search.page-width-wide .wishlist-icon-wrapper {
    display: none;
}

button.wishlist-cart.wishlist-move-cart {
    height: 44px;
    margin-top: 10px;
    text-transform: math-auto;
    font-size: 16px;
    background: var(--nalli-red-deep) !important;
    border: 1px solid var(--nalli-red-deep) !important;
    color: #fff;
    line-height: 22px;
    padding: 7px 14px;
}
/* instafeed */
.template-index #insta-feed {
    margin-top: 25px;
    margin-bottom: 30px !important;
    text-align:left;
}
.template-index #insta-feed h2 {
    font-size: 32px;
    line-height: 1.2;
    text-align: left !important;
    color: #212121;
    font-weight: 600;
    position: relative;
    display: inline-block;
}
#insta-feed h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--nalli-red), #e6a4a4);
    animation: slideLine 1.5s ease-in-out infinite;
}
.Mobile_only.cart-items__quantity {
    opacity: 0;
    height: 0;
}
@keyframes slideLine {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }
    50% {
        transform: scaleX(1);
        transform-origin: center;
    }
    100% {
        transform: scaleX(0);
        transform-origin: right;
    }
}
@media (max-width: 768px) {
    .template-index #insta-feed h2 {
        font-size: 24px;
    }
}

@media screen and (min-width:1440px){
    .template-index #insta-feed {
        width: calc(100% - 120px) !important;
    }
}

/* ==========================================================================
   Part 3 — live base.css deltas, re-expressed against pristine Horizon 4.1.3
   (core base.css stays byte-pristine; #site-loader delta dropped as dead)
   ========================================================================== */

/* Policy pages full width (live base.css .shopify-policy__container delta) */
.shopify-policy__container {
  max-width: 100% !important;
  margin: 0 auto;
}

/* Maroon checkbox check (live base.css delta, rewritten for 4.1.3's
   input[type=checkbox] architecture — 2.x .checkbox__input/.icon-checkmark
   selectors no longer exist). Core rules use :where() so these win. */
input[type='checkbox']:checked {
  background-color: var(--nalli-red);
  border-color: var(--nalli-red);
  border-radius: 2px;
}
input[type='checkbox']:not(:disabled):hover:checked {
  background-color: var(--nalli-red);
  border-color: var(--nalli-red);
}
input[type='checkbox']:disabled:checked {
  background-color: var(--input-disabled-background-color);
  border-color: var(--input-disabled-border-color);
  border-radius: 2px;
}
/* ============================================================
   nalli-layout.css (concatenated 2026-08-19 — source of truth is still the
   individual file; rebuild nalli-bundle.css after editing any part.
   Order matters: cascade == the old stylesheet_tag order in nalli-head.
   ============================================================ */
/* ==========================================================================
   nalli-layout.css — WS2 (NEW file, core untouched)
   Verbatim port of inline <style> block #1 from live layout/theme.liquid
   (lines 97-554). Load AFTER nalli-base.css.
   Block #2 (Singapore login modal + price gate, live lines 558-730) is NOT
   here: WS1 already ported it — scoped under #loginModal — inside
   snippets/nalli-singapore-login.liquid; porting it again would duplicate.
   Removed vs live: .mySwiper*/.swiper-*/.nav-swipe rules (Swiper dropped),
   Liquid-commented rules, empty rulesets, exact duplicates. Brand hexes
   replaced with tokens from nalli-base.css. Everything else byte-identical —
   selectors depend on WS1 body classes (template-*, Page_name_*).
   All silent fixes logged in rebuild/bugfixes/ws2.md.
   ========================================================================== */

/* ---- Block #1: page-scoped overrides (live theme.liquid lines 97-554) ---- */

body.Page_name_collections {
  .collection-section .pagebuilder-column-line {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 25px;
    margin-bottom: 10px;
  }
  .collection-section .pagebuilder-column-line figure {
    margin: 0;
  }
  .collection-section .pagebuilder-column-line .collection-btn p {
    margin-top: 3px;
  }
  .collection-section .pagebuilder-column-line .pagebuilder-column.collections-img img.pagebuilder-mobile-hidden {
    max-width: 320px;
    height: 420px;
    object-fit: cover;
  }
  @media only screen and (max-width: 768px) {
    .collection-section .pagebuilder-column-line{
      grid-template-columns: repeat(2, 1fr);
      column-gap: 15px;
    }
    .collection-section .pagebuilder-column-line .collection-btn p {
      margin-top: 3px;
    }
    .collection-section .pagebuilder-column-line .pagebuilder-column.collections-img img.pagebuilder-mobile-only {
      max-width: 170px;
      height: 220px;
      object-fit: cover;
    }
  }
}

body.template-collection{
  nav.pagination a {
    margin-right: 0px;
    /* WCAG 2.2 target-size: bare number links measure ~16px wide on mobile —
       give every page link a >=28px hit box without changing the type. */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
  }
  nav.pagination span {
    line-height: 33px;
  }
  span.current {
    line-height: inherit !important;
  }
  @media only screen and (max-width: 768px) {
    .pagination {
      gap: 10px;
    }
    .pagination a,.pagination .current {
      font-size: 18px;
    }
    .pagination .current{
      scale: 1.5;
    }
    #filters-drawer .facets--drawer .facets__form-wrapper .sorting-filter .sorting-filter__container select{
      line-height: 20px;
    }
  }
  @media only screen and (max-width: 480px) {
    #filters-drawer .facets__filters-wrapper {
        order: 2;
    }
    #filters-drawer  sorting-filter-component.sorting-filter.sorting-filter__horizontal {
        order: 1;
    }
    .pagination {
      gap: 5px;
    }
    .pagination a, .pagination .current {
      font-size: 13px;
    }
  }
}

.template-product {
  product-recommendations .section.section--full-width.color-scheme-1.section-resource-list.spacing-style.gap-style {
    padding-top: 0;
  }
  .product_tone_wrapper .item-pro img {
    object-fit: cover;
  }
  div#judgeme_product_reviews {
      max-width: 100% !important;
      padding-left: 50px;
      padding-right: 50px;
  }
  .product_tone_wrapper h2 {
    font-family: 'LibreFranklin-SemiBold';
    font-weight: 300;
    margin-bottom: 12px;
    color: #212121;
    font-size: 40px !important;
    line-height: 1.2 !important;
  }
  .product-form-buttons span.atc-sticky {
    z-index: 999;
  }
  @media only screen and (max-width: 1024px) {
    .product_tone_wrapper, product-recommendations,div#judgeme_product_reviews{
      padding-left: 20px !important;
      padding-right: 20px !important;
    }
    .product_tone_wrapper, product-recommendations{
      padding-bottom: 40px !important;
    }
  }
  @media only screen and (max-width: 768px) {
    .product_tone_wrapper h2{
      font-size: 20px !important;
      line-height: 100% !important;
      margin-bottom: 5px !important;
    }
    .product_tone_wrapper p{
      font-size: 14px !important;
      line-height: 20px !important;
      margin-bottom: 30px;
    }
    .product_tone_wrapper {
      padding-bottom: 40px;
    }
  }
  @media only screen and (max-width: 480px) {
    .product_tone_wrapper .item-pro img{
      height: 100%;
    }
    div#judgeme_product_reviews,.product_tone_wrapper, product-recommendations {
      padding-left: 15px !important;
      padding-right: 15px !important;
    }
  }
}

@media only screen and (max-width: 787px) {
  .email-signup-block .email-signup__input {
    max-width: 300px !important;
    width: 100% !important;
  }
}

.Page_name_about-us{
  @media only screen and (min-width: 1024px) {
    .section.section--full-width.disable-section-top-offset.media-with-content.color-scheme-1.spacing-style.media-with-content--medium{
        min-height: 320px !important;
    }
  }
  @media only screen and (min-width: 787px) {
    .section.section--full-width.disable-section-top-offset.media-with-content.color-scheme-1.spacing-style.media-with-content--medium{
        min-height: 700px;
    }
  }
  @media only screen and (max-width: 480px) {
    #shopify-section-template--24911001616683__section_9xiz6X .custom-section-content p {
        padding-top: 22px;
    }
  }
}

.email-signup-block.size-style.spacing-style {
    width: 100%;
}

.Page_name_product-care{
  .Care .hero img {
    object-fit: cover !important;
  }
  .section.section--page-width.color-scheme-2.padding-xl-lr-60{
    background: #f6f6f6 !important;
  }
}
div#ResultsList a.main-collection-grid__empty-link:hover {
    text-decoration: underline;
    color: var(--nalli-red);
}

.kl_wishlist {
    position: relative;
}
.kl_wishlist span.wishlist-h-count.wishlist-total-count {
    position: absolute;
    padding: 2px;
    color: white;
    font-size: 12px !important;
    border-radius: 50px;
    height: 15px;
    width: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 5px;
    right: -7px;
    font-weight: bold;
}

body.Page_name_coming-soon .section.main-page.color-scheme-1 {
    padding: 0;
}

body.template-list-collections{
  h1 {
    font-size: 24px !important;
  }
  .resource-list__item .collection-card__inner{
    position: relative;
  }
  .resource-list__item .collection-card__inner .collection-card__content.layout-panel-flex--column {
      position: absolute;
      bottom: 30px;
      right: 0%;
      top: auto;
      width: 100%;
      height: auto;
  }
  .resource-list__item .collection-card__inner .collection-card__content.layout-panel-flex--column p {
      font-family: 'Assistant-SemiBold';
      color: #000;
      border: 1px solid #fff;
      background: #fff;
      padding: 10px 25px;
      border-radius: 50px;
      font-size: 20px;
      text-align: center;
      width: fit-content;
      margin: 0 auto;
  }
  @media screen and (max-width: 1024px) and (min-width: 750px){
    .resource-list__item .collection-card__inner .collection-card__content.layout-panel-flex--column p {
      font-size: 15px;
      padding: 5px 10px;
    }
  }
  @media screen and (max-width: 749px) {
    .resource-list__item .collection-card__inner .collection-card__content.layout-panel-flex--column{
      bottom: 10px;
    }
    .resource-list__item .collection-card__inner .collection-card__content.layout-panel-flex--column p {
      padding: 6px 12px !important;
      border-radius: 15px !important;
      font-size: 12px !important;
    }
  }
  @media screen and (max-width: 480px) {
    .resource-list__item .collection-card__inner .collection-card__content.layout-panel-flex--column p{
      font-size: 10px !important;
    }
  }
}

body.template-search{
  product-card h3 {
    color: #262626;
    font-size: 18px;
    line-height: 24px;
    font-family: 'Assistant-Regular';
    font-weight: 400;
  }
  .product-card:hover h3 {
    color: var(--nalli-red) !important;
    text-decoration:underline;
  }
  product-price .price-container span.price {
    font-size: 18px;
    line-height: 100%;
    color: #606060;
    font-family: 'Assistant-Regular';
    font-weight: 400;
  }
  .view_option_gride_list.column-options-wrapper {
    display: none;
  }
  @media screen and (max-width: 768px) {
    results-list.section.product-grid-container .collection-wrapper.grid.gap-style div#ResultsList{
      padding-left: 15px;
      padding-right: 15px;
    }
    product-card h3{
      font-size: 14px !important;
      line-height: 20px !important;
    }
  }
}

@media screen and (max-width: 786px) and (min-width: 748px){
  .shopify-section-group-footer-group .section.footer-sec .spacing-style .div-footer-content.desk-mob,
  .shopify-section-group-footer-group .section.footer-sec .spacing-style accordion-custom,
  .shopify-section-group-footer-group .section.footer-sec .spacing-style .footer-social {
    flex: 0 0 20%;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item,
  .footer-sec .div-footer-content .div-footer-wrap a,
  .footer-social .footer_currency,
  .footer-sec .section-content-wrapper .menu .menu__details .menu__heading {
    padding-bottom: 0 !important;
    border: none !important;
  }
}

@media screen and (max-width: 747px) {
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item a {
      width: 100%;
      display: block;
  }
}

@media screen and (max-width: 480px) {
  .menu-drawer__menu.menu-drawer__menu--grandchildlist{
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
  }
  .menu-drawer__menu.menu-drawer__menu--grandchildlist .menu-drawer__list-item {
    width: 100%;
  }
  .menu-drawer__menu--grandchildlist .menu-drawer__list-item .menu-drawer__menu-item--child .menu-drawer__menu-item-text {
    gap: 0;
    font-size: 12px !important;
  }
  .slideBanner-container.homepage-hero-banner {
    padding-bottom: 10px;
  }
  .template-blog .blog-posts{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

.template-blog {
  .blog-post-card__image {
      height: 100% !important;
  }
}

/* ============= Menu ============= */

li.Custom_Menu_our-story .mega-menu__panels ul.list-unstyled.sub-child-menu,
.mega-menu__panel_designed-by-nalli-lookbook ul.list-unstyled.sub-child-menu,
li.menu-list__list-item.Custom_Menu_shop-all .mega-menu__panels .mega-menu__panel_best-sellers.mega-menu__panel ul.list-unstyled.sub-child-menu {
  display: block !important;
}
li.Custom_Menu_our-story .mega-menu__panels ul.list-unstyled.sub-child-menu a.mega-menu__link,
.mega-menu__panel_designed-by-nalli-lookbook ul.list-unstyled.sub-child-menu a.mega-menu__link{
  width: 100% !important;
}

.products-count-wrapper {
    margin: 0 auto;
}

@media screen and (max-width: 1130px) {
  .header__row{
    grid-template-columns: max-content !important;
  }
  header-menu.header-menu.mobile\:hidden {
    display: none;
  }
  .header__drawer.desktop\:hidden {
    display: flex !important;
  }

  details#Details-menu-drawer-nalli-exclusive ul.menu-drawer__menu.menu-drawer__menu--childlist.details-content details#Details-menu-drawer-nalli-exclusive-designed-by-nalli-lookbook ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-shop-all details#Details-menu-drawer-shop-all-best-sellers ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-our-history ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-nallis-promise ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-the-media ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content {
    display: block;
  }

  details#Details-menu-drawer-nalli-exclusive ul.menu-drawer__menu.menu-drawer__menu--childlist.details-content details#Details-menu-drawer-nalli-exclusive-designed-by-nalli-lookbook ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-shop-all details#Details-menu-drawer-shop-all-best-sellers ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-our-history ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-nallis-promise ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-the-media ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item{
    width: 100%;
  }
}

/* ============================================================
   nalli-footer.css (concatenated 2026-08-19 — source of truth is still the
   individual file; rebuild nalli-bundle.css after editing any part.
   Order matters: cascade == the old stylesheet_tag order in nalli-head.
   ============================================================ */
/* ============================================================================
   nalli-footer.css — WS4 (Nalli rebuild, Horizon 4.1.3 base)
   Loaded from snippets/nalli-head.liquid.

   Contents:
     1. Live footer.liquid inline <style> block, ported verbatim
        (theme-live/sections/footer.liquid; dead commented-out rules dropped).
     2. Live layout/theme.liquid footer hunks: tablet 748–786px 20% flex
        columns + border strip, ≤747px full-width menu links.
     3. Horizon 4.1.3 adaptation layer (rebuild-only): converts the core
        .footer-content grid back to the live flex-row layout, pulls the
        mobile utilities row above the menus, de-dupes the accordion heading,
        and restyles the newsletter band (visible label, Assistant type,
        heavier arrow submit icon via CSS mask — core email-signup block
        stays icon-pristine).

   Class names are live-identical (`footer-sec`, `section-content-wrapper`,
   `div-footer-content`, …) — the two wrapper classes are re-added to
   sections/footer.liquid via a tagged NALLI core edit.

   Brand tokens: var(--nalli-red) / var(--nalli-red-deep) are available from
   WS2; the live footer palette is monochrome (#fff/#f5f5f5/#484848/#131313)
   so no red is used here.
   ========================================================================== */

/* ----------------------------------------------------------------------------
   1. Live footer.liquid <style> block (verbatim port)
   -------------------------------------------------------------------------- */
.footer-sec .section-content-wrapper
{
  align-items: flex-start;
  padding-left: 50px;
  padding-right: 50px;
  padding-top:20px;
}
.footer-sec .section-content-wrapper .menu .menu__details .menu__heading
{
  margin-bottom: 8px;
  padding-bottom: 0px;
  padding-top:0px;
}
.footer-sec .section-content-wrapper .menu .menu__details .menu__heading .menu__heading__default
{
  font-size: 16px;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  font-family: 'Assistant-SemiBold';
  margin: 0px;
  text-transform:uppercase;
  display:flex;
}
.footer-sec .section-content-wrapper .menu .menu__details .details-content
{
  margin-top: 0px;
}
.footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item
{
  margin-top:0px;
}
.footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item a
{
  font-size: 16px;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding: 0;
  margin: 0;
  font-family: 'Assistant-Regular';
  cursor: pointer;
  margin-bottom: 8px;
  margin-top: 0px;
}
.footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item a:hover
{
  text-decoration:underline;
}
.footer-sec .div-footer-content .div-footer-wrap a:hover
{
  text-decoration:underline;
}
.footer-sec .div-footer-content
{
  width: 100%;
}
.footer-sec .div-footer-content .div-footer-wrap
{
  display: flex;
  flex-direction: column;
}
.footer-sec .div-footer-content .div-footer-wrap a
{
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-social .footer-social-icons
{
  display: flex;
  gap: 24px;
  align-items: center;
}
.currency-icons
{
  margin-bottom:23px;
}
.desk-mob
{
  display:none;
}
.mob-svg-menu
{
  display:none;
}
.switcher-trigger
{
  display: flex;
  gap: 10px;
  align-items: center;
}
@media only screen and (min-width:1440px)
{
  .footer-sec .section-content-wrapper
  {
    align-items: flex-start;
  }
  .footer-sec .section-content-wrapper
{
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media only screen and (max-width:787px)
{
  .footer-sec .section-content-wrapper
  {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .desk-mob
  {
    display:block !important;
  }
  .mob-desk
  {
    display:none !important;
  }
  .footer-sec .div-footer-content .div-footer-wrap a
  {
    font-size: 13px;
    color: #f5f5f5;
    padding: 12px 10px;
    border-bottom: 1px solid #484848;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .menu__heading
  {
    color: #f5f5f5;
    padding: 12px 10px;
    border-bottom: 1px solid #484848;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .menu__heading .menu__heading__default
  {
    font-size:13px !important;
    align-items: end;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item
  {
    color: #f5f5f5;
    padding: 12px 10px;
    border-bottom: 1px solid #484848;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item a
  {
    font-size:13px !important;
  }
  .footer-social .footer-social-icons
  {
    padding: 0 8px;
    margin-top: 12px;
  }
  .footer-social .footer_currency
  {
    color: #f5f5f5;
    padding: 12px 10px;
    border-bottom: 1px solid #484848
  }
  .language-INR
  {
    font-size:12px !important;
  }
  .mob-svg-menu
  {
    display:flex !important;
    padding-right:10px;
  }
}

/* ----------------------------------------------------------------------------
   2. Live layout/theme.liquid footer hunks (verbatim port)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 786px) and (min-width: 748px){
  .shopify-section-group-footer-group .section.footer-sec .spacing-style .div-footer-content.desk-mob,
  .shopify-section-group-footer-group .section.footer-sec .spacing-style accordion-custom,
  .shopify-section-group-footer-group .section.footer-sec .spacing-style .footer-social {
    flex: 0 0 20%;
  }
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item,
  .footer-sec .div-footer-content .div-footer-wrap a,
  .footer-social .footer_currency,
  .footer-sec .section-content-wrapper .menu .menu__details .menu__heading {
    padding-bottom: 0 !important;
    border: none !important;
  }
}

@media screen and (max-width: 747px) {
  .footer-sec .section-content-wrapper .menu .menu__details .details-content .list-unstyled .menu__item a {
      width: 100%;
      display: block;
  }
}

/* NOTE: the .desk-mob/.mob-desk siblings in 748–786px land as flex row items;
   in that range the desk-mob copy IS the visible utilities column (live
   behaviour verified on nalli.com). */

/* ----------------------------------------------------------------------------
   3. Horizon 4.1.3 adaptation layer (rebuild-only rules)
   -------------------------------------------------------------------------- */

/* 3a. 4.1.3 renders the footer wrapper as a CSS grid (.footer-content);
   live 2.1.2 was a nowrap flex row whose 6 visible width:100% children
   shrank to equal columns (3 menus, utilities, .foot-wrap spacer, social) —
   verified computed on nalli.com @1366px. Recreate that flex model. */
.footer-sec .section-content-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 0;
}
.footer-sec .section-content-wrapper > .menu {
  width: 100%;
}
@media screen and (max-width: 749px) {
  /* live `mobile-column` breakpoint */
  .footer-sec .section-content-wrapper {
    flex-direction: column;
  }
}

/* 3b. The nalli-footer-utilities block sits AFTER the menus in block_order;
   on mobile/tablet (≤787px) live shows the utility rows ABOVE the menus. */
@media only screen and (max-width: 787px) {
  .footer-sec .div-footer-content.desk-mob {
    order: -1;
  }
}

/* 3c. Accordion heading de-dupe. Live commented the duplicate title out of
   .menu__heading__accordion in blocks/menu.liquid; here it is done in CSS so
   the core markup keeps only the mobmenusvg span edit. The ported rule in §1
   already forces .menu__heading__default visible (display:flex) on mobile;
   this hides the duplicated text while keeping the caret icon sized. */
@media screen and (max-width: 749px) {
  .footer-sec .menu--accordion .menu__heading__accordion {
    font-size: 0;
  }
  .footer-sec .menu--accordion .menu__heading__toggle svg {
    width: var(--icon-size-xs, 12px);
    height: var(--icon-size-xs, 12px);
  }
}

/* 3d. Newsletter band ("Enter the world of Nalli" section in footer-group):
   visible label + Assistant type (live blocks/email-signup.liquid styles). */
.email-label {
  display: block;
  margin-bottom: 9px;
  font-family: 'Assistant-Regular';
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  font-weight: 400;
}
.email-signup-block .email-signup__input {
  font-family: 'Assistant-Regular';
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  font-weight: 400;
}
.email-signup-block .email-signup__input-group {
  margin-bottom: 19px;
}

/* 3d-bis. Live draws ONE border around the whole field with the arrow inside
   it. The 4.1.3 integrated group instead has a near-invisible #f5f5f5 border
   on the group and a #ccc border on the input alone, which visually exiles
   the arrow to its own box beside the field. Move the visible border to the
   group and strip the input's, matching live. */
.email-signup-block .email-signup__input-group--integrated {
  border: 1px solid #ccc;
  border-radius: 0;
  background: transparent;
}
.email-signup-block .email-signup__input-group--integrated .email-signup__input {
  border: none;
  outline: none;
  background: transparent;
}

/* 3e. Heavier arrow submit icon (live swapped the inline SVG; here the core
   icon is hidden and the live 24×24 arrow is applied as a currentColor mask
   so blocks/email-signup.liquid needs no icon edit). */
.email-signup-block .email-signup__button--arrow .email-signup__button-icon {
  display: none;
}
.email-signup-block .email-signup__button--arrow::after {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.2929 4.29289C12.6834 3.90237 13.3166 3.90237 13.7071 4.29289L20.7071 11.2929C21.0976 11.6834 21.0976 12.3166 20.7071 12.7071L13.7071 19.7071C13.3166 20.0976 12.6834 20.0976 12.2929 19.7071C11.9024 19.3166 11.9024 18.6834 12.2929 18.2929L17.5858 13H4C3.44772 13 3 12.5523 3 12C3 11.4477 3.44772 11 4 11H17.5858L12.2929 5.70711C11.9024 5.31658 11.9024 4.68342 12.2929 4.29289Z'/%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 fill-rule='evenodd' clip-rule='evenodd' d='M12.2929 4.29289C12.6834 3.90237 13.3166 3.90237 13.7071 4.29289L20.7071 11.2929C21.0976 11.6834 21.0976 12.3166 20.7071 12.7071L13.7071 19.7071C13.3166 20.0976 12.6834 20.0976 12.2929 19.7071C11.9024 19.3166 11.9024 18.6834 12.2929 18.2929L17.5858 13H4C3.44772 13 3 12.5523 3 12C3 11.4477 3.44772 11 4 11H17.5858L12.2929 5.70711C11.9024 5.31658 11.9024 4.68342 12.2929 4.29289Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* --- Newsletter (custom-section section_ctqnRK): live spacing ---
   Live renders ~39px between the subtitle and the email label (the 2.0.0
   text block carries block spacing the 4.1.3 render drops), and a 66px
   input group. Anchor the gap on the form block, which is stable.
   Desktop only — live's mobile stack has no such gap. */
@media screen and (min-width: 788px) {
  .shopify-section[id*='section_ctqnRK'] .email-signup-block {
    margin-top: 39px;
  }
}

/* Mobile footer accordions: live rows are 48px — 12px/10px padding, 13px
   labels, 20px leading icons. nalli-base.css force-pads every footer row to
   15px 10px !important (right for the Track/Store/Contact utility rows, which
   live also renders at 52px), so the accordion headings need an equally
   !important, more specific override. */
@media screen and (max-width: 767px) {
  .footer-sec .section-content-wrapper .menu.menu--accordion .menu__details .menu__heading {
    /* live rows measure 48px with the divider; this markup's content box runs
       31px (icon + caret spans), so 8px block padding lands the same 48px */
    padding: 8px 10px !important;
    min-height: 0;
    line-height: 24px;
  }

  .footer-sec .menu--accordion summary :is(span, h2, h3, div, p) {
    font-size: 13px !important;
  }

  .footer-sec .menu--accordion summary > svg,
  .footer-sec .menu--accordion summary .svg-wrapper,
  .footer-sec .menu--accordion summary .svg-wrapper svg {
    width: 20px;
    height: 20px;
  }
}
/* ============================================================
   nalli-header.css (concatenated 2026-08-19 — source of truth is still the
   individual file; rebuild nalli-bundle.css after editing any part.
   Order matters: cascade == the old stylesheet_tag order in nalli-head.
   ============================================================ */
/* ==========================================================================
   nalli-header.css — Nalli rebuild WS3 (header & navigation)
   Loaded from snippets/nalli-head.liquid (WS1 hook).

   Sources ported (live theme):
   - sections/header.liquid inline CSS (nav typography, badges, sticky offset)
   - sections/header-announcements.liquid inline CSS + sticky script (now CSS)
   - snippets/mega-menu.liquid inline CSS (tabbed mega menu)
   - snippets/header-drawer.liquid custom stylesheet block
   - layout/theme.liquid menu CSS (forced-open sub-childs, 1130px burger)
   - snippets/account-button.liquid wishlist CSS
   - snippets/search.liquid currency-switcher CSS

   Brand tokens come from WS2 nalli-base.css (--nalli-red / --nalli-red-deep);
   #a42829 fallbacks keep this file functional before WS2 lands.
   ========================================================================== */

:root {
  /* Height of the always-sticky announcement bar; the sticky header offsets
     below it. Live hardcoded 35px desktop / 28px tablet+mobile. */
  --nalli-announcement-height: 35px;
}

@media screen and (max-width: 1024px) {
  :root {
    --nalli-announcement-height: 28px;
  }
}

/* --------------------------------------------------------------------------
   1. Announcement bar — always sticky at the very top (replaces live's
      `announcement-bar--sticky` class-adding script with pure CSS)
   -------------------------------------------------------------------------- */
#header-group .shopify-section:has(> .announcement-bar) {
  position: sticky;
  top: 0;
  z-index: 1001;
  transition: all 0.3s ease;
}

/* Drawer-open z-index drop — replaces live's header-drawer.js .stick-announce
   patch and sections/header.liquid's inline z-index toggle script.
   `.menu-drawer-container` = the drawer <details>; [open] flips instantly. */
body:has(.menu-drawer-container[open]) #header-group .shopify-section:has(> .announcement-bar) {
  z-index: 0;
}

.announcement-bar {
  padding-left: 50px;
  padding-right: 50px;
}

.announcement-bar .announcement-bar__text {
  font-size: 14px;
  line-height: 1.5;
  font-family: 'Assistant-Regular', var(--font-body--family, sans-serif);
  font-style: normal;
  font-weight: 400;
}

/* Live removed the 680px slide cap */
.announcement-bar__slides {
  max-width: none;
}

/* Nalli never shows announcement arrows (live added a show_arrows setting,
   always off in header-group.json — hidden here with zero core edits) */
.announcement-bar__slider slideshow-arrows {
  display: none;
}

@media only screen and (min-width: 1440px) {
  .announcement-bar .announcement-bar__text {
    font-size: 16px !important;
  }
}

@media only screen and (max-width: 787px) {
  .announcement-bar {
    padding-left: 15px !important;
    padding-right: 15px !important;
    padding-top: 5px !important;
    padding-bottom: 6px !important;
  }

  .announcement-bar .announcement-bar__text {
    font-size: 12px !important;
  }

  .announcement-bar__slides {
    width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
   2. Sticky header offset — header sits below the sticky announcement bar
      (base 4.1.3 rule uses top: -1px; #header-group prefix wins specificity)
   -------------------------------------------------------------------------- */
#header-group .header-section:has(> #header-component[sticky='always']),
#header-group .header-section:has(> #header-component[sticky='scroll-up'][data-sticky-state='active']) {
  top: var(--nalli-announcement-height);
}

/* --------------------------------------------------------------------------
   3. Desktop nav typography + menu badges
   -------------------------------------------------------------------------- */
.header .header-menu .menu-list .overflow-menu .menu-list__list-item:hover a,
.header .header-menu .menu-list .overflow-menu .menu-list__list-item:hover span {
  color: var(--nalli-red, #a42829);
}

.header .header-menu .menu-list .menu-list__list-item .menu-list__link .menu-list__link-title {
  font-size: 14px;
  color: #434343;
  text-transform: uppercase;
  font-weight: 400;
  font-family: 'Assistant-Bold', var(--font-body--family, sans-serif);
}

.header .header-menu .menu-list .overflow-menu .menu-list__list-item .nav-badge__text {
  color: #fff;
  background: var(--nalli-red, #a42829);
  border-radius: 8px;
  font-size: 9px;
  position: absolute;
  top: 12px;
  padding-left: 10px;
  padding-right: 10px;
}

.header .header-menu .menu-list .overflow-menu .menu-list__list-item:hover .nav-badge__text {
  color: #fff;
}

/* Badged titles turn brand red (replaces live's inline style="color:#a42829"
   driven by the has_badge assign) */
.menu-list__link:has(.nav-badge) .menu-list__link-title,
.menu-drawer__menu-item:has(.nav-badge) .menu-drawer__menu-item-text {
  color: var(--nalli-red, #a42829);
}

/* --------------------------------------------------------------------------
   4. Tabbed mega menu (snippets/nalli-mega-menu.liquid)
      Scoped with :has(.mega-menu__tabs) so a stock mega-menu-list render
      elsewhere would keep Horizon's grid.
   -------------------------------------------------------------------------- */
.mega-menu__grid:has(.mega-menu__tabs) {
  display: flex;
  gap: 0;
}

.mega-menu__tabs {
  width: 25%;
}

.mega-menu__tab-list {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-top: 6%;
}

.mega-menu__tab {
  padding: 10px 15px;
}

.mega-menu__tab-link {
  display: block;
  text-decoration: none;
  color: var(--nalli-red, #a42829);
  font-size: 18px;
  text-transform: unset;
}

.mega-menu__tab-link:hover {
  font-weight: bold;
}

.mega-menu__tab:hover {
  background: #f6f6f6;
}

.mega-menu__tab.active {
  background: #f6f6f6;
  font-weight: bold;
}

.mega-menu__panels {
  position: relative;
  width: 65%;
  background: #f6f6f6;
  min-height: 450px;
}

.mega-menu__panel {
  display: none;
  max-height: 450px;
  overflow-y: auto;
  padding: 20px;
}

.mega-menu__panel.active {
  display: block;
}

.mega-menu__panels .sub-child-menu {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.mega-menu__panels .sub-child-menu li .mega-menu__link {
  display: flex;
  flex-direction: column;
  width: 95%;
  align-items: center;
  justify-content: center;
  color: #262626 !important;
  text-align: center;
  font-family: 'Assistant-Regular', var(--font-body--family, sans-serif);
  font-weight: 400;
  font-size: 14px;
  gap: 6px;
}

/* Forced-open panels: our-story / lookbook panels render their links as a
   plain block list instead of the 5-col grid (ported from live theme.liquid) */
li.Custom_Menu_our-story .mega-menu__panels ul.list-unstyled.sub-child-menu,
.mega-menu__panel_designed-by-nalli-lookbook ul.list-unstyled.sub-child-menu,
li.menu-list__list-item.Custom_Menu_shop-all .mega-menu__panels .mega-menu__panel_best-sellers.mega-menu__panel ul.list-unstyled.sub-child-menu {
  display: block !important;
}

li.Custom_Menu_our-story .mega-menu__panels ul.list-unstyled.sub-child-menu a.mega-menu__link,
.mega-menu__panel_designed-by-nalli-lookbook ul.list-unstyled.sub-child-menu a.mega-menu__link {
  width: 100% !important;
}

/* --------------------------------------------------------------------------
   5. Mobile drawer (snippets/nalli-drawer-nav + nalli-drawer-header)
   -------------------------------------------------------------------------- */

/* Hide the stock floating close button — nalli-drawer-header carries its own
   inside .head-drawer-close (keeps the core edit to a pure insert) */
.menu-drawer > .close-button.menu-drawer__close-button {
  display: none;
}

.head-drawer-close {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px 15px;
  border-bottom: 1px solid #bbb;
  padding-bottom: 20px;
}

.head-drawer-close .header-logo__image-container {
  width: 60px;
}

.head-drawer-close .header-logo__image {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.head-drawer-close .menu-drawer__close-button {
  position: relative;
  right: auto;
  top: auto;
  width: fit-content;
  height: fit-content;
  color: inherit;
  padding: var(--padding-lg);
}

@media only screen and (max-width: 787px) {
  .nav-badge__text {
    color: #fff;
    background: var(--nalli-red, #a42829);
    border-radius: 3px;
    font-size: 10px;
    position: absolute;
    top: 2px;
    left: 60%;
    padding-left: 10px;
    padding-right: 10px;
    white-space: nowrap;
  }
}

.menu-drawer__navigation {
  overflow-y: auto;
}

.menu-drawer__menu.has-submenu.hr {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.menu-drawer__menu.menu-drawer__menu--childlist {
  padding: 0 10px;
}

.menu-drawer__menu.menu-drawer__menu--grandchildlist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding-right: 0;
  padding-bottom: 10px;
}

.menu-drawer__menu-item-text {
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 400;
  font-family: 'Assistant-Bold', var(--font-body--family, sans-serif);
  color: #434343;
}

/* Clickable label link inside an accordion summary (live inline width:150px) */
summary.menu-drawer__menu-item--mainlist > a.menu-drawer__menu-item--label {
  width: 150px;
}

.menu-drawer__menu--grandchildlist .menu-drawer__list-item .menu-drawer__menu-item--child .menu-drawer__menu-item-text {
  font-size: 12px;
  text-transform: capitalize;
  font-weight: 600;
  font-family: 'Assistant-Regular', var(--font-body--family, sans-serif);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 5px;
  white-space: nowrap;
}

.menu-drawer__menu.menu-drawer__menu--grandchildlist .menu-drawer__list-item {
  width: 90px;
}

@media screen and (max-width: 480px) {
  .menu-drawer__menu.menu-drawer__menu--grandchildlist {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
  }

  .menu-drawer__menu.menu-drawer__menu--grandchildlist .menu-drawer__list-item {
    width: 100%;
  }

  .menu-drawer__menu--grandchildlist .menu-drawer__list-item .menu-drawer__menu-item--child .menu-drawer__menu-item-text {
    gap: 0;
    font-size: 12px !important;
  }
}

/* --------------------------------------------------------------------------
   6. Burger switch at 1130px (live: desktop menu hides, drawer icon shows,
      well above Horizon's native 750px/auto-overflow switch)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 1130px) {
  #header-component .header-menu {
    display: none !important;
  }

  #header-component .header__drawer {
    display: flex !important;
    min-height: var(--header-drawer-min-height, 60px);
  }

  /* Forced-open sub-childs in the drawer: these grandchild lists render
     expanded without opening their accordion (ported from live theme.liquid) */
  details#Details-menu-drawer-nalli-exclusive ul.menu-drawer__menu.menu-drawer__menu--childlist.details-content details#Details-menu-drawer-nalli-exclusive-designed-by-nalli-lookbook ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-shop-all details#Details-menu-drawer-shop-all-best-sellers ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-our-history ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-nallis-promise ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-the-media ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content {
    display: block;
  }

  details#Details-menu-drawer-nalli-exclusive ul.menu-drawer__menu.menu-drawer__menu--childlist.details-content details#Details-menu-drawer-nalli-exclusive-designed-by-nalli-lookbook ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-shop-all details#Details-menu-drawer-shop-all-best-sellers ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-our-history ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-nallis-promise ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item,
  details#Details-menu-drawer-our-story details#Details-menu-drawer-our-story-the-media ul.menu-drawer__menu.menu-drawer__menu--grandchildlist.details-content li.menu-drawer__list-item {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   7. Wishlist heart + count bubble (snippets/nalli-wishlist-icon.liquid)
   -------------------------------------------------------------------------- */
.kl_wishlist {
  margin: 0 10px 0 5px;
  display: flex;
  align-items: center;
}

.h-wishlist-icon {
  position: relative;
  display: flex;
  color: var(--color-foreground, currentColor);
}

.h-wishlist-icon svg {
  width: 15px;
  height: 15px !important;
}

.h-wishlist-icon .wishlist-h-count {
  background: var(--nalli-red, #a42829) !important;
  color: #fff;
  position: absolute;
  top: -7px;
  right: -9px;
  min-width: 14px;
  height: 14px;
  border-radius: 50%;
  font-size: 9px;
  line-height: 14px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .h-wishlist-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  .h-wishlist-icon .wishlist-h-count {
    right: -9px !important;
    top: -7px !important;
  }

  .kl_wishlist {
    margin: 0 15px 0 5px;
    flex: none;
  }

  .account-drawer button.account-button.header-actions__action {
    flex: unset;
  }

  .account-drawer button.account-button.header-actions__action span.account-button__icon {
    width: 24px;
    height: auto;
  }

  .account-button__icon svg {
    width: 23px !important;
    height: 23px !important;
  }
}

/* --------------------------------------------------------------------------
   8. BUCKS currency switcher mounts (snippets/nalli-currency-switcher.liquid)
   -------------------------------------------------------------------------- */
.c-switcher--drawer {
  text-align: end;
  width: 97%;
}

@media only screen and (max-width: 787px) {
  .desk-cur {
    display: none;
  }
}

ul.buckscc-select-options {
  overflow-y: scroll !important;
}

/* Nav-title-embedded <img> tags (admin HTML in menu link titles) carry hardcoded
   100x100 attrs that distort non-square art; object-fit keeps the box but stops
   the stretch (and exempts them from Lighthouse's aspect-ratio audit). */
img[width='100px'],
img.menu_child_img {
  object-fit: contain;
}

/* --- L3 nav badges (ported from published theme sections/header.liquid) --------
   `.L3-nav-badge__text` is absolutely positioned, so its wrapper must establish
   a containing block; on live that came from the surrounding list item. */
.sub-child-menu li {
  position: relative;
}

.L3-menubadge {
  position: static;
}

.L3-nav-badge__text {
  color: #fff !important;
  background: #a42829;
  border-radius: 2px;
  font-size: 9px;
  position: absolute;
  top: -5px;
  padding-left: 10px;
  padding-right: 10px;
  left: 0;
}

/* Drawer L3 badges need a positioned ancestor too (desktop uses .sub-child-menu li). */
.menu-drawer__menu--grandchildlist .menu-drawer__list-item {
  position: relative;
}

/* --- Syte camera button, relocated into header-actions by nalli-header.js ---
   The app injects it for the published theme's DOM; once moved here it sits
   between the wishlist and cart icons like on live. The app ships its own
   icon styling; this only normalizes the button box within the flex row. */
header-actions .--syte-start-camera-upload {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  line-height: 0;
}

/* --- Drawer nav badge (Newly Launched): live renders label first, pill inline
   to its right; the desktop nav-badge absolutely positions its text, which in
   the drawer lands on top of the label. --- */
.menu-drawer__menu-item .nav-badge {
  order: 2;
  position: static;
  margin-left: 8px;
  line-height: 0;
}

.menu-drawer__menu-item .nav-badge .nav-badge__text {
  position: static;
  display: inline-block;
}

.menu-drawer__menu-item summary,
summary.menu-drawer__menu-item,
a.menu-drawer__menu-item {
  display: flex;
  align-items: center;
}

.menu-drawer__menu-item .menu-drawer__menu-item-text {
  order: 1;
}

.menu-drawer__menu-item .svg-wrapper {
  order: 3;
  margin-left: auto;
}

/* --------------------------------------------------------------------------
   9. NALLI-UI 2026-08-01 — header action icon rhythm (desktop)
   Problem: .header__column--right declares gap:20px, but .search-action and
   header-actions each carried margin-left:-14.4px, clawing it back to
   measured gaps of 5px and -2px. Inside header-actions the native Horizon
   actions are 44x44 while the app-injected ones are not (wishlist 25px with
   an ad-hoc `margin: 0 10px 0 5px`, Syte camera 20px), so the row read as
   unevenly spaced with icons sitting on three different box heights
   (40 / 22 / 44).
   Fix: one 44x44 target for every action, one 8px rhythm, no negative
   margins. Desktop only — the <=767px drawer rules above are deliberately
   tuned and are left alone.
   -------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  /* Specificity note: Horizon's compiled styles.css sets
       .header__column--right header-actions { margin-inline-start: calc(var(--gap-md) * -1) }
       .header__column--right .search-action { margin-inline: calc(var(--gap-md)*-1) calc(var(--gap-xs)*-1) }
     Those are (0,1,1) — identical weight to a plain `> element` rule here, and
     styles.css is the LATER bundle, so it wins the tie. The class is doubled
     below to take the cascade honestly at (0,2,1) rather than reaching for
     !important. */
  .header__column--right.header__column--right {
    gap: 0px;
  }

  /* the negative margins that were eating the column gap */
  .header__column--right.header__column--right > .search-action,
  .header__column--right.header__column--right > header-actions {
    margin-inline: 0;
  }

  header-actions {
    display: flex;
    align-items: center;
    gap: 0px;
  }

  /* every action gets the same square hit target, whatever its glyph size */
  .header__column--right .search-action,
  header-actions > .account-button,
  header-actions > .kl_wishlist,
  header-actions > button {
    width: 44px;
    height: 44px;
    margin: 0;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* BUCKS switcher is a labelled control, not an icon — match height only */
  .header__column--right .c-switcher.desk-currency {
    height: 44px;
    display: flex;
    align-items: center;
    margin: 0;
  }
}
/* ============================================================
   nalli-plp.css (concatenated 2026-08-19 — source of truth is still the
   individual file; rebuild nalli-bundle.css after editing any part.
   Order matters: cascade == the old stylesheet_tag order in nalli-head.
   ============================================================ */
/* ==========================================================================
   nalli-plp.css — Nalli rebuild WS6 (collection / search / collections-list)
   Loaded site-wide from snippets/nalli-head.liquid after nalli-layout.css.
   Companion to the WS6 core edits (see rebuild/ws6-notes.md).

   Coordination with WS2 (do not duplicate):
   - .template-list-collections pill-overlay CSS lives in nalli-layout.css
     (theme.liquid H8 port) — only additions live here.
   - nalli-layout.css .template-collection nav.pagination rules target live's
     hand-rolled markup (a / span.current); the native pagination-controls
     markup (.pagination__link / --current) is styled below.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Product grid — forced column counts (live parity: 4 desktop / 3 tablet /
      2 mobile). Mobile 2-col is the 4.1.3 default. Overrides the per-section
      auto-fill rule injected by snippets/product-grid.liquid (higher
      specificity + !important needed). Zoom-out density view keeps its own
      column model.
   -------------------------------------------------------------------------- */
@media screen and (min-width: 750px) {
  .product-grid--grid:not([product-grid-view='zoom-out']) {
    --product-grid-columns-desktop: repeat(4, minmax(auto, 1fr)) !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 1024px) {
  .product-grid--grid:not([product-grid-view='zoom-out']) {
    --product-grid-columns-desktop: repeat(3, minmax(auto, 1fr)) !important;
  }
}

/* --------------------------------------------------------------------------
   2. Product card typography on the main grids (collection + search).
      Titles are real headings after the WS6 product-title.liquid edit
      (h2 on collection templates, h3 elsewhere) — reset heading defaults so
      they render at card scale. Ported from live main-collection.liquid.
   -------------------------------------------------------------------------- */
.product-card :is(h1, h2, h3, h4) {
  margin: 0;
}

.main-collection-grid .product-card .product-card__content .group-block .group-block-content .spacing-style :is(h2, h3) {
  color: #262626;
  font-size: 18px;
  line-height: 24px;
  font-family: 'Assistant-Regular';
  font-weight: 400;
  max-height: fit-content;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: fit-content;
}

.main-collection-grid .product-card .product-card__content .group-block .group-block-content .price {
  font-size: 18px;
  line-height: 100%;
  color: #606060;
  font-family: 'Assistant-Regular';
  font-weight: 400;
}

.main-collection-grid .product-card .product-card__content .group-block .group-block-content .price-container {
  display: flex;
}

@media only screen and (max-width: 787px) {
  .main-collection-grid {
    padding: 0 15px;
  }

  .main-collection-grid .product-card__content .group-block-content .text-block {
    font-size: 14px;
  }

  .main-collection-grid .product-card__content .group-block-content .price {
    font-size: 14px;
  }

  .main-collection-grid .product-card .product-card__content .group-block .group-block-content {
    padding: 0px !important;
  }

  .main-collection-grid .product-card .product-card__content .group-block .group-block-content .spacing-style :is(h2, h3) {
    font-size: 14px !important;
    line-height: 20px !important;
  }
}

/* Card hover: title turns brand red + underline (live: .product-card:hover h2) */
.product-card:hover :is(h2, h3) {
  color: var(--nalli-red, #a42829) !important;
  text-decoration: underline;
}

/* Wishlist heart overlays the card image (app-injected .wishlist-icon-wrapper) */
.main-collection-grid .product-grid .product-grid__item .prolink {
  position: relative;
  display: block;
}

.main-collection-grid .product-grid .product-grid__item .prolink .wishlist-icon-wrapper {
  position: absolute;
}

/* --------------------------------------------------------------------------
   3. Badges + zoom-out details suppressed (live parity, zero core edits).
      .product-badges verified as the 4.1.3 class
      (snippets/product-badges-styles.liquid).
   -------------------------------------------------------------------------- */
.product-badges {
  display: none !important;
}

.product-grid-view-zoom-out--details {
  display: none !important;
}

/* --------------------------------------------------------------------------
   4. Drawer-only filtering UX (live parity).
      4.1.3 default: horizontal facet pills on desktop, "Show Filters" toggle
      bar on mobile only. Nalli: the toggle bar + drawer is the ONLY filter
      UI on every viewport. The extra products-count div in the toggle bar is
      the tagged NALLI edit in blocks/filters.liquid.
   -------------------------------------------------------------------------- */
@media screen and (min-width: 750px) {
  /* hide the desktop horizontal facets bar entirely — but not SearchTap's
     toolbars, which reuse the same class: .st-toolbox is the server-rendered
     bar on first paint, .st-filter-count-sort-wrap is the Vue-rendered sticky
     bar that replaces it after any filter/sort interaction */
  .facets-block-wrapper--horizontal:not(.st-toolbox):not(.st-filter-count-sort-wrap) {
    display: none !important;
  }

  /* surface the (mobile-only) toggle bar on desktop */
  .facets-toggle {
    display: flex !important;
    grid-column: var(--full-width);
  }

  .facets-toggle__button {
    display: inline-flex !important;
  }
}

/* toggle bar chrome — live: hairline top/bottom rules, generous side padding */
.facets-toggle {
  border-top: 1px solid #8c8c8c;
  border-bottom: 1px solid #8c8c8c;
  margin-bottom: 32px;
}

@media screen and (min-width: 750px) {
  .facets-toggle {
    margin-bottom: 50px;
    padding-inline: 50px;
  }
}

@media screen and (min-width: 1440px) {
  .facets-toggle {
    padding-inline: 100px;
  }
}

.facets-toggle__button {
  color: #191919;
  font-family: 'Assistant-Regular';
  font-size: 18px;
  font-weight: 600;
}

/* WS6b — inline sort on the toggle bar (live: uppercase "FEATURED ⌄" at the
   right edge). Chevron is a masked SVG so the native select arrow can go. */
.facets-toggle .nalli-inline-sort__select {
  border: none;
  background-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  color: #191919;
  font-family: 'Assistant-Regular';
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding-right: 20px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 12px;
}

.facets-toggle .nalli-inline-sort__select:focus-visible {
  outline: 1px solid #191919;
  outline-offset: 2px;
}

/* live's bar carries no grid-density control — hide it, but never when it is
   the wrapper that carries the sorting control (filtering disabled). */
.facets-toggle:has(.nalli-inline-sort) .facets-mobile-wrapper:not(:has(facets-form-component)) {
  display: none;
}

.facets-toggle #filter-count-bubble-toggle {
  margin-left: 16px;
  color: #fff;
  width: 24px;
}

.facets-toggle #filter-count-bubble-toggle .filter-count-bubble__background {
  background: #000;
}

/* always-visible products count in the toggle bar (NALLI div; the filters
   block's own stylesheet hides .products-count-wrapper and, compiled into the
   section bundle, loads AFTER this file — the extra .facets-toggle ancestor
   out-specifies it regardless of order) */
.facets-toggle .products-count-wrapper--nalli-toggle {
  display: flex;
  align-items: center;
  /* no auto margin: the bar is space-between, so with the inline sort as the
     third child this sits centered — [Show Filters] [N ITEMS] [SORT], live's
     arrangement */
}

.products-count-wrapper--nalli-toggle span {
  color: #191919;
  font-family: 'Assistant-Regular';
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
}

/* live: disabled member-login button on collection pages */
.template-collection button#member-login-btn {
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   5. Filters drawer branding (#filters-drawer, selectors re-located from
      live's 2.1.2 markup onto 4.1.3: theme-drawer header,
      .facets__drawer-actions instead of .facets__actions).
   -------------------------------------------------------------------------- */
#filters-drawer .theme-drawer__title {
  font-size: 18px;
  font-weight: 300;
  color: #434343;
  font-family: 'Assistant-Regular';
}

#filters-drawer .facets__summary {
  border-bottom: 1px solid #ccc;
  padding: 15px 0;
}

#filters-drawer .facets__label {
  color: #262626;
  font-family: 'Assistant-SemiBold';
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

#filters-drawer .facets__status span {
  color: #696969;
  font-family: 'Assistant-Regular';
  margin-right: 20px;
}

#filters-drawer .checkbox__label-text {
  font-family: 'Assistant-Regular';
  color: #131313;
  font-size: 16px;
}

/* active-filter chips inside the drawer */
#filters-drawer .pills__pill {
  border: 1px solid #ccc;
  padding: 8px 24px;
  background: #fff;
  border-radius: unset;
  font-family: 'Assistant-SemiBold';
  gap: 20px;
}

/* bottom action row: outlined red Clear (49%) + solid red See results (51%) */
#filters-drawer .facets__drawer-actions {
  background: #fff;
  gap: 10px;
  padding-top: 20px;
  box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.06);
}

#filters-drawer .facets__clear-all {
  display: block; /* base shows it only when filters are active */
  background: #fff;
  border: 2px solid var(--nalli-red, #a42829);
  color: var(--nalli-red, #a42829);
  font-family: 'Assistant-SemiBold';
  width: 49%;
  min-width: 180px;
  border-radius: unset;
  padding: 10px 0;
  flex-grow: 0;
}

#filters-drawer .facets__see-results {
  background: var(--nalli-red, #a42829);
  border-color: var(--nalli-red, #a42829);
  color: #fff;
  border-radius: 0;
  height: 48px;
  width: 51%;
  min-width: 0;
  flex-grow: 0;
}

/* base hides See-results >=990px (horizontal filters apply live); with the
   drawer-only UX it must stay visible on desktop too */
@media screen and (min-width: 990px) {
  #filters-drawer .facets__see-results {
    display: block;
  }
}

/* square facet swatches (live removed the rounded swatch class; 4.1.3 rounds
   via --variant-picker-swatch-radius — zero it inside facets only) */
.facets .swatch--filter,
.facets .swatch--pill {
  --variant-picker-swatch-radius: 0;
}

/* live hid the redundant "Sort by:" label in the horizontal bar; inert while
   the bar is display:none but kept for parity if it is ever re-enabled */
.facets--horizontal .sorting-filter .facets__summary .facets__label {
  display: none;
}

/* Sorting panel overflow fix (live workaround for the BUCKS currency dropdown
   clipping inside the sort panel). DISABLED pending re-test on 4.1.3 — the
   native panel animates via block-size/clip and this can leak content during
   the open/close transition. Enable only if the clipping reproduces with the
   BUCKS app installed (see rebuild/ws6-notes.md QA).
.sorting-filter__options {
  max-height: max-content;
  overflow-y: visible !important;
}
*/

/* --------------------------------------------------------------------------
   6. Numbered pagination — native pagination-controls markup restyled to the
      live design: plain Assistant numbers, #434343 links, red current page,
      no pill/box backgrounds, 60px top gap. Applies to both the collection
      grid (product-grid renders it with infinite scroll forced off) and the
      search wrapper (snippets/nalli-pagination.liquid).
   -------------------------------------------------------------------------- */
/* The search wrapper (search-results.liquid) drops .nalli-pagination in as a
   direct child of .collection-wrapper, which is a CSS GRID — with no explicit
   placement it auto-flows into the columns BESIDE .main-collection-grid,
   squeezing the results to ~60% width with the page numbers floating in the
   leftover columns. Span the full row so it lands beneath the grid. */
.collection-wrapper > .nalli-pagination {
  grid-column: 1 / -1;
}

.product-grid-container .pagination,
.nalli-pagination .pagination {
  margin-top: 60px;
  margin-bottom: 15px;
  padding-block: 0;
}

.product-grid-container .pagination .pagination__list,
.nalli-pagination .pagination .pagination__list {
  gap: 16px;
}

.product-grid-container .pagination .pagination__link,
.nalli-pagination .pagination .pagination__link {
  color: #434343;
  font-family: 'Assistant-Regular';
  font-size: 24px;
  font-weight: 400;
  border-radius: 0;
}

/* kill the native current-page/hover pills (both @supports paths) */
.product-grid-container .pagination .pagination__link::before,
.product-grid-container .pagination .pagination__list::before,
.nalli-pagination .pagination .pagination__link::before,
.nalli-pagination .pagination .pagination__list::before {
  content: none !important;
  background: none !important;
}

.product-grid-container .pagination .pagination__link--current,
.nalli-pagination .pagination .pagination__link--current {
  color: var(--nalli-red, #a42829);
  font-weight: 400;
}

.product-grid-container .pagination .pagination__link svg,
.nalli-pagination .pagination .pagination__link svg {
  width: 0.65rem;
  height: 0.9rem;
}

@media screen and (max-width: 749px) {
  .product-grid-container .pagination .pagination__link,
  .nalli-pagination .pagination .pagination__link {
    font-size: 18px;
  }

  /* live parity: current page scaled 1.5 on mobile (nalli-layout.css targets
     live's span.current — native markup handled here) */
  .product-grid-container .pagination .pagination__link--current,
  .nalli-pagination .pagination .pagination__link--current {
    scale: 1.5;
  }
}

/* --- SearchTap desktop toolbox (Show Filters | N ITEMS | SORT) ---
   Live renders st-collection-desktop-inner-sort-wrap as a single flex row;
   on the rebuild the stock .facets class resolves to display:block and the
   three children stack full-width. */
@media screen and (min-width: 750px) {
  .st-collection-desktop .st-collection-desktop-inner-sort-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .st-collection-desktop .st-collection-desktop-inner-sort-wrap > div {
    width: auto;
  }
}

/* --- SearchTap pages must scroll the WINDOW ---
   Stock 4.1.3 (base.css) pins html/body to 100dvh overflow:hidden at >=990px
   and scrolls .page-wrapper instead. SearchTap infinite scroll (and its
   scroll-position math) listens on window scroll, which then never moves, so
   the PLP stops at the first page. Restore live behaviour on the templates
   SearchTap owns; everything else keeps the stock wrapper scroller. */
@media screen and (min-width: 990px) {
  html:has(body.searchtap-collection),
  html:has(body.searchtap-collection) body,
  html:has(body.searchtap-search),
  html:has(body.searchtap-search) body {
    height: auto;
    overflow: visible;
  }

  html:has(body.searchtap-collection) .page-wrapper,
  html:has(body.searchtap-search) .page-wrapper {
    overflow: visible;
    height: auto;
  }
}

/* ---------------------------------------------------------------------------
   Sticky filter/sort bar on the SEARCH results page (2026-08-13).

   SearchTap takes the search page over client-side with different wrappers from
   the collection page - .st-filter-count-sort-wrap (desktop) and
   .st-mobile-filter-count-sort-wrap (mobile, md:st-hidden) - and it renders
   OUTSIDE #collectionmodalcontainer, so the collection rules in
   searchtap-collection-template.css cannot reach it. That file is also only
   loaded by the collection section, which is why this lives here: nalli-plp.css
   is in the global head.

   Offset and layer match the collection bar exactly. --st-sticky-toolbar-offset
   is measured in snippets/nalli-head.liquid; the calc is the pre-JS fallback.
   --------------------------------------------------------------------------- */
.st-filter-count-sort-wrap,
.st-mobile-filter-count-sort-wrap {
  position: sticky;
  top: var(
    --st-sticky-toolbar-offset,
    calc(var(--nalli-announcement-height, 0px) + var(--header-height, 60px) - 1px)
  );
  z-index: var(--layer-sticky, 8);
  background-color: var(--color-background, #fff);
}
/* ============================================================
   nalli-cart.css (concatenated 2026-08-19 — source of truth is still the
   individual file; rebuild nalli-bundle.css after editing any part.
   Order matters: cascade == the old stylesheet_tag order in nalli-head.
   ============================================================ */
/* ==========================================================================
   nalli-cart.css — WS8 cart & cart-drawer styling (Nalli rebuild).
   Loaded globally from snippets/nalli-head.liquid.
   Fonts use the legacy family names ('Assistant-Regular' / 'Assistant-SemiBold'
   / 'Assistant-Bold') registered by WS2's nalli-fonts snippet.
   Sources: rebuild/specs/snippets--cart-products.liquid.md,
   cart-summary, cart-drawer, cart-discount, sections--main-cart specs.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Cart line rows (fork: snippets/nalli-cart-line.liquid)
   -------------------------------------------------------------------------- */

/* Duplicate-product dedupe — ONE static rule replaces live's per-item
   `<style>.car-{id}-id ~ .car-{id}-id{display:none!important}</style>` spam.
   The fork marks every later line of an already-seen product. */
.nalli-cart-line--dupe {
  display: none !important;
}

/* Rows collapsed to 3 columns (media | details | quantity): the base
   line-total and error <td>s are not rendered by the fork, so re-declare the
   grid without their areas. Hairline divider per live. */
.cart-items__table-row,
.cart-items__table-row--full-width-variants {
  grid-template-columns: clamp(2.5rem, 15cqi, 7.5rem) minmax(0, 1fr) auto;
  grid-template-areas: 'media details quantity';
  grid-template-rows: auto;
  border-bottom: 1px solid #ccc;
}

@container cart-items (min-width: 720px) {
  .cart-items__table-row,
  .cart-items__table-row--full-width-variants {
    grid-template-columns: 7.5rem minmax(0, 1fr) auto;
    grid-template-areas: 'media details quantity';
  }
}

/* full-width-variants (drawer) inner areas no longer exist as separate rows */
.cart-items__table-row--full-width-variants .cart-items__details {
  display: block;
  grid-area: details;
}

/* Typography: Assistant title / details per live */
.cart-items__title {
  font-family: 'Assistant-SemiBold';
  font-weight: 400;
  color: #262626;
}

.cart-items__details,
.cart-items__details * {
  font-family: 'Assistant-Regular';
}

.cart-items__unit-price-wrapper {
  color: #434343;
}

/* Qty / Color metafield lines */
.nalli-qty-container {
  display: flex;
  gap: 4px;
  align-items: baseline;
  margin-block-start: var(--margin-3xs);
  font-family: 'Assistant-Regular';
  font-weight: 400;
  color: #434343;
}

.nalli-qty-container label {
  color: #434343;
}

/* Mobile/Desktop quantity split (fork renders both; one visible at a time) */
.Mobile_only {
  display: none;
}

@media screen and (max-width: 749px) {
  .Mobile_only {
    display: block;
  }

  .Desktop_only {
    display: none;
  }
}

/* Quantity stepper hidden (client-approved, INVENTORY §5.15).
   Live rule was `td.cart-items__quantity > div {opacity:0}` (2.1.2: the div
   held only the stepper). In 4.1.3 that div also contains the remove button,
   so the selector is narrowed to the stepper itself — remove stays visible.
   Covers cart page AND drawer (live achieved this via the global theme.liquid
   H19 rule + the main-cart duplicate). */
td.cart-items__quantity .quantity-selector,
.nalli-mobile-quantity .quantity-selector {
  opacity: 0;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   2. Cart summary (snippets/cart-summary.liquid + nalli-cart-footer)
   -------------------------------------------------------------------------- */

.cart-actions {
  gap: var(--gap-2xs);
}

/* Summary labels/totals — Assistant-SemiBold 14px, tightened gap (live
   .cart__summary-totals { gap: 10px } → 4.1.3 container is .cart-totals) */
.cart-totals {
  gap: 10px;
}

.cart-totals__total-label,
.cart-totals__total-value,
.cart-totals__original-label,
.cart-totals__original-value {
  font-family: 'Assistant-SemiBold';
  font-weight: 400;
  font-size: 14px;
}

/* Checkout button ("Proceed to Buy" via content.checkout locale override) */
.cart__checkout-button {
  height: auto;
  font-family: 'Assistant-SemiBold';
  font-weight: 400;
  font-size: 16px;
}

/* Free-shipping / customs note — green, red policy link, rendered inside the
   .cart__ctas grid but displayed ABOVE the checkout button via order:-1 */
.nalli-shipping-note {
  order: -1;
}

.nalli-shipping-note p {
  margin: 0;
  color: #1e7d27;
  font-size: 12px;
  text-align: center;
  font-family: 'Assistant-Regular';
}

.nalli-shipping-note a {
  color: #a42829;
  text-decoration: none;
}

/* "View Shopping Bag" — outlined brand-red, drawer only */
.action_viewcart {
  color: #a42829;
  line-height: 1.8;
  font-size: 14px;
  border: 1px solid #a42829;
  background-color: #fff;
  height: 52px;
  width: 100%;
  box-sizing: border-box;
  padding: 5px 15px;
  font-family: 'Assistant-Bold';
  text-decoration: none;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --------------------------------------------------------------------------
   3. Discount code (snippets/cart-discount.liquid — zero core edit)
   -------------------------------------------------------------------------- */

.cart-discount__input {
  font-family: 'Assistant-Regular';
  font-weight: 400;
  font-size: 14px;
}

/* Apply button gets the primary (brand red) look via CSS instead of adding
   button--primary in the snippet */
.cart-discount__button {
  height: 100%;
  font-family: 'Assistant-SemiBold';
  font-weight: 400;
  font-size: 14px;
  display: flex;
  padding: 5px 15px;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary-button-background, var(--nalli-red, #a42829));
  color: var(--color-primary-button-text, #fff);
  border: var(--style-border-width-buttons-primary, 0) solid var(--color-primary-button-border, transparent);
}

/* --------------------------------------------------------------------------
   4. Cart drawer chrome ("Shopping Bag ( n )" heading — locale override
      content.cart_title supplies the wording; CSS restyles the count badge
      into inline "( n )" text. Zero core edit.)
   -------------------------------------------------------------------------- */

#cart-drawer .theme-drawer__header {
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  padding-top: 10px;
}

#cart-drawer .theme-drawer__title {
  font-family: 'Assistant-SemiBold';
  font-weight: 400;
  color: #262626;
  font-size: 16px;
  line-height: 1.42857143;
}

/* Badge circle → plain inline "( n )" */
#cart-drawer .theme-drawer__badge {
  display: inline;
  min-width: 0;
  height: auto;
  aspect-ratio: auto;
  padding-inline: 0;
  border-radius: 0;
  background-color: transparent;
  font-family: 'Assistant-SemiBold';
  font-weight: 400;
  color: #262626;
  font-size: inherit;
  line-height: inherit;
}

#cart-drawer .theme-drawer__badge::before {
  content: '( ';
}

#cart-drawer .theme-drawer__badge::after {
  content: ' )';
}

/* Drawer summary spacing (live .cart-drawer__summary { gap:15px !important }) */
.cart-drawer__summary {
  gap: 15px;
}

/* --------------------------------------------------------------------------
   5. Hidden cart-lines JSON (snippets/nalli-cart-data.liquid — WS7 reads it)
   -------------------------------------------------------------------------- */

.cart_current_data {
  opacity: 0;
  height: 0;
  overflow: hidden;
}
