/* ═══════════════════════════════════
   Koltranskin — Luxury WooCommerce
   ═══════════════════════════════════ */

/* Archive Page Structure */
.post-type-archive-product .kts-main, .tax-product_cat .kts-main, .tax-product_tag .kts-main { padding-top: 0; }
.kts-shop-layout { display: flex; gap: 48px; padding: 24px 0 100px; }
.kts-shop-content { flex: 1; min-width: 0; }
.kts-shop-sidebar { width: 300px; flex-shrink: 0; }
.kts-layout-full .kts-shop-content { width: 100%; }
.kts-layout-sidebar-left { flex-direction: row-reverse; }
@media(max-width:768px){ .kts-shop-layout { flex-direction: column !important; } .kts-shop-sidebar { width: 100%; } }

/* Shop Header */
.kts-shop-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 36px; padding-bottom: 24px; border-bottom: 1px solid var(--kts-border); flex-wrap: wrap; gap: 16px; }
.kts-shop-title { font-family: 'Playfair Display', Georgia, serif; font-size: 32px; font-weight: 700; color: var(--kts-dark); }
.kts-shop-header-right { display: flex; align-items: center; gap: 16px; }
.kts-view-toggle { display: flex; gap: 8px; }
.kts-view-toggle button { width: 40px; height: 40px; border-radius: 10px; border: 1.5px solid var(--kts-border); background: #fff; color: var(--kts-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .2s; }
.kts-view-toggle button.active, .kts-view-toggle button:hover { border-color: var(--kts-primary); color: var(--kts-primary); }

/* Product Grid */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(var(--cols, 4), 1fr); gap: 32px !important; margin: 0 !important; padding: 0 !important; list-style: none; }
@media(max-width:1024px){ .woocommerce ul.products { --cols: 3 !important; } }
@media(max-width:768px){ .woocommerce ul.products { --cols: 2 !important; } }
@media(max-width:480px){ .woocommerce ul.products { --cols: 1 !important; } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }

/* Sale Badge */
.woocommerce .onsale { background: var(--kts-green) !important; color: #fff !important; border-radius: 100px !important; padding: 6px 14px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; min-height: auto !important; line-height: 1 !important; position: absolute !important; top: 16px !important; left: 16px !important; z-index: 5; }

/* Product Card */
.woocommerce ul.products li.product .kts-product-inner { background: #fff; border-radius: var(--kts-radius-lg); overflow: hidden; border: 1px solid rgba(0,0,0,.04); transition: transform var(--kts-transition), box-shadow var(--kts-transition); }
.woocommerce ul.products li.product:hover .kts-product-inner { transform: translateY(-6px); box-shadow: var(--kts-shadow-lg); }
.woocommerce ul.products li.product .kts-product-thumb img { width: 100%; aspect-ratio: 1/1; object-fit: cover; transition: transform .5s ease; }
.woocommerce ul.products li.product:hover .kts-product-thumb img:first-child { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; font-weight: 600; color: var(--kts-dark); padding: 0 20px; margin: 16px 0 8px; line-height: 1.4; min-height: 42px; }
.woocommerce ul.products li.product .star-rating { margin: 0 20px 8px; font-size: 13px; color: var(--kts-gold); }
.woocommerce ul.products li.product .price { padding: 0 20px 20px; font-size: 16px; font-weight: 600; color: var(--kts-dark); }
.woocommerce ul.products li.product .price del { color: var(--kts-muted); font-size: 14px; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { display: block; margin: 0 20px 20px; padding: 12px 0; border-radius: 100px; background: var(--kts-green) !important; color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-align: center; transition: background .2s, transform .15s; border: none; }
.woocommerce ul.products li.product .button:hover { background: var(--kts-primary-hover) !important; transform: translateY(-1px); }

/* Single Product Page */
.kts-single-product-page { padding: 24px 0 80px; }
.kts-single-product-wrap { padding: 40px 0; }
.kts-product-main { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-bottom: 48px; }
@media(max-width:768px){ .kts-product-main { grid-template-columns: 1fr; } }
.kts-product-gallery .woocommerce-product-gallery { border-radius: var(--kts-radius-lg); overflow: hidden; }
.kts-product-gallery .woocommerce-product-gallery__trigger { background: var(--kts-primary) !important; color: #fff !important; border-radius: 50% !important; width: 40px !important; height: 40px !important; }
.kts-product-summary { padding-top: 8px; }
.woocommerce .kts-product-summary .product_title { font-size: 32px; font-weight: 700; letter-spacing: -0.02em; color: var(--kts-dark); margin-bottom: 12px; font-family: 'Playfair Display', Georgia, serif; }
.woocommerce .kts-product-summary .price { font-size: 28px; font-weight: 700; color: var(--kts-dark); margin-bottom: 20px; font-family: 'Playfair Display', Georgia, serif; }
.woocommerce .kts-product-summary .price del { color: var(--kts-muted); font-size: 20px; }
.woocommerce .kts-product-summary .price ins { text-decoration: none; color: var(--kts-green); }
.woocommerce .kts-product-summary .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.7; color: var(--kts-text); margin-bottom: 24px; }

/* Product Tabs */
.kts-product-tabs { margin-top: 48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--kts-border); padding: 0; margin: 0; list-style: none; display: flex; gap: 32px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: none; background: none; border-radius: 0; padding: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 16px 0; font-size: 14px; font-weight: 600; color: var(--kts-muted); letter-spacing: .04em; text-transform: uppercase; border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--kts-dark); border-bottom-color: var(--kts-primary); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 32px 0; font-size: 15px; line-height: 1.8; }

/* Sidebar */
.kts-shop-sidebar .kts-widget { margin-bottom: 40px; }
.kts-shop-sidebar .kts-widget-title { font-size: 13px; font-weight: 600; color: var(--kts-dark); margin-bottom: 20px; letter-spacing: .08em; text-transform: uppercase; }
.kts-shop-sidebar .widget_price_filter .ui-slider { height: 3px; background: var(--kts-border); border-radius: 2px; }
.kts-shop-sidebar .widget_price_filter .ui-slider-range { background: var(--kts-primary); border-radius: 2px; }
.kts-shop-sidebar .widget_price_filter .ui-slider-handle { width: 16px; height: 16px; background: var(--kts-primary); border-radius: 50%; top: -7px; }

/* Cart/Checkout */
.woocommerce-cart .kts-main, .woocommerce-checkout .kts-main { padding: 40px 0 100px; }
.woocommerce table.shop_table { border: 1px solid var(--kts-border); border-radius: var(--kts-radius); }
.woocommerce table.shop_table th { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 16px; background: var(--kts-cream); }
.woocommerce table.shop_table td { padding: 16px; }
.woocommerce .cart_totals h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 22px; margin-bottom: 20px; }
.woocommerce-checkout #order_review_heading { font-family: 'Playfair Display', Georgia, serif; font-size: 22px; margin-bottom: 20px; }
.woocommerce-info, .woocommerce-message { border: 1px solid var(--kts-border); background: var(--kts-cream); border-radius: var(--kts-radius); padding: 16px 24px; font-size: 14px; }
.woocommerce-message::before { color: var(--kts-primary); }
.woocommerce-error { background: #fee2e2; color: #991b1b; border-radius: var(--kts-radius); padding: 16px 24px; }

/* Forms */
.woocommerce form .form-row { margin-bottom: 20px; }
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--kts-dark); margin-bottom: 8px; letter-spacing: .04em; text-transform: uppercase; }
.woocommerce form .form-row input, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1.5px solid var(--kts-border); border-radius: var(--kts-radius); padding: 14px 18px; font-size: 15px; font-family: inherit; outline: none; transition: border-color .2s; width: 100%; }
.woocommerce form .form-row input:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { border-color: var(--kts-primary); }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { padding: 14px 32px; border-radius: 100px; background: var(--kts-green); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border: none; cursor: pointer; transition: all .3s; }
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--kts-primary-hover); transform: translateY(-1px); }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--kts-primary); }
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--kts-primary-hover); }

/* My Account */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--kts-border); border-radius: var(--kts-radius); overflow: hidden; }
.woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--kts-border); }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 14px 20px; font-size: 14px; font-weight: 500; color: var(--kts-text); transition: all .2s; }
.woocommerce-MyAccount-navigation ul li a:hover, .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--kts-cream); color: var(--kts-primary); }
.woocommerce-MyAccount-content h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; margin-bottom: 20px; }

/* Notices */
.woocommerce-notices-wrapper { margin-bottom: 24px; }

/* Breadcrumb */
.kts-breadcrumb { padding: 24px 0 8px; font-size: 13px; color: var(--kts-muted); }
.kts-breadcrumb nav.woocommerce-breadcrumb { margin: 0; padding: 0; font-weight: 500; }
.kts-breadcrumb nav.woocommerce-breadcrumb a { color: var(--kts-muted); transition: color .2s; }
.kts-breadcrumb nav.woocommerce-breadcrumb a:hover { color: var(--kts-primary); }
.kts-breadcrumb nav.woocommerce-breadcrumb .delimiter { margin: 0 8px; opacity: .4; }

/* Pagination */
.woocommerce nav.woocommerce-pagination { margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 8px; border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; border-radius: var(--kts-radius); border: 1.5px solid var(--kts-border); font-size: 14px; font-weight: 600; color: var(--kts-text); transition: all .2s; }
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--kts-primary); color: var(--kts-primary); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--kts-primary); border-color: var(--kts-primary); color: #fff; }

/* Fix default WooCommerce layout clashes */
.woocommerce .woocommerce-result-count { font-size: 14px; color: var(--kts-muted); margin: 0; }
.woocommerce .woocommerce-ordering select { border: 1.5px solid var(--kts-border); border-radius: var(--kts-radius); padding: 10px 14px; font-size: 14px; color: var(--kts-dark); background: #fff; cursor: pointer; outline: none; }
.woocommerce .woocommerce-ordering select:focus { border-color: var(--kts-primary); }

/* Fix product card title link */
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color: inherit; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover { color: var(--kts-primary); }

/* Star rating fix */
.woocommerce .star-rating { width: auto; }
.woocommerce .star-rating::before { color: rgba(0,0,0,.1); }
.woocommerce .star-rating span::before { color: var(--kts-gold); }

/* Related Products */
.kts-related-products { margin-top: 60px; padding-top: 48px; border-top: 1px solid var(--kts-border); }
.kts-related-products h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 28px; font-weight: 700; margin-bottom: 32px; }

/* Single product quantity/input */
.woocommerce .quantity .qty { border: 1.5px solid var(--kts-border); border-radius: var(--kts-radius); padding: 12px 16px; font-size: 15px; width: 90px; text-align: center; outline: none; }
.woocommerce .quantity .qty:focus { border-color: var(--kts-primary); }
.woocommerce .single_add_to_cart_button { padding: 14px 40px !important; border-radius: 100px !important; background: var(--kts-green) !important; color: #fff !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important; border: none !important; cursor: pointer !important; transition: all .3s !important; }
.woocommerce .single_add_to_cart_button:hover { background: var(--kts-primary-hover) !important; transform: translateY(-1px) !important; }

/* Remove default WooCommerce button overrides that clash */
.woocommerce a.added_to_cart { display: none; }

/* Fix product meta on single */
.woocommerce .kts-product-summary .product_meta { font-size: 13px; color: var(--kts-muted); margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--kts-border); }
.woocommerce .kts-product-summary .product_meta a { color: var(--kts-primary); font-weight: 500; }
.woocommerce .kts-product-summary .product_meta a:hover { text-decoration: underline; }

/* Fix grouped/variation tables */
.woocommerce .kts-product-summary .variations td { padding: 8px 0; border: none; }
.woocommerce .kts-product-summary .variations select { border: 1.5px solid var(--kts-border); border-radius: var(--kts-radius); padding: 10px 14px; font-size: 14px; background: #fff; }
.woocommerce .kts-product-summary .variations label { font-size: 13px; font-weight: 600; color: var(--kts-dark); letter-spacing: .04em; text-transform: uppercase; }
.woocommerce .kts-product-summary .woocommerce-variation-price { margin-bottom: 16px; }

/* Fix WooCommerce default margins that break layout */
.woocommerce .kts-container .woocommerce { margin: 0; }

/* ─── KTM Plugin Product Cards — Match Theme Green ─── */
.ktm-product-card { border: 1px solid var(--kts-border); }
.ktm-product-image-wrap { background: var(--kts-cream); }
.ktm-add-to-cart { background: var(--kts-green) !important; box-shadow: 0 4px 12px rgba(74,155,90,.3) !important; }
.ktm-add-to-cart:hover { background: var(--kts-primary-hover) !important; }
.ktm-product-btn { background: var(--kts-green) !important; border-radius: 100px !important; }
.ktm-product-btn:hover { background: var(--kts-primary-hover) !important; transform: translateY(-1px) !important; }
.ktm-product-title a:hover { color: var(--kts-green) !important; }
.ktm-product-price ins { color: var(--kts-green) !important; }
.ktm-slider-arrow:hover { background: var(--kts-green) !important; border-color: var(--kts-green) !important; }
.ktm-slider-dot.active { background: var(--kts-green) !important; }

/* ─── End ─── */
