/* Wisundi — WooCommerce screens (shop, product, cart, checkout, account). Loaded only there. */

.shop-wrap { padding-top: clamp(14px, 2.2vw, 24px); padding-bottom: clamp(40px, 6vw, 72px); }
.woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb { font-size: 12.5px; font-weight: 500; color: var(--ink-2); margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: .1rem 0; }
.woocommerce-breadcrumb .sep { color: var(--steel); margin: 0 .45rem; }
.woocommerce-breadcrumb a, .woocommerce .woocommerce-breadcrumb a { color: var(--muted); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--blue); }

/* ---------- Shop / category header ---------- */
.woocommerce-products-header { background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: clamp(18px, 3vw, 32px); margin-bottom: 14px; position: relative; overflow: hidden; }
.woocommerce-products-header::after { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: var(--blue-10); right: -70px; top: -120px; }
.woocommerce-products-header__title { margin: 0; position: relative; z-index: 1; }
.woocommerce-products-header .term-description, .woocommerce-products-header .page-description { color: var(--muted); position: relative; z-index: 1; margin-top: .4rem; }
.woocommerce-products-header .term-description p:last-child { margin: 0; }

/* Sort + count toolbar */
.woocommerce .woocommerce-result-count { float: left; margin: 0 0 14px; line-height: 44px; font-size: 13px; font-weight: 600; color: var(--muted); }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 14px; }
.woocommerce .woocommerce-ordering select { width: auto; height: 44px; padding: 0 2.4em 0 1.1em; border-radius: 999px; font-weight: 600; font-size: .92rem; background-color: var(--white); }
.woocommerce .products.pgrid { clear: both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products.pgrid li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0; text-align: left; }
.woocommerce ul.products.pgrid li.product a img { margin: 0; box-shadow: none; }
.woocommerce .pcard .onsale { display: none; }
.woocommerce .woocommerce-pagination { margin-top: 16px; }
.woocommerce .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
.woocommerce .woocommerce-pagination ul.page-numbers li .page-numbers { min-width: 44px; padding: 0 .9em; }

/* ---------- Buttons ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--blue); color: #fff; border-radius: 999px; font: 600 .95rem/1.2 var(--font); padding: .9em 1.5em; border: 1px solid var(--blue); box-shadow: var(--shadow-blue);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button:hover { background: var(--blue-hover); border-color: var(--blue-hover); color: #fff; }
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled, .woocommerce button.button:disabled[disabled] { background: var(--blue); color: #fff; opacity: .45; }
.woocommerce span.onsale { position: absolute; background: var(--deal); color: #fff; min-height: 0; min-width: 0; line-height: 1; padding: .55em .8em; border-radius: 999px; font-weight: 700; font-size: 12px; top: 14px !important; left: 14px !important; right: auto !important; margin: 0; z-index: 3; }

/* ---------- Single product ----------
   Explicit grid placement: gallery left, summary right, everything else
   (tabs, reviews, related, anything plugins add) full width below. */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px clamp(16px, 3vw, 36px); align-items: start; position: relative; }
.woocommerce div.product > * { grid-column: 1 / -1; min-width: 0; }
.woocommerce div.product > div.images, .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
.woocommerce div.product > div.summary { grid-column: 2; grid-row: 1; }
.woocommerce div.product > span.onsale { position: absolute; grid-column: auto; top: 14px !important; left: 14px !important; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images { background: var(--white); border-radius: var(--r-xl); padding: 12px; box-shadow: var(--shadow); position: relative; }
.woocommerce div.product div.images img { border-radius: var(--r-lg); }
.woocommerce div.product div.images .flex-control-thumbs { margin-top: 10px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--r-sm); border: 2px solid transparent; opacity: .7; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { border-color: var(--blue); opacity: 1; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 22px; right: 22px; background: var(--white); border-radius: 50%; box-shadow: var(--shadow); }

.woocommerce div.product div.summary { background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: clamp(20px, 3vw, 36px); }
.woocommerce div.product .product_title { font-size: clamp(1.3rem, 2vw, 1.7rem); margin-bottom: .4rem; line-height: 1.15; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font-size: 1.45rem; font-weight: 700; display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; margin: .2rem 0 .6rem; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; color: var(--deal); }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--muted); font-size: .55em; font-weight: 700; opacity: 1; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ink-2); font-size: .95rem; }
.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.woocommerce div.product form.cart { margin: 0 0 16px; }
.woocommerce div.product form.cart .variations { margin-bottom: 8px; border: 0; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 10px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; border: 0; background: none; line-height: 1.3; }
.woocommerce div.product form.cart .variations label { font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; display: block; }
.woocommerce div.product form.cart .variations select { min-width: 0; width: 100%; height: 46px; border-radius: var(--r-md); font-weight: 700; font-size: .95rem; }
.woocommerce div.product form.cart .reset_variations { font-size: 12px; font-weight: 700; }
.woocommerce div.product .woocommerce-variation-description { background: var(--steel-20); border-radius: var(--r-md); padding: 12px 16px; margin-bottom: 12px; font-size: .9rem; font-weight: 600; }
.woocommerce div.product .woocommerce-variation-description > :last-child { margin-bottom: 0; }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 1.3rem; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart, .woocommerce div.product form.cart:not(.variations_form) { display: flex; gap: 10px; flex-wrap: wrap; align-items: stretch; }
.woocommerce .quantity .qty { width: 4.6em; height: 50px; border-radius: 999px; font-weight: 600; text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 50px; font-size: 1rem; }
.woocommerce div.product .stock { font-weight: 600; color: var(--ok); }
.woocommerce div.product .stock.out-of-stock { color: var(--warn); }
.woocommerce div.product .product_meta { font-size: 12.5px; font-weight: 700; color: var(--muted); display: grid; gap: .25rem; border-top: 1px solid var(--steel-30); padding-top: 14px; margin-top: 4px; }
.woocommerce div.product .product_meta a { color: var(--ink-2); text-decoration: none; }
@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	.woocommerce div.product > div.images, .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
	.woocommerce div.product > div.summary { grid-column: 1; grid-row: 2; }
}
/* Gallery: keep images square and visible even before the slider script runs */
.woocommerce div.product div.images { opacity: 1 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: #f3f6fb; }
.woocommerce div.product div.images .woocommerce-product-gallery__image a { display: block; }
.woocommerce div.product div.images .flex-control-thumbs { list-style: none; padding: 0; }
.woocommerce div.product div.images .flex-control-thumbs li img { aspect-ratio: 1; object-fit: cover; width: 100%; cursor: pointer; }

/* Tabs → section cards */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 8px; background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: clamp(14px, 2.6vw, 28px) clamp(16px, 3vw, 36px) clamp(20px, 3vw, 36px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; padding: 6px; margin: 0 0 20px; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; background: var(--bg); border-radius: 999px; width: max-content; max-width: 100%; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 999px; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .55em 1em; font-weight: 600; font-size: .86rem; color: var(--muted); white-space: nowrap; border-radius: 999px; display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; margin: 0; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: 1.2rem; margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel table { border: 1px solid var(--steel-30); border-radius: var(--r-md); overflow: hidden; border-collapse: separate; border-spacing: 0; }
.woocommerce div.product .woocommerce-tabs .panel table tr:last-child td, .woocommerce div.product .woocommerce-tabs .panel table tr:last-child th { border-bottom: 0; }
.woocommerce div.product .related, .woocommerce div.product .upsells, .woocommerce div.product > .bob-rv, .woocommerce div.product .bob-reviews-wrap { grid-column: 1 / -1; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: clamp(1.15rem, 1.8vw, 1.45rem); margin: 18px 0 12px; }

/* Hide WooCommerce's "Clear" link (changing the dropdown is enough) */
.woocommerce div.product form.cart .reset_variations { display: none !important; }

/* SuperWP harmony */
.bob-box { --bob-primary: var(--blue); --bob-bar: var(--blue); font-family: var(--font); }
.bob-tier { border-radius: var(--r-lg) !important; }
.bob-button { border-radius: 999px !important; font-family: var(--font) !important; font-weight: 600 !important; }
.bob-rv { font-family: var(--font); }

/* Sticky buy bar on phones */
.buybar { display: none; }
@media (max-width: 760px) {
	.buybar { display: flex; position: fixed; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); z-index: 70; align-items: center; gap: 12px; background: var(--ink); color: #fff; border-radius: 999px; padding: 8px 8px 8px 20px; box-shadow: 0 18px 40px -10px rgba(18,26,43,.45); }
	.buybar__price { font-weight: 700; font-size: 1.05rem; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.buybar__price del { color: var(--steel); font-size: .75em; font-weight: 700; }
	.buybar__price ins { text-decoration: none; color: #ffb39f; }
	.buybar__btn { padding: .85em 1.4em; box-shadow: none; }
}

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews { border: 0 !important; background: var(--white); border-radius: var(--r-lg); box-shadow: var(--shadow); font-weight: 700; padding: 1em 1.4em 1em 3.4em !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--blue); top: 1em !important; }
.woocommerce-error::before { color: var(--warn); }
.woocommerce-message .button, .woocommerce-info .button { padding: .55em 1.1em !important; font-size: .9rem !important; box-shadow: none !important; }

/* ---------- Cart / checkout / account ---------- */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { padding-top: 4px; }
.woocommerce table.shop_table { border-radius: var(--r-xl); background: var(--white); border: 0; box-shadow: var(--shadow); overflow: hidden; border-collapse: separate; }
.woocommerce table.shop_table th { background: none; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.woocommerce table.shop_table td { border-top-color: var(--steel-30); }
.woocommerce table.cart img { width: 72px; border-radius: var(--r-sm); }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: clamp(18px, 2.6vw, 28px); }
.woocommerce-checkout .col2-set { display: grid; gap: 14px; margin-bottom: 14px; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table { box-shadow: none; border-radius: 0; }
.woocommerce form .form-row label { font-weight: 600; font-size: .9rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .select2-container .select2-selection--single { border-radius: var(--r-sm); border: 1px solid var(--steel-30); padding: .75em 1em; min-height: 48px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 28px; padding: 0; }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: var(--bg); border-radius: var(--r-lg); }
.woocommerce-account .woocommerce-MyAccount-navigation { background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .7em 1em; border-radius: 999px; text-decoration: none; font-weight: 600; color: var(--ink-2); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--ink); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: clamp(18px, 2.6vw, 32px); }
.woocommerce form.login, .woocommerce form.register { background: var(--white); border: 0 !important; border-radius: var(--r-xl) !important; box-shadow: var(--shadow); padding: clamp(18px, 3vw, 32px) !important; }

/* Cart / checkout / account pages (block or classic) */
.shop-page-title { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 4px 0 16px; }
.woocommerce-page-wrap .wp-block-woocommerce-cart, .woocommerce-page-wrap .wp-block-woocommerce-checkout { background: var(--white); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: clamp(16px, 3vw, 32px); margin: 0; max-width: none; }
.woocommerce-page-wrap .wc-block-components-button:not(.is-link) { background: var(--blue); color: #fff; border-radius: 999px; font-weight: 600; }
.woocommerce-page-wrap .wc-block-components-button:not(.is-link):hover { background: var(--blue-hover); }
.woocommerce-page-wrap .wc-block-components-text-input input, .woocommerce-page-wrap .wc-block-components-combobox input { border-radius: var(--r-sm) !important; }

/* Trust box under Add to cart */
.wsd-trust { list-style: none; margin: 4px 0 16px; padding: 14px 16px; border-radius: var(--r-md); background: #f6f8fc; display: grid; gap: 10px; }
.wsd-trust li { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; }
.wsd-trust svg { width: 20px; height: 20px; flex: none; color: var(--blue); margin-top: 1px; }
.wsd-trust span { display: grid; }
.wsd-trust a { color: var(--ink); font-weight: 600; text-decoration: none; }
.wsd-trust a:hover { color: var(--blue); }
.wsd-trust small { color: var(--muted); font-size: 12.5px; }
.wsd-trust__mail { border-top: 1px solid var(--steel-30); padding-top: 10px; color: var(--muted); }
.wsd-trust__mail span { display: block; }
.wsd-trust__mail a { color: var(--blue); font-weight: 600; }

/* Category chips on shop / category pages */
.shop-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 0 14px; padding: 2px; }
.shop-chips::-webkit-scrollbar { display: none; }
.shop-chips a { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; background: var(--white); border: 1px solid var(--steel-30); color: var(--ink-2); font-weight: 600; font-size: .88rem; text-decoration: none; white-space: nowrap; }
.shop-chips a svg { width: 16px; height: 16px; }
.shop-chips a:hover { border-color: var(--blue); color: var(--blue); }
.shop-chips a.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }

/* Free-shipping progress (cart / checkout) */
.ship-bar { background: var(--white); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 14px 18px; margin: 0 0 16px; }
.ship-bar p { margin: 0 0 10px; font-size: .92rem; }
.ship-bar p a { margin-left: 6px; font-weight: 600; }
.ship-bar__track { display: block; height: 8px; border-radius: 4px; background: var(--steel-20); overflow: hidden; }
.ship-bar__track span { display: block; height: 100%; border-radius: 4px; background: var(--blue); transition: width .4s; }
.ship-bar.is-done .ship-bar__track span { background: var(--ok); }

/* WooCommerce checkout country/state (select2) — same look as the custom dropdown */
.select2-container--default .select2-selection--single { height: 48px !important; border: 1px solid var(--steel-30) !important; border-radius: var(--r-sm) !important; display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px !important; right: 10px !important; }
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--blue) !important; box-shadow: 0 0 0 3px var(--blue-20); }
.select2-dropdown { border: 1px solid var(--steel-20) !important; border-radius: var(--r-md) !important; box-shadow: 0 24px 48px -16px rgba(18, 26, 43, .22); overflow: hidden; padding: 6px; font-family: var(--font); }
.select2-container--open .select2-dropdown--below { margin-top: 6px; }
.select2-search--dropdown .select2-search__field { border: 1px solid var(--steel-30) !important; border-radius: 10px !important; padding: 8px 10px !important; }
.select2-results__option { padding: 9px 12px !important; border-radius: 10px; font-size: .92rem; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: #f3f6fb !important; color: var(--ink) !important; }
.select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[data-selected=true] { background: var(--sky) !important; color: var(--blue) !important; font-weight: 600; }

/* SuperWP variation dropdowns — match the theme */
.bob-varsel-btn { border: 1px solid var(--steel-30) !important; border-radius: var(--r-sm) !important; min-height: 46px; font-family: var(--font) !important; font-weight: 500 !important; background: var(--white) !important; box-shadow: none !important; }
.bob-varsel-btn:hover { border-color: var(--steel) !important; }
.bob-varsel-btn.is-open, .bob-varsel-btn:focus-visible { border-color: var(--blue) !important; box-shadow: 0 0 0 3px var(--blue-20) !important; }
.bob-varsel-menu { border: 1px solid var(--steel-20) !important; border-radius: var(--r-md) !important; box-shadow: 0 24px 48px -16px rgba(18, 26, 43, .22) !important; padding: 6px !important; font-family: var(--font) !important; }
.bob-varsel-item { border-radius: 10px !important; padding: 10px 12px !important; font-size: .92rem; font-weight: 500; }
.bob-varsel-item:hover { background: #f3f6fb !important; }
.bob-varsel-item.is-selected { background: var(--sky) !important; color: var(--blue) !important; font-weight: 600; }
.bob-varsel-item.is-selected::after { color: var(--blue) !important; border-color: var(--blue) !important; }
