/* Theme-layer additions on top of the ported site.css (WordPress-specific needs only) */

/* No-JS-safe: force solid header immediately on pages with no dark hero/banner behind it */
.nlc-solid-header header{background:#fff; border-bottom:1px solid #ece4d8;}
.nlc-solid-header .logo-full{display:none;}
.nlc-solid-header .logo-icon-word{display:flex;}
.nlc-solid-header .navlinks{color:var(--ink);}
.nlc-solid-header .cart{color:var(--ink);}
.nlc-solid-header .menu-toggle{color:var(--ink);}
.nlc-solid-header .btn.dark{background:var(--black); color:#fff; border-color:var(--black);}

.screen-reader-text{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap;}
.skip-link{position:absolute; left:-9999px; top:0; z-index:999; background:#fff; color:#1c1712; padding:12px 18px;}
.skip-link:focus{left:10px; top:10px;}

/* Mobile menu panel (hamburger now functional) */
.mobile-menu{
  display:none; position:fixed; inset:var(--headerh) 0 0 0; z-index:90;
  background:#fff; padding:28px 24px; overflow-y:auto;
}
.mobile-menu.open{display:block;}
.mobile-menu-links{list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:18px;}
.mobile-menu-links a{font-size:18px; font-weight:600; color:var(--ink);}
@media (max-width:900px){
  .mobile-menu{display:none;}
  .mobile-menu.open{display:block;}
}

/* Contact form notices */
.form-notice{padding:14px 16px; border-radius:6px; font-size:13.5px; margin-bottom:20px;}
.form-notice--success{background:#e7f3ea; color:#1e5631; border:1px solid #bfe3c8;}
.form-notice--error{background:#fbe9e7; color:#8a2a1f; border:1px solid #f1c4bd;}

/* Newsletter inline message */
.newsletter-msg{display:block; margin-top:10px; font-size:13px; color:#cfc5b8;}
.newsletter-msg.is-success{color:#8fd19e;}
.newsletter-msg.is-error{color:#e59a8f;}

/* WooCommerce: neutralize default theme spillover, align to source system */
.woocommerce ul.products{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; list-style:none; margin:0; padding:0;}
.woocommerce ul.products li.product{
  border:1px solid #ece4d8; border-radius:6px; overflow:hidden; list-style:none;
  transition:transform .3s ease, box-shadow .3s ease; background:#fff;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(20,13,9,.1);}
.woocommerce ul.products li.product a img{aspect-ratio:1; object-fit:cover; width:100%; margin:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--head); font-size:18px; padding:18px 20px 4px; color:var(--ink); font-weight:700;
}
.woocommerce ul.products li.product .price{padding:0 20px 20px; color:var(--rust); font-weight:700; font-family:var(--head);}
.woocommerce ul.products li.product .button{
  margin:0 20px 20px; display:inline-block; padding:12px 20px; background:var(--black); color:#fff!important;
  border-radius:0; font-size:13px; font-weight:600; text-decoration:none;
}
.woocommerce nav.woocommerce-pagination{text-align:center; padding:40px 0;}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex; gap:8px; border:none; list-style:none; margin:0; padding:0;}
.woocommerce nav.woocommerce-pagination ul li{border:none;}
.woocommerce nav.woocommerce-pagination a, .woocommerce nav.woocommerce-pagination span{
  display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  border:1px solid #ece4d8; border-radius:4px; color:var(--ink); font-size:13px; font-weight:600;
}
.woocommerce nav.woocommerce-pagination .current{background:var(--black); color:#fff; border-color:var(--black);}
.woocommerce .nlc-woo-main{padding:100px 0 110px;}
.woocommerce-breadcrumb{display:none;} /* we render our own breadcrumb in the page-banner */

.woocommerce .star-rating{display:none;}
.woocommerce span.onsale{
  background:var(--rust); color:#fff; font-family:var(--sans); font-size:11px; font-weight:600;
  padding:4px 10px; border-radius:0; left:0; top:0; position:absolute; z-index:1; text-transform:uppercase; letter-spacing:.04em;
}

/* Shop toolbar: result count + ordering */
.shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:0 0 28px; margin-bottom:28px; border-bottom:1px solid #ece4d8;
}
.woocommerce-result-count{margin:0; font-size:13.5px; color:var(--ink-soft);}
.woocommerce-ordering{margin:0;}
.woocommerce-ordering select{
  padding:10px 14px; border:1px solid #ece4d8; border-radius:4px; font-family:var(--sans); font-size:13.5px;
  background:#fff; color:var(--ink); cursor:pointer;
}

/* Single product */
.woocommerce div.product{max-width:var(--maxw); margin:0 auto; padding:90px 32px 40px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
.woocommerce div.product .woocommerce-product-gallery{grid-column:1;}
.woocommerce div.product .woocommerce-product-gallery__wrapper{margin:0; padding:0; list-style:none;}
.woocommerce div.product .woocommerce-product-gallery__image{margin:0;}
.woocommerce div.product .woocommerce-product-gallery__image img{
  width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:10px; display:block;
  box-shadow:0 30px 60px rgba(20,13,9,.1);
}
.woocommerce div.product .flex-viewport, .woocommerce div.product .flex-control-thumbs{display:none;}

.woocommerce div.product .summary{padding-left:0; grid-column:2; padding-top:4px;}
.woocommerce div.product .summary > .nlc-cat-badge{
  display:inline-block; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em;
  color:var(--rust); margin-bottom:14px;
}
.woocommerce div.product .product_title{font-family:var(--head); font-size:clamp(28px,3.4vw,40px); margin-bottom:16px; line-height:1.1;}
.woocommerce div.product p.price{color:var(--rust); font-family:var(--head); font-size:28px; font-weight:700; margin-bottom:22px;}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--ink-soft); font-size:15px; line-height:1.7; margin-bottom:30px; max-width:440px;
}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0;}

.woocommerce div.product form.cart{
  display:flex; align-items:stretch; gap:12px; margin-bottom:28px; flex-wrap:wrap;
}
.woocommerce div.product form.cart .quantity{
  display:flex; align-items:stretch; border:1px solid #ddd2c2; height:52px;
}
.woocommerce div.product form.cart .qty{
  width:52px; text-align:center; border:none; font-family:var(--head); font-weight:600;
  font-size:15px; padding:0; -moz-appearance:textfield; height:100%;
}
.woocommerce div.product form.cart .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .qty::-webkit-outer-spin-button{-webkit-appearance:none; margin:0;}
.woocommerce div.product form.cart .qty-step{
  width:38px; border:none; background:var(--cream); color:var(--ink); font-size:17px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s ease; font-family:var(--sans);
}
.woocommerce div.product form.cart .qty-step:hover{background:#e7ddc8;}
.woocommerce div.product form.cart .qty-step--minus{border-right:1px solid #ddd2c2;}
.woocommerce div.product form.cart .qty-step--plus{border-left:1px solid #ddd2c2;}
.woocommerce div.product form.cart .button{
  height:52px; background:var(--black); color:#fff; border-radius:0; padding:0 36px; font-weight:600; border:none; cursor:pointer;
  font-size:14px; letter-spacing:.02em; transition:background .2s ease;
}
.woocommerce div.product form.cart .button:hover{background:var(--brown-dark);}

.woocommerce div.product .product_meta{
  padding-top:24px; border-top:1px solid #ece4d8; font-size:13.5px; color:var(--ink-soft); margin-bottom:28px;
}
.woocommerce div.product .product_meta > span{display:block; margin-bottom:6px;}
.woocommerce div.product .product_meta a{color:var(--ink); font-weight:600;}

/* Trust row + custom-order note (fills the summary column with useful content) */
.nlc-trust-row{list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:14px;}
.nlc-trust-row li{display:flex; align-items:center; gap:12px; font-size:14px; color:var(--ink-soft);}
.nlc-trust-row svg{width:20px; height:20px; flex:0 0 auto; stroke:var(--rust); fill:none;}
.nlc-custom-note{
  font-size:13.5px; color:var(--ink-soft); background:var(--cream); border:1px solid #ece0cd;
  border-radius:6px; padding:16px 18px; margin:0 0 28px;
}
.nlc-custom-note a{color:var(--rust); font-weight:600; text-decoration:underline;}

/* Tabs (Description / Reviews) */
.woocommerce div.product .woocommerce-tabs{grid-column:1 / -1; max-width:760px; margin-top:20px; padding-top:50px; border-top:1px solid #ece4d8;}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex; gap:32px; list-style:none; margin:0 0 34px; padding:0; border-bottom:1px solid #ece4d8;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0; padding:0 0 16px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--head); font-size:15px; font-weight:600; color:var(--ink-soft); text-decoration:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--rust); margin-bottom:-1px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--ink-soft); font-size:15px; line-height:1.75;}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--head); font-size:20px; color:var(--ink); margin-bottom:16px;}

/* Related products */
.woocommerce div.product .related.products{grid-column:1 / -1; margin-top:80px; padding-top:70px; border-top:1px solid #ece4d8;}
.woocommerce div.product .related.products > h2{
  font-family:var(--head); font-size:clamp(24px,3vw,32px); margin-bottom:40px; text-align:center;
}

/* Cart & Checkout pages */
.woocommerce-cart .nlc-woo-main, .woocommerce-checkout .nlc-woo-main{padding:100px 0;}
.woocommerce table.shop_table{border-collapse:collapse; width:100%; border:1px solid #ece4d8;}
.woocommerce table.shop_table th, .woocommerce table.shop_table td{padding:16px; border-bottom:1px solid #ece4d8;}
.woocommerce #payment, .woocommerce-checkout-review-order{background:var(--cream); border-radius:10px; padding:28px; border:1px solid #ece0cd;}
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"], .woocommerce-checkout select, .woocommerce-checkout textarea{
  width:100%; padding:13px 14px; border:1px solid #ddd2c2; border-radius:4px; font-family:var(--sans); font-size:14px;
}
.woocommerce #place_order, .woocommerce a.checkout-button, .woocommerce input.button, .woocommerce button.button{
  background:var(--black); color:#fff; border-radius:0; padding:14px 28px; font-weight:600; border:none;
}

/* My Account */
.woocommerce-account .nlc-woo-main{padding:100px 0;}
.woocommerce-MyAccount-navigation ul{list-style:none; padding:0; display:flex; flex-direction:column; gap:10px;}
.woocommerce-MyAccount-navigation a{font-weight:600;}

@media (max-width:900px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
  .woocommerce div.product{grid-template-columns:1fr; padding-top:60px;}
  .woocommerce div.product .woocommerce-product-gallery{position:static; grid-column:1;}
  .woocommerce div.product .summary{padding-left:0; margin-top:28px; grid-column:1;}
  .shop-toolbar{flex-direction:column; align-items:flex-start; gap:14px;}
}
@media (max-width:560px){
  .woocommerce ul.products{grid-template-columns:1fr;}
  .woocommerce div.product form.cart{flex-direction:column;}
  .woocommerce div.product .woocommerce-tabs ul.tabs{gap:20px;}
}
