/* Line Cork editorial refinements, deliberately scoped to the staging theme. */
@media (max-width: 1024px) {
  #lc-brand-header .lc-mobile-nav {z-index: 10005!important; position:relative!important;}
  #lc-brand-header .lc-mobile-nav summary {
    background: transparent!important;
    border: 1px solid transparent!important;
    border-radius: 10px!important;
    width: 44px!important;
    height: 44px!important;
    padding: 8px!important;
    list-style: none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transition: background .22s ease, border-color .22s ease, transform .22s ease!important;
    color:#292822!important;
  }
  #lc-brand-header .lc-mobile-nav summary:focus-visible {
    outline: 2px solid #9b8060!important;
    outline-offset: 3px!important;
  }
  #lc-brand-header .lc-mobile-nav summary:hover,
  #lc-brand-header .lc-mobile-nav[open] summary {
    background:#f1ede6!important;
    border-color:#e5dcd0!important;
  }
  #lc-brand-header .lc-mobile-nav summary svg {
    width:26px!important;height:26px!important;
    stroke:#322e29!important;stroke-width:1.7!important;
    transition:transform .23s ease!important;
  }
  #lc-brand-header .lc-mobile-nav[open] summary svg {transform:rotate(90deg)!important;}
  #lc-brand-header .lc-mobile-nav nav {
    position:absolute!important;
    left:auto!important;
    right:-10px!important;
    top:calc(100% + 12px)!important;
    width:min(340px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    max-height:min(72vh,500px)!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    background:#fbfaf7!important;
    border:1px solid #e8e0d6!important;
    border-radius:8px!important;
    box-shadow:0 16px 48px rgba(35,32,26,.16)!important;
    padding:14px 20px 16px!important;
    margin:0!important;
    animation:lcMenuAppear .22s cubic-bezier(.2,.75,.25,1) both;
    z-index:99999!important;
  }
  #lc-brand-header .lc-mobile-nav nav > a,
  #lc-brand-header .lc-mobile-nav nav a.lc-faire-menu-link {
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    padding:12px 6px!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.35!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    background:transparent!important;
    color:#33302b!important;
    border:0!important;
    border-bottom:1px solid #ebe6df!important;
    border-radius:0!important;
    transition:background .18s ease,color .18s ease,padding-left .18s ease!important;
  }
  #lc-brand-header .lc-mobile-nav nav > a:last-child {border-bottom:0!important;}
  #lc-brand-header .lc-mobile-nav nav > a:hover,
  #lc-brand-header .lc-mobile-nav nav > a:focus-visible {
    background:#f1ede6!important;
    color:#7b6248!important;
    padding-left:12px!important;
  }
  /* Prevent Astra/other nav helpers from appending the untidy + marker. */
  #lc-brand-header .lc-mobile-nav nav > a::after,
  #lc-brand-header .lc-mobile-nav nav > a::before {content:none!important;display:none!important;}
  @keyframes lcMenuAppear {from {opacity:0;transform:translateY(-7px)} to {opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce) {
  #lc-brand-header .lc-mobile-nav nav {animation:none!important;}
  #lc-brand-header .lc-mobile-nav summary svg {transition:none!important;}
}
/* Add a complete editorial introduction to the thin grey Store archive header. */
body.woocommerce-shop .ast-archive-description,
body.post-type-archive-product .ast-archive-description {
  position:relative!important;
  margin:0!important;
  padding:39px 25px 42px!important;
  border:0!important;
  border-bottom:1px solid #e8e1d8!important;
  background:#f3f0ea!important;
  text-align:center!important;
}
body.woocommerce-shop .ast-archive-description::before,
body.post-type-archive-product .ast-archive-description::before {
  content:'THE LINE CORK COLLECTION';
  display:block!important;
  font-family:'DM Sans',Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.22em!important;
  color:#8d765d!important;
  margin:0 auto 11px!important;
}
body.woocommerce-shop .ast-archive-description::after,
body.post-type-archive-product .ast-archive-description::after {
  content:'Portuguese cork, thoughtfully chosen for everyday life.';
  display:block!important;
  font-family:'DM Sans',Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.6!important;
  color:#686159!important;
  margin:12px auto 0!important;
}
body.woocommerce-shop .ast-archive-description h1,
body.post-type-archive-product .ast-archive-description h1 {
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(38px,4.2vw,56px)!important;
  font-weight:400!important;
  color:#2a2926!important;
  margin:0 auto!important;
  line-height:1.17!important;
  letter-spacing:-.025em!important;
}
/* Additional archive title paths used by WooCommerce itself. */
body.woocommerce-shop .woocommerce-products-header__title.page-title {
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(35px,4.1vw,53px)!important;
  line-height:1.16!important;
  margin-top:0!important;
  margin-bottom:21px!important;
}
/* Native Woo authentication message. */
.lc-auth-checkout-notice {
  box-sizing:border-box;
  background:#f3eee6;
  border-left:3px solid #a78a65;
  color:#39332d;
  padding:17px 21px;
  margin:5px auto 24px;
  max-width:1100px;
  font:400 14px/1.65 'DM Sans',Arial,sans-serif;
}
.lc-auth-checkout-notice strong {font-weight:700;margin-right:.4em;}
@media(max-width:767px) {
  body.woocommerce-shop .ast-archive-description,
  body.post-type-archive-product .ast-archive-description {
    padding:27px 18px 30px!important;
  }
  body.woocommerce-shop .ast-archive-description h1,
  body.post-type-archive-product .ast-archive-description h1 {
    font-size:35px!important;
  }
  body.woocommerce-shop .ast-archive-description::after,
  body.post-type-archive-product .ast-archive-description::after {font-size:12px!important;}
  /* Four sources override the Astra/mobile WooCommerce column settings. */
  body.woocommerce-shop .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.woocommerce-page .site-main ul.products,
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    column-gap:14px!important;
    row-gap:24px!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
  }
  body.woocommerce-shop .woocommerce ul.products li.product,
  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.woocommerce-page .site-main ul.products li.product {
    display:block!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.woocommerce-shop .woocommerce ul.products li.product img,
  body.tax-product_cat .woocommerce ul.products li.product img {
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1.14!important;
    object-fit:contain!important;
    padding:6px!important;
    margin-bottom:9px!important;
  }
  body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce-shop ul.products li.product .ast-woo-product-category + h2,
  body.woocommerce-shop ul.products li.product h2.woocommerce-loop-product__title {
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    line-clamp:3;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:14px!important;
    line-height:1.35!important;
    letter-spacing:-.012em!important;
    min-height:0!important;
    margin:5px 0 8px!important;
    overflow-wrap:anywhere!important;
  }
  body.woocommerce-shop .woocommerce ul.products li.product .price,
  body.tax-product_cat .woocommerce ul.products li.product .price {
    font-size:12px!important;
    line-height:1.3!important;
    margin:3px 0 9px!important;
  }
  body.woocommerce-shop .woocommerce ul.products li.product a.button,
  body.tax-product_cat .woocommerce ul.products li.product a.button {
    width:100%!important;
    box-sizing:border-box!important;
    max-width:100%!important;
    min-height:38px!important;
    padding:11px 7px!important;
    font-size:10px!important;
    letter-spacing:.02em!important;
    text-align:center!important;
  }
}


/* ===== Line Cork 1.1.0: seamless mobile menu / genuine Store headline ===== */
@media (max-width:1024px) {
  #lc-brand-header { position:relative!important; z-index:100000!important; }
  #lc-brand-header .lc-header-inner { position:relative!important; }
  #lc-brand-header details.lc-mobile-nav,
  #lc-brand-header .lc-mobile-nav { position:static!important; }
  #lc-brand-header .lc-mobile-nav summary,
  #lc-brand-header details.lc-mobile-nav > summary,
  #lc-brand-header .lc-mobile-nav[open] summary,
  #lc-brand-header .lc-mobile-nav summary:hover,
  #lc-brand-header .lc-mobile-nav summary:active,
  #lc-brand-header .lc-mobile-nav summary:focus {
    background:transparent!important;
    border:none!important;
    outline:none!important;
    box-shadow:none!important;
    border-radius:0!important;
    transform:none!important;
    opacity:1!important;
    color:#282723!important;
    padding:8px!important;
    width:40px!important;
    height:40px!important;
  }
  /* Accessible focus indicator appears for keyboard use only. */
  #lc-brand-header .lc-mobile-nav summary:focus-visible {
    outline:1px solid #777067!important;
    outline-offset:2px!important;
  }
  #lc-brand-header .lc-mobile-nav summary svg,
  #lc-brand-header .lc-mobile-nav[open] summary svg {
    width:26px!important;
    height:26px!important;
    transform:none!important;
    transition:none!important;
    stroke-width:1.5!important;
    stroke:#282723!important;
  }
  #lc-brand-header .lc-mobile-nav nav {
    position:absolute!important;
    top:100%!important;
    left:-20px!important;
    right:-20px!important;
    width:calc(100% + 40px)!important;
    max-width:none!important;
    max-height:min(75vh,590px)!important;
    overflow:auto!important;
    margin:0!important;
    padding:11px 27px 24px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-top:1px solid #e9e3da!important;
    border-bottom:1px solid #e9e3da!important;
    border-radius:0!important;
    background:#faf9f6!important;
    box-shadow:0 15px 23px rgba(37,32,27,.07)!important;
    animation:lcMenuAppear .18s ease-out both!important;
  }
  #lc-brand-header .lc-mobile-nav nav > a,
  #lc-brand-header .lc-mobile-nav nav > a:first-child,
  #lc-brand-header .lc-mobile-nav nav a.lc-faire-menu-link,
  #lc-brand-header .lc-mobile-nav nav > a:hover,
  #lc-brand-header .lc-mobile-nav nav > a:focus,
  #lc-brand-header .lc-mobile-nav nav > a:active {
    display:flex!important;
    width:100%!important;
    min-height:47px!important;
    align-items:center!important;
    margin:0!important;
    padding:13px 0!important;
    border:0!important;
    border-bottom:1px solid #e9e3da!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#312f2a!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:600!important;
    text-transform:uppercase!important;
    letter-spacing:.105em!important;
    line-height:1.5!important;
    transform:none!important;
    transition:color .18s ease!important;
  }
  #lc-brand-header .lc-mobile-nav nav > a:last-child,
  #lc-brand-header .lc-mobile-nav nav > a:last-of-type {
    border-bottom:0!important;
  }
  #lc-brand-header .lc-mobile-nav nav > a:hover,
  #lc-brand-header .lc-mobile-nav nav > a:focus-visible {
    color:#9d8162!important;
    padding-left:0!important;
    background:transparent!important;
  }
  #lc-brand-header .lc-mobile-nav nav a::before,
  #lc-brand-header .lc-mobile-nav nav a::after {
    display:none!important;
    content:none!important;
  }
  #lc-brand-header .lc-mobile-nav nav a .dropdown-menu-toggle,
  #lc-brand-header .lc-mobile-nav nav a .ast-icon,
  #lc-brand-header .lc-mobile-nav nav a .sub-arrow,
  #lc-brand-header .lc-mobile-nav nav a .menu-toggle,
  #lc-brand-header .lc-mobile-nav nav a[href*="/shop/"] .plus {display:none!important;}
}
@media (max-width:640px) {
  #lc-brand-header .lc-mobile-nav nav {padding-left:24px!important;padding-right:24px!important;}
}

/* v1.2: preserve WooCommerce/Astra's genuine desktop archive layout.
   The store heading is styled IN PLACE, with no extra sibling in the grid. */
@media (min-width: 1025px) {
  body.woocommerce-shop .ast-archive-description,
  body.post-type-archive-product .ast-archive-description {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v1.3.0: mobile navigation consistent with the desktop icon system. */
@media (max-width: 1024px) {
  #lc-brand-header .lc-mobile-nav nav > a.lc-mobile-store-link,
  #lc-brand-header .lc-mobile-nav nav > a[href*="/shop/"] {
    position: relative !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
    padding-right: 6px !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  #lc-brand-header .lc-mobile-nav nav > a.lc-mobile-store-link::before,
  #lc-brand-header .lc-mobile-nav nav > a.lc-mobile-store-link::after,
  #lc-brand-header .lc-mobile-nav nav > a[href*="/shop/"]::before,
  #lc-brand-header .lc-mobile-nav nav > a[href*="/shop/"]::after {
    content: none !important;
    display: none !important;
  }
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    width: 100% !important;
    padding: 15px 4px 3px !important;
    margin: 4px 0 0 !important;
    border-top: 1px solid #e8e2d9 !important;
    background: transparent !important;
  }
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions > a.lc-mobile-utility-link {
    box-sizing: border-box !important;
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 42px !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 7px !important;
    margin: 0 !important;
    background: transparent !important;
    color: #302d29 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: none !important;
  }
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions > a.lc-mobile-utility-link:hover,
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions > a.lc-mobile-utility-link:focus-visible {
    background: #f2eee7 !important;
    color: #a88d68 !important;
  }
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions > a.lc-mobile-utility-link svg {
    display: block !important;
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
    min-height: 23px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
  }
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions .lc-cart-count {
    position: absolute !important;
    right: -7px !important;
    top: -3px !important;
    min-width: 15px !important;
    height: 15px !important;
    padding: 0 3px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #a88d68 !important;
    color: white !important;
    font: 700 9px/1 'DM Sans',Arial,sans-serif !important;
    letter-spacing: 0 !important;
  }
  #lc-brand-header .lc-mobile-nav nav .lc-mobile-utility-actions .lc-cart-count.is-empty {
    display: none !important;
  }
}
/* v1.6 — single authoritative mobile Store control and category submenu. */
@media (max-width: 1024px) {
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean {
    padding-top: 9px !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-section {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-toggle {
    appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 47px !important;
    margin: 0 !important;
    padding: 13px 0 !important;
    background: transparent !important;
    color: #312f2a !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e3da !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
    font: 600 12px/1.5 'DM Sans', Arial, sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .105em !important;
    cursor: pointer !important;
    transition: color .18s ease !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-toggle:hover {
    color: #9d8162 !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-toggle:focus-visible {
    outline: 1px solid #9d8162 !important;
    outline-offset: -2px !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-arrow {
    display: block !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    margin-right: 4px !important;
    overflow: visible !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
    transition: transform .18s ease !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-toggle[aria-expanded="true"] .lc-mobile-store-arrow {
    transform: rotate(180deg) !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    padding: 8px 17px !important;
    margin: 4px 0 7px !important;
    background: #f3f0eb !important;
    border: 0 !important;
    border-left: 1px solid #e1d9ce !important;
    border-radius: 0 !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories[hidden] {
    display: none !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories a {
    display: block !important;
    width: 100% !important;
    min-height: 34px !important;
    padding: 9px 2px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e7e0d7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #49443f !important;
    text-decoration: none !important;
    font: 500 12px/1.4 'DM Sans', Arial, sans-serif !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories a:last-child {
    border-bottom: 0 !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories a:hover,
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories a[aria-current="page"] {
    color: #937454 !important;
  }
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-product-categories .lc-mobile-all-products {
    font-weight: 700 !important;
  }
  #lc-brand-header .lc-mobile-nav summary svg[data-lc-descending="true"] {
    stroke: #282723 !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
    transform: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #lc-brand-header .lc-mobile-nav nav.lc-mobile-menu-clean .lc-mobile-store-arrow {
    transition: none !important;
  }
}
