/* Solid Packages Core */
:root {
	--sp-primary: var(--wd-primary-color, #a8592b);
	--sp-ink: #1d1b19;
	--sp-text: #4a4643;
	--sp-line: #ebe3d9;
	--sp-cream: #f8f4ef;
	--sp-kraft: #efe4d6;
	--sp-green: #1f8a4c;
	--sp-wa: #25d366;
	--sp-radius: 12px;
}

/* Prices */
.sp-from-price { display: inline-flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.sp-from { font-size: .8em; font-weight: 500; color: var(--sp-text); opacity: .8; }
.sp-per-unit { font-size: .72em; font-weight: 500; color: var(--sp-text); opacity: .75; }
.sp-cart-tier { color: var(--sp-green); font-weight: 600; }
.sp-bulk-label.product-label { background: var(--sp-ink); color: #fff; }

/* Bulk pricing box */
.sp-bulk { margin: 6px 0 22px; border: 1px solid var(--sp-line); border-radius: var(--sp-radius); background: #fff; overflow: hidden; }
.sp-bulk__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; background: var(--sp-cream); border-bottom: 1px solid var(--sp-line); }
.sp-bulk__title { font-weight: 700; color: var(--sp-ink); font-size: 15px; letter-spacing: .01em; }
.sp-bulk__badge { font-size: 12px; font-weight: 700; color: #fff; background: var(--sp-green); padding: 4px 10px; border-radius: 30px; white-space: nowrap; }
.sp-bulk__table { width: 100%; margin: 0 !important; border-collapse: collapse; font-size: 14px; }
.sp-bulk__table th { padding: 10px 16px !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; color: var(--sp-text) !important; background: transparent; border-bottom: 1px solid var(--sp-line) !important; text-align: left; }
.sp-bulk__table td { padding: 11px 16px !important; border-bottom: 1px solid var(--sp-line) !important; color: var(--sp-ink); vertical-align: middle; text-align: left; }
.sp-bulk__table tr:last-child td { border-bottom: 0 !important; }
.sp-bulk__table th:nth-child(2), .sp-bulk__table td:nth-child(2) { font-weight: 700; }
.sp-bulk__row { cursor: pointer; transition: background-color .15s ease; }
.sp-bulk__row:hover, .sp-bulk__row:focus-visible { background: #fcfaf7; outline: none; }
.sp-bulk__row.is-active { background: #fbf1e8; box-shadow: inset 3px 0 0 var(--sp-primary); }
.sp-bulk__row.is-active .sp-col-qty { font-weight: 700; color: var(--sp-primary); }
.sp-pill { display: inline-block; padding: 2px 8px; border-radius: 30px; background: #e7f5ec; color: var(--sp-green); font-weight: 700; font-size: 12px; }
.sp-muted { color: #9a938c; }
.sp-free { color: var(--sp-green); font-weight: 700; }
.sp-bulk__calc { padding: 14px 16px; background: var(--sp-cream); border-top: 1px solid var(--sp-line); display: grid; gap: 6px; }
.sp-calc-line { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--sp-text); }
.sp-calc-line strong { color: var(--sp-ink); font-size: 15px; }
.sp-calc-line .sp-total-price { color: var(--sp-primary); font-size: 18px; }
.sp-calc-save { display: none; margin-top: 4px; font-size: 13px; color: var(--sp-green); font-weight: 600; }
.sp-calc-save.is-visible { display: block; }
.sp-bulk__note { margin: 0; padding: 10px 16px 12px; font-size: 12.5px; color: #7a736c; border-top: 1px dashed var(--sp-line); }

@media (max-width: 575px) {
	.sp-bulk__table th, .sp-bulk__table td { padding: 9px 10px !important; }
	.sp-bulk__table { font-size: 13px; }
	.sp-bulk__head { padding: 10px 12px; }
}

/* WhatsApp order button (product page) */
.sp-wa-order { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; margin: 12px 0 6px; padding: 12px 18px; min-height: 46px; border-radius: var(--btn-accented-brd-radius, 8px); background: #fff; color: #128c4b !important; border: 2px solid var(--sp-wa); font-weight: 700; font-size: 14px; text-transform: none; transition: all .2s ease; }
.sp-wa-order:hover { background: var(--sp-wa); color: #fff !important; }
.sp-wa-order .sp-wa-icon { flex: 0 0 auto; }

/* Floating WhatsApp button */
.sp-wa-float { position: fixed; right: 22px; bottom: 24px; z-index: 390; display: flex; align-items: center; gap: 12px; padding: 6px 22px 6px 6px; border-radius: 60px; background: #fff; color: #1F1D1A !important; text-decoration: none !important; box-shadow: 0 18px 38px -16px rgba(31, 29, 26, .5), 0 0 0 1px rgba(31, 29, 26, .07); transition: transform .25s ease, box-shadow .25s ease, bottom .25s ease; animation: sp-wa-in .5s .8s backwards cubic-bezier(.2, .7, .2, 1); }
.sp-wa-float:hover { transform: translateY(-3px); box-shadow: 0 22px 42px -16px rgba(31, 29, 26, .55), 0 0 0 1px rgba(37, 211, 102, .45); }
.sp-wa-float__icon { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: #25D366; color: #fff; }
.sp-wa-float__icon::after { content: ""; position: absolute; inset: 0; border-radius: 50%; animation: sp-wa-pulse 2.6s ease-out infinite; }
.sp-wa-float .sp-wa-icon { width: 27px; height: 27px; }
.sp-wa-float__text { display: flex; flex-direction: column; line-height: 1.2; }
.sp-wa-float__text small { font-size: 11.5px; font-weight: 500; color: #7A726B; }
.sp-wa-float__text strong { font-size: 14.5px; font-weight: 800; color: #1F1D1A; }
@keyframes sp-wa-pulse { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); } 70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); } }
@keyframes sp-wa-in { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sp-wa-float, .sp-wa-float__icon::after { animation: none; } }
@media (max-width: 1024px) {
	.sp-wa-float { right: 14px; bottom: calc(18px + env(safe-area-inset-bottom)); padding: 0; background: transparent; box-shadow: none; }
	.sp-wa-float:hover { box-shadow: none; }
	.sp-wa-float__icon { width: 56px; height: 56px; box-shadow: 0 14px 28px -10px rgba(18, 140, 75, .65); }
	.sp-wa-float .sp-wa-icon { width: 31px; height: 31px; }
	.sp-wa-float__text { display: none; }
	.sticky-toolbar-on .sp-wa-float { bottom: calc(72px + env(safe-area-inset-bottom)); }
}
body:has(.wd-sticky-btn.wd-sticky-btn-shown) .sp-wa-float { bottom: 112px; }
@media (max-width: 1024px) {
	body:has(.wd-sticky-btn.wd-sticky-btn-shown) .sp-wa-float { bottom: calc(126px + env(safe-area-inset-bottom)); }
	.scrollToTop { right: auto; left: 14px; }
}
@media (min-width: 1025px) { .scrollToTop { bottom: 96px; right: 30px; } }
@media print { .sp-wa-float { display: none; } }

/* Sticky add-to-cart bar: keep it compact (no tier table / WhatsApp button) */
.wd-sticky-btn .sp-bulk, .wd-sticky-btn .sp-wa-order { display: none !important; }
.sp-trust-item .info-box-inner { margin-top: 3px; }

/* ---------- Product cards (shop, category & widget grids) ---------- */
.wd-product .product-wrapper { height: 100%; padding: 10px 10px 14px; border: 1px solid #EEE6DC; border-radius: 20px; background: #fff; transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease; }
/* Calm hover: no lift (nothing shifts or gets clipped), just shadow + image zoom */
.wd-product .wd-product-wrapper.product-wrapper { transform: none !important; }
.wd-product:hover .product-wrapper { border-color: #DCC7AF; box-shadow: 0 22px 40px -30px rgba(31, 29, 26, .5); }
.wd-product .product-element-top .product-image-link img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.wd-product:hover .product-element-top .product-image-link img { transform: scale(1.05); }
.wd-product .wd-buttons { opacity: 0; transform: translateY(-4px); transition: opacity .25s ease, transform .25s ease; }
.wd-product:hover .wd-buttons, .wd-product .wd-buttons:focus-within { opacity: 1; transform: none; }
.wd-carousel-container .wd-carousel { padding-block: 4px 26px; margin-block: -4px -26px; }
@media (hover: none) {
	.wd-product:hover .product-wrapper { box-shadow: none; border-color: #EEE6DC; }
	.wd-product:hover .product-element-top .product-image-link img { transform: none; }
	.wd-product .wd-buttons { opacity: 1; transform: none; }
}
.wd-product .wd-product-card-bg { display: none !important; }
.wd-product .product-element-top { overflow: hidden; border-radius: 14px; background: #F5F0EA; }
.wd-product .product-element-top img { mix-blend-mode: multiply; }
.wd-product .product-element-bottom { padding: 14px 6px 0; }
.wd-product .wd-entities-title { font-size: 15px; font-weight: 700; line-height: 1.35; }
.wd-product .wd-entities-title a { color: #1F1D1A; }
.wd-product .wd-entities-title a:hover { color: var(--sp-primary); }
.wd-product .wd-product-cats { font-size: 11.5px; }
.wd-product .wd-product-cats a { color: #9A938C; }
.wd-product .price { font-size: 17px; font-weight: 800; color: #1F1D1A; }
.wd-product .price .amount { color: #1F1D1A; }
.wd-product .price del .amount { color: #A9A29B; font-weight: 500; }
.wd-product .price ins { text-decoration: none; }
.wd-product .sp-from-price .amount { color: var(--sp-primary); }
.wd-product .wd-add-btn { margin-top: 12px; }
.wd-product .wd-add-btn > .button, .wd-product .wd-add-btn > a.add-to-cart-loop { display: inline-flex !important; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 0 14px; border-radius: 12px !important; background: #1F1D1A !important; color: #fff !important; font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; box-shadow: none; transition: background-color .2s ease; }
.wd-product .wd-add-btn > .button:hover, .wd-product .wd-add-btn > a.add-to-cart-loop:hover { background: var(--sp-primary) !important; }
.wd-product .wd-add-btn .wd-action-icon { display: none; }
.wd-product .wd-add-btn .wd-action-text { display: inline !important; opacity: 1 !important; transform: none !important; }
.wd-product .product-labels { top: 12px; left: 12px; gap: 6px; }
.product-labels .product-label { min-height: 0; padding: 5px 10px; border-radius: 40px !important; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; line-height: 1.2; }
.product-labels .product-label.onsale { background: #1F8A4C; color: #fff; }
.wd-product .wd-buttons { top: 12px; right: 12px; border-radius: 40px; box-shadow: 0 10px 22px -14px rgba(31, 29, 26, .5); }
/* Equal-height cards: button pinned to the bottom (grids and carousels) */
.wd-product .product-wrapper { display: flex; flex-direction: column; }
.wd-product .product-element-bottom { flex: 1 1 auto; display: flex; flex-direction: column; }
.wd-product .product-element-bottom .wd-add-btn.wd-add-btn { margin-top: auto; padding-top: 12px; }
.wd-product .wd-product-card-hover { display: none !important; }
.wd-carousel-item:has(> .wd-product) { height: auto; }
.wd-carousel-item > .wd-product { height: 100%; }
.wd-products.wd-grid-g:not(.grid-masonry) { align-items: stretch; }
/* Uniform square image area so every card lines up */
.wd-product .product-element-top { aspect-ratio: 1 / 1; }
.wd-product .product-element-top .product-image-link { display: flex; align-items: center; justify-content: center; height: 100%; }
.wd-product .product-element-top .product-image-link img, .wd-product .product-element-top .hover-img img { width: 100%; height: 100%; object-fit: contain; }

/* ---------- Shop archive ---------- */
.woodmart-archive-shop .wd-nav-product-cat > li > a, .tax-product_cat .wd-nav-product-cat > li > a { text-transform: none; font-weight: 700; }
.sidebar-container .widget-title, .wd-sidebar .widget-title { font-size: 15px; font-weight: 800; text-transform: none; letter-spacing: 0; color: #1F1D1A; }
.wd-sidebar .widget { padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid #EEE6DC; }
.wd-sidebar .widget:last-child { border-bottom: 0; }
.wd-sidebar .product-categories > li > a { font-weight: 600; color: #3E3A36; }
.wd-sidebar .count { border-radius: 30px; }
.woocommerce-ordering select, .wd-shop-tools select { border-radius: 10px; }
.term-description, .wd-term-desc { color: #6B645E; }
@media (max-width: 575px) {
	.wd-product .product-wrapper { padding: 6px 6px 10px; border-radius: 16px; }
	.wd-product .product-element-top { border-radius: 11px; }
	.wd-product .product-element-bottom { padding: 10px 4px 0; }
	.wd-product .wd-entities-title { font-size: 13.5px; }
	.wd-product .price { font-size: 15px; }
	.wd-product .wd-add-btn > .button, .wd-product .wd-add-btn > a.add-to-cart-loop { min-height: 40px; font-size: 13px; border-radius: 10px !important; }
	.wd-product .wd-product-cats { display: none; }
}

/* ---------- Custom order form ---------- */
.sp-co { display: grid; gap: 16px; }
.sp-co__group { min-width: 0; margin: 0; padding: 22px 22px 8px; border: 1px solid #EEE6DC; border-radius: 18px; background: #fff; }
.sp-co__group legend { float: left; width: 100%; display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 0; font-size: 17px; font-weight: 800; color: #1F1D1A; }
.sp-co__group legend span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #1F1D1A; color: #fff; font-size: 13px; }
.sp-co__group legend ~ * { clear: both; }
.sp-co label { display: flex; flex-direction: column; gap: 7px; margin: 0 0 16px; font-size: 13px; font-weight: 700; color: #3E3A36; }
.sp-co .wpcf7-form-control-wrap { display: block; }
.sp-co input:not([type=submit]):not([type=radio]):not([type=file]), .sp-co select, .sp-co textarea { width: 100%; min-height: 48px; border-color: #E6DACB !important; border-radius: 12px !important; background: #FCFAF7 !important; font-size: 15px; font-weight: 500; color: #1F1D1A; }
.sp-co textarea { min-height: 110px; padding-top: 12px; }
.sp-co :is(input, select, textarea):focus { border-color: #A0562A !important; background: #fff !important; }
.sp-co__field { margin: 0 0 16px; }
.sp-co__field > span:first-child { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #3E3A36; }
.sp-co .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-co .wpcf7-radio .wpcf7-list-item { margin: 0; }
.sp-co .wpcf7-radio label { flex-direction: row; align-items: center; margin: 0; cursor: pointer; }
.sp-co .wpcf7-radio input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sp-co .wpcf7-radio .wpcf7-list-item-label { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1.5px solid #E6DACB; border-radius: 40px; background: #FCFAF7; font-size: 14px; font-weight: 600; color: #3E3A36; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.sp-co .wpcf7-radio label:hover .wpcf7-list-item-label { border-color: #C9AE90; }
.sp-co .wpcf7-radio input:checked + .wpcf7-list-item-label { border-color: #1F1D1A; background: #1F1D1A; color: #fff; }
.sp-co .wpcf7-radio input:focus-visible + .wpcf7-list-item-label { outline: 2px solid #A0562A; outline-offset: 2px; }
.sp-co__size { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
.sp-co__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.sp-co__hint { display: block; margin: -8px 0 16px; font-size: 12.5px; font-weight: 500; color: #8A827B; }
.sp-co input[type=file] { width: 100%; padding: 14px; border: 1.5px dashed #D9C3AA; border-radius: 12px; background: #FCFAF7; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.sp-co__file small { font-weight: 500; color: #8A827B; }
.sp-co__submit { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 4px; }
.sp-co__submit .wpcf7-submit { min-height: 54px; padding-inline: 34px; border-radius: 14px !important; background: #1F1D1A !important; color: #fff !important; font-size: 15.5px; font-weight: 700; text-transform: none; }
.sp-co__submit .wpcf7-submit:hover { background: #A0562A !important; }
.sp-co__submit small { flex: 1 1 220px; font-size: 13px; color: #7A726B; }
.sp-co .wpcf7-not-valid-tip { margin-top: 4px; font-size: 12.5px; font-weight: 600; }
.wpcf7 form.sent .sp-co ~ .wpcf7-response-output, .sp-co ~ .wpcf7-response-output { margin: 16px 0 0; padding: 14px 18px; border-radius: 12px; font-weight: 600; }
@media (max-width: 575px) {
	.sp-co__group { padding: 16px 16px 4px; border-radius: 16px; }
	.sp-co__grid { grid-template-columns: 1fr; }
	.sp-co__size { gap: 0 8px; }
	.sp-co .wpcf7-radio .wpcf7-list-item-label { min-height: 40px; padding: 0 13px; font-size: 13.5px; }
	.sp-co__submit .wpcf7-submit { width: 100%; }
}
.sp-co input[type=number] { padding-inline: 15px !important; text-align: left; -moz-appearance: textfield; }
.sp-co select.wpcf7-select { -webkit-appearance: none; appearance: none; padding-right: 42px; background: #FCFAF7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1D1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px !important; }
.sp-co select.wpcf7-select:focus { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A0562A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px !important; }
.sp-co input[type=file]::file-selector-button { margin-right: 12px; padding: 9px 16px; border: 0; border-radius: 10px; background: #1F1D1A; color: #fff; font-weight: 700; cursor: pointer; }
.sp-co input[type=file]:hover::file-selector-button { background: #A0562A; }
@media (min-width: 1025px) { .sp-co-aside { position: sticky; top: 110px; } }
@media (max-width: 767px) { .sp-co-aside .sp-contact-card, .sp-co-aside .sp-co-points { display: none; } }
/* Custom order link in the main menu */
.wd-nav > li.sp-menu-cta > a { color: #A0562A; font-weight: 800; }
.wd-nav > li.sp-menu-cta > a::before { content: ""; width: 18px; height: 18px; margin-inline-end: 6px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A0562A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.8 20.5 7v10L12 21.2 3.5 17V7z'/%3E%3Cpath d='M3.5 7 12 11.2 20.5 7M12 11.2v10'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- Thank-you page: next steps ---------- */
.sp-next { margin: 0 0 30px; padding: 24px 26px; border: 1px solid #E6DACB; border-radius: 18px; background: #FBF8F4; }
.sp-next__eyebrow { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #A0562A; }
.sp-next__title { margin: 0 0 14px; font-size: 20px; font-weight: 800; color: #1F1D1A; }
.sp-next__steps { margin: 0 0 18px; padding-left: 20px; display: grid; gap: 8px; font-size: 15px; color: #3E3A36; }
.sp-next__steps li { padding-left: 4px; }
.sp-next__ur { display: block; margin: 2px 0 0; font-family: "Noto Nastaliq Urdu", serif; font-size: 14px; line-height: 2; color: #5B5550; text-align: right; }
p.sp-next__ur { margin: -8px 0 14px; font-size: 15px; }
.sp-next__btn { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 14px; background: #25D366; color: #fff !important; font-weight: 700; text-decoration: none; transition: background-color .2s ease; }
.sp-next__btn:hover { background: #1DAA53; }
.sp-next__btn .sp-wa-icon { width: 22px; height: 22px; }
.woocommerce-bacs-bank-details, .wc-bacs-bank-details-heading { margin-top: 10px; }
@media (max-width: 575px) { .sp-next { padding: 18px; } .sp-next__btn { width: 100%; justify-content: center; } }

/* ---------- Bilty (bulk delivery) notices ---------- */
.sp-bilty { display: grid; gap: 4px; margin: 12px 0 6px; padding: 14px 16px; border: 1px dashed #D9C3AA; border-radius: 14px; background: #FFF8EF; font-size: 13.5px; color: #3E3A36; }
.sp-bilty[hidden] { display: none; }
.sp-bilty strong { font-size: 14px; color: #1F1D1A; }
.sp-bilty a { justify-self: start; margin-top: 4px; font-weight: 700; color: #128C4B; text-decoration: underline; }
.sp-bilty--cart { margin: 0 0 22px; }
.wd-sticky-btn .sp-bilty { display: none !important; }

/* Handoff: honest card starting prices and sticker labels. */
.wd-product .sp-from-price { flex-direction: column; align-items: flex-start; gap: 2px; }
.sp-price-main { display: inline-flex; align-items: baseline; gap: 4px; }
.wd-product .sp-from-price .sp-price-main .amount { color: #1F1D1A; }
.sp-bulk-from { font-size: 12px; font-weight: 700; color: #1F8A4C; }
.wd-product .sp-from-price .sp-bulk-from .amount { color: #1F8A4C; }
.sp-best-price-label.product-label { background: #1F8A4C; color: #FFFFFF; }


/* 2.5.0: roomier main menu, left-aligned search category list */
@media (min-width: 1025px) {
	.whb-header .wd-header-main-nav .wd-nav-main { gap: 5px 24px; }
	.whb-header .wd-header-main-nav .wd-nav-main > li > a { font-size: 14px; }
}
.wd-dropdown-search-cat { min-width: 250px; }
.wd-dropdown-search-cat a { white-space: nowrap; }
.wd-dropdown-search-cat .wd-sub-menu > li > a { font-weight: 700; color: #1F1D1A; }
.wd-dropdown-search-cat .wd-sub-menu .children { margin: 0 !important; padding: 0 !important; }
.wd-dropdown-search-cat .wd-sub-menu .children a { padding-left: 0 !important; }
.wd-dropdown-search-cat .wd-sub-menu > li + li { margin-top: 6px; }
