/* Kaboom: show pagination duplicated at top of shop/category pages */
.kaboom-top-pagination nav.woocommerce-pagination {
	display: block !important;
	margin-bottom: 24px;
}
.kaboom-top-pagination {
	margin-bottom: 16px;
}

/* Kaboom: tighten oversized blank gap below the promo-tiles section (before Featured Products) */
.elementor-element-51d346dc {
	padding-bottom: 30px !important;
}


/* Hide product weight on product pages (still used for shipping) */
.woocommerce-product-attributes-item--weight { display: none !important; }


/* ===== Header cleanup ===== */
/* Top trust strip */
.ast-above-header-bar, .ast-above-header-wrap .ast-above-header-bar { background:#121010 !important; min-height:34px !important; border:0 !important; }
.ast-above-header-bar .ast-builder-grid-row { min-height:34px !important; }
.kb-topbar { margin:0 !important; color:#fff; font-size:13px; letter-spacing:.4px; text-align:center; }
@media (max-width:544px){ .kb-topbar { font-size:11px; } }
/* Sticky main header */
#masthead { position:sticky; top:0; z-index:999; }
body.admin-bar #masthead { top:32px; }
@media (max-width:782px){ body.admin-bar #masthead { top:46px; } }

/* Header search as icon (opens on click) */
#masthead .ast-search-menu-icon { position:relative; }
#masthead .ast-search-menu-icon .is-search-form { display:none !important; }
#masthead .ast-search-menu-icon.ast-dropdown-active .is-search-form { display:flex !important; position:absolute; right:0; top:calc(100% + 12px); z-index:1001; width:320px; background:#fff; padding:8px; border-radius:6px; box-shadow:0 8px 24px rgba(0,0,0,.18); }
#masthead .ast-search-menu-icon .ast-icon svg, #masthead .astra-search-icon { color:#fff; fill:#fff; }
#masthead .astra-search-icon .ast-icon svg { width:20px; height:20px; }


/* ===== Product cards ===== */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { background:#fff; border:1px solid #eef0f3; border-radius:10px; padding:0 0 16px !important; overflow:hidden; transition:box-shadow .25s, transform .25s; text-align:left; }
.woocommerce ul.products li.product:hover { box-shadow:0 10px 28px rgba(18,16,16,.12); transform:translateY(-3px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px !important; font-weight:600; line-height:1.35; padding:12px 14px 0 !important; color:#121010; }
.woocommerce ul.products li.product .price { padding:0 14px; font-size:16px; font-weight:700; color:#121010; }
.woocommerce ul.products li.product .price del { color:#9aa3ad; font-weight:400; font-size:13px; margin-right:6px; }
.woocommerce ul.products li.product .price ins { text-decoration:none; color:#D7261E; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button { display:block; margin:10px 14px 0 !important; padding:10px 12px !important; background:transparent !important; color:#121010 !important; border:1.5px solid #121010 !important; border-radius:6px !important; font-size:13px !important; font-weight:600; letter-spacing:.5px; text-align:center; transition:all .2s; }
.woocommerce ul.products li.product .button:hover { background:#121010 !important; color:#fff !important; }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale { background:#D7261E !important; color:#fff; border-radius:4px !important; min-width:auto !important; min-height:auto !important; line-height:1 !important; padding:6px 9px !important; font-size:12px !important; font-weight:700; top:12px !important; right:auto !important; left:12px !important; margin:0 !important; }
/* Hover second image */
.woocommerce ul.products li.product .kb-img-wrap { position:relative; display:block; overflow:hidden; }
.woocommerce ul.products li.product .kb-hover-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s; }
.woocommerce ul.products li.product:hover .kb-hover-img { opacity:1; }


/* ===== KABOOM BRAND THEME (from logo: red #D7261E, gold #E5B53E, black #121010) ===== */
:root{ --kb-red:#D7261E; --kb-red-dark:#B01E17; --kb-gold:#E5B53E; --kb-gold-dark:#B8862B; --kb-black:#121010; --kb-charcoal:#1C1917; --kb-offwhite:#F7F5F2; --kb-muted:#6B6560; }
body{ background:var(--kb-offwhite); color:var(--kb-charcoal); }
h1,h2,h3,h4,h5,h6,.entry-title,.woocommerce-loop-product__title,.product_title{ color:var(--kb-black); letter-spacing:.2px; }
a{ color:var(--kb-red); } a:hover{ color:var(--kb-red-dark); }
/* Header */
.ast-primary-header-bar, .main-header-bar, #masthead .ast-primary-header-bar, .ast-mobile-header-wrap .ast-primary-header-bar{ background:var(--kb-black) !important; border-bottom:2px solid var(--kb-gold) !important; }
.ast-theme-transparent-header #masthead .ast-primary-header-bar{ background:linear-gradient(180deg, rgba(18,16,16,.85), rgba(18,16,16,0)) !important; border-bottom:0 !important; }
#masthead .main-header-menu > .menu-item > .menu-link{ color:#fff !important; font-weight:600; letter-spacing:.6px; }
#masthead .main-header-menu > .menu-item:hover > .menu-link, #masthead .main-header-menu > .current-menu-item > .menu-link{ color:var(--kb-gold) !important; }
#masthead .main-header-menu .sub-menu{ background:var(--kb-charcoal) !important; border-top:2px solid var(--kb-gold) !important; }
#masthead .main-header-menu .sub-menu .menu-link{ color:#eee !important; } #masthead .main-header-menu .sub-menu .menu-link:hover{ color:var(--kb-gold) !important; background:transparent !important; }
#masthead .ast-header-account-wrap svg, #masthead .ast-cart-menu-wrap, #masthead .ast-site-header-cart svg, #masthead .astra-search-icon{ color:#fff !important; fill:#fff !important; }
#masthead .ast-cart-menu-wrap .count, #masthead .ast-site-header-cart .count{ border-color:var(--kb-gold) !important; color:var(--kb-gold) !important; }
#masthead .menu-toggle, #masthead .ast-mobile-menu-trigger-minimal{ color:#fff !important; }
/* Top trust strip */
.ast-above-header-bar, .ast-above-header-wrap .ast-above-header-bar{ background:var(--kb-red) !important; }
.kb-topbar{ color:#fff; font-weight:600; }
/* Buttons */
.button, button.button, .ast-button, input[type=submit], .woocommerce a.button.alt, .woocommerce button.button.alt, .single_add_to_cart_button, .checkout-button, #place_order, .wc-block-components-button{ background:var(--kb-red) !important; color:#fff !important; border:0 !important; border-radius:6px !important; font-weight:700 !important; letter-spacing:.5px; transition:background .2s, color .2s; }
.button:hover, button.button:hover, .ast-button:hover, input[type=submit]:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover{ background:var(--kb-gold) !important; color:var(--kb-black) !important; }
/* Product cards: keep outline style but brand it */
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button{ background:transparent !important; color:var(--kb-black) !important; border:1.5px solid var(--kb-black) !important; }
.woocommerce ul.products li.product .button:hover{ background:var(--kb-red) !important; border-color:var(--kb-red) !important; color:#fff !important; }
.woocommerce ul.products li.product:hover{ box-shadow:0 10px 28px rgba(18,16,16,.14), 0 0 0 1px var(--kb-gold) inset; }
/* Prices & badges */
.woocommerce .price ins, .woocommerce div.product p.price ins, .woocommerce div.product span.price ins{ color:var(--kb-red) !important; text-decoration:none; }
.woocommerce span.onsale{ background:var(--kb-red) !important; }
/* Star ratings */
.star-rating span::before, .woocommerce .star-rating span::before{ color:var(--kb-gold) !important; }
/* Filters */
.wpfFilterWrapper .wpfFilterTitle, .wpfFilterWrapper .wfpTitle{ color:var(--kb-black) !important; font-weight:700 !important; text-transform:uppercase; font-size:13px !important; letter-spacing:.8px; }
.wpfFilterButton, .wpfFilterButtons .wpfButton{ background:var(--kb-red) !important; color:#fff !important; border:0 !important; border-radius:6px !important; }
.wpfFilterWrapper .ui-slider-range{ background:var(--kb-red) !important; }
/* Footer */
.site-footer, .site-primary-footer-wrap, .site-below-footer-wrap, .site-above-footer-wrap{ background:var(--kb-black) !important; color:#cfc9c3 !important; }
.site-footer .widget-title, .site-footer h2, .site-footer h3, .site-footer h4{ color:var(--kb-gold) !important; }
.site-footer a{ color:#e8e3de !important; } .site-footer a:hover{ color:var(--kb-gold) !important; }
.site-below-footer-wrap{ border-top:1px solid rgba(229,181,62,.35) !important; }
/* Breadcrumbs & pagination */
.woocommerce-breadcrumb a{ color:var(--kb-muted) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--kb-red) !important; color:#fff !important; border-color:var(--kb-red) !important; }
.woocommerce nav.woocommerce-pagination ul li a:hover{ border-color:var(--kb-gold) !important; color:var(--kb-black) !important; }

/* KB fixes v2 */
@media (min-width:922px){ #masthead .main-header-menu > .menu-item > .menu-link{ font-size:13.5px !important; padding-left:.85em !important; padding-right:.85em !important; letter-spacing:.4px !important; white-space:nowrap; } #masthead .main-header-menu{ flex-wrap:nowrap !important; } }
.site-footer .ast-builder-social-element, .site-footer [class*=social] a, .site-footer .ast-social-color-type-custom a{ color:var(--kb-gold) !important; background:transparent !important; }
.site-footer [class*=social] svg, .site-footer .ast-builder-social-element svg{ fill:var(--kb-gold) !important; color:var(--kb-gold) !important; }
.site-footer [class*=social] a:hover svg{ fill:#fff !important; }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p, .site-below-footer-wrap, .site-below-footer-wrap p{ color:#9a938c !important; }

/* KB logo: emblem + white wordmark on black header */
.site-logo-img .custom-logo-link{ display:inline-flex !important; align-items:center; gap:10px; }
.site-logo-img .custom-logo-link::before{ content:''; display:block; width:46px; height:46px; flex:0 0 46px; background:url('https://kaboomsport.com/wp-content/uploads/2026/10/kaboom-emblem-160.png') center/contain no-repeat; border-radius:8px; }
.site-logo-img img.custom-logo{ filter:invert(1); }
@media (max-width:921px){ .site-logo-img .custom-logo-link::before{ width:36px; height:36px; flex-basis:36px; } }

/* ===== KB points 9-12 ===== */
/* Homepage sections */
.kb-sec{ max-width:1200px; margin:0 auto; padding:64px 20px; }
.kb-eyebrow{ color:var(--kb-red); font-weight:700; text-transform:uppercase; letter-spacing:1.5px; font-size:13px; margin:0 0 8px; }
.kb-h2{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(26px,3.2vw,38px); line-height:1.15; color:var(--kb-black); margin:0 0 28px; }
.kb-cat-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.kb-cat{ display:flex; flex-direction:column; background:#fff; border:1px solid #ece8e3; border-radius:12px; overflow:hidden; text-decoration:none; transition:transform .25s, box-shadow .25s, border-color .25s; }
.kb-cat:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(18,16,16,.14); border-color:var(--kb-gold); }
.kb-cat-img{ display:block; aspect-ratio:1/1; overflow:hidden; background:#f1eee9; }
.kb-cat-img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.kb-cat:hover .kb-cat-img img{ transform:scale(1.06); }
.kb-cat-name{ padding:12px 14px; font-weight:700; color:var(--kb-black); font-size:15px; display:flex; justify-content:space-between; }
.kb-cat-name span{ color:var(--kb-red); }
@media (max-width:921px){ .kb-cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:544px){ .kb-sec{ padding:44px 16px; } .kb-cat-grid{ grid-template-columns:repeat(2,1fr); gap:12px; } }
.kb-story{ display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:center; }
.kb-story-img img{ width:100%; border-radius:14px; box-shadow:0 20px 40px rgba(18,16,16,.18); border:3px solid var(--kb-gold); }
.kb-story-text p{ font-size:17px; line-height:1.7; color:#3b3632; }
.kb-ticks{ list-style:none; margin:18px 0 28px; padding:0; }
.kb-ticks li{ position:relative; padding-left:30px; margin:10px 0; font-weight:600; color:var(--kb-black); }
.kb-ticks li::before{ content:'✓'; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:var(--kb-red); color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; }
.kb-btn{ display:inline-block; background:var(--kb-red); color:#fff !important; padding:14px 26px; border-radius:6px; font-weight:700; letter-spacing:.5px; text-decoration:none; transition:background .2s,color .2s; }
.kb-btn:hover{ background:var(--kb-gold); color:var(--kb-black) !important; }
@media (max-width:921px){ .kb-story{ grid-template-columns:1fr; gap:28px; } .kb-story-img{ max-width:420px; } }
/* Mega menu: Cricket Bats */
@media (min-width:922px){
 #masthead #menu-item-6287{ position:static; }
 #masthead #menu-item-6287 > .sub-menu{ left:50% !important; right:auto !important; transform:translateX(-50%); width:760px !important; display:grid !important; grid-template-columns:1.2fr 1fr 1fr; gap:8px 28px; padding:26px 30px !important; border-radius:0 0 10px 10px; box-shadow:0 18px 40px rgba(0,0,0,.35) !important; }
 #masthead #menu-item-6287:not(:hover):not(.focus) > .sub-menu{ visibility:hidden; opacity:0; pointer-events:none; }
 #masthead #menu-item-6287 > .sub-menu > li{ width:auto !important; border:0 !important; }
 #masthead #menu-item-6287 > .sub-menu > li > .menu-link{ color:var(--kb-gold) !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:1px; font-size:12.5px !important; padding:0 0 10px !important; border-bottom:1px solid rgba(229,181,62,.35) !important; margin-bottom:6px; }
 #masthead #menu-item-6287 > .sub-menu > li > .menu-link .ast-header-navigation-arrow, #masthead #menu-item-6287 > .sub-menu .sub-menu .ast-header-navigation-arrow, #masthead #menu-item-6287 .sub-menu .dropdown-menu-toggle{ display:none !important; }
 #masthead #menu-item-6287 .sub-menu .sub-menu{ position:static !important; display:block !important; visibility:visible !important; opacity:1 !important; transform:none !important; width:auto !important; background:transparent !important; box-shadow:none !important; border:0 !important; padding:0 !important; left:auto !important; top:auto !important; }
 #masthead #menu-item-6287 .sub-menu .sub-menu .menu-link{ padding:6px 0 !important; font-size:14px !important; color:#e8e3de !important; text-transform:none; }
 #masthead #menu-item-6287 .sub-menu .sub-menu .sub-menu .menu-link{ padding:3px 0 3px 14px !important; font-size:13px !important; color:#b9b2ab !important; }
 #masthead #menu-item-6287 .sub-menu .sub-menu .menu-link:hover{ color:var(--kb-gold) !important; }
}
/* Shop sidebar tidy */
#secondary .wp-block-search, #secondary .widget_product_search, #secondary .woocommerce-product-search{ display:none !important; }
.kb-filter-toggle{ display:none; }
@media (max-width:921px){
 .woocommerce.archive .ast-container{ display:flex; flex-direction:column; }
 .woocommerce.archive #secondary{ order:-1; width:100%; margin:0 0 12px; padding:0; }
 .kb-filter-toggle{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:46px; background:var(--kb-black); color:#fff; border:0; border-radius:8px; font-weight:700; letter-spacing:.5px; margin-bottom:10px; }
 .woocommerce.archive #secondary .sidebar-main{ display:none; background:#fff; border:1px solid #ece8e3; border-radius:10px; padding:14px; }
 .woocommerce.archive #secondary.kb-open .sidebar-main{ display:block; }
}
/* Mobile bottom bar + sticky add to cart */
.kb-mbar, .kb-satc, .kb-msearch{ display:none; }
@media (max-width:921px){
 body{ padding-bottom:66px; }
 .kb-mbar{ display:grid; grid-template-columns:repeat(5,1fr); position:fixed; left:0; right:0; bottom:0; z-index:9998; background:var(--kb-black); border-top:2px solid var(--kb-gold); padding:6px 0 calc(6px + env(safe-area-inset-bottom)); }
 .kb-mbar a, .kb-mbar button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:48px; color:#e8e3de !important; background:none !important; border:0 !important; font-size:11px; font-weight:600; text-decoration:none; padding:0 !important; box-shadow:none !important; position:relative; }
 .kb-mbar svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; }
 .kb-mbar .kb-wa svg{ fill:#25D366; stroke:none; }
 .kb-mbar a.kb-active{ color:var(--kb-gold) !important; }
 .kb-mbar .kb-count{ position:absolute; top:2px; left:calc(50% + 6px); min-width:18px; height:18px; border-radius:9px; background:var(--kb-red); color:#fff; font-size:10px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
 .kb-msearch.kb-open{ display:flex; position:fixed; left:0; right:0; bottom:66px; z-index:9998; background:var(--kb-black); padding:10px 12px; gap:8px; border-top:1px solid #333; }
 .kb-msearch input{ flex:1; min-height:44px; border-radius:6px; border:0; padding:0 12px; font-size:16px; }
 .kb-msearch button{ min-height:44px; padding:0 16px !important; }
 .ht-ctc, .ht_ctc_chat_style, #ht-ctc-chat{ display:none !important; }
 .kb-satc.kb-show{ display:flex; position:fixed; left:0; right:0; bottom:66px; z-index:9997; background:#fff; border-top:1px solid #ece8e3; box-shadow:0 -6px 18px rgba(0,0,0,.08); padding:10px 12px; gap:12px; align-items:center; }
 .kb-satc .kb-satc-info{ flex:1; min-width:0; }
 .kb-satc .kb-satc-title{ font-size:13px; font-weight:700; color:var(--kb-black); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .kb-satc .kb-satc-price{ font-size:15px; font-weight:800; color:var(--kb-red); }
 .kb-satc button{ min-height:46px; padding:0 18px !important; white-space:nowrap; }
 /* Bigger tap targets */
 .woocommerce ul.products li.product .button, .single_add_to_cart_button, .woocommerce .quantity .qty, .variations select{ min-height:46px !important; }
 .ast-mobile-popup-content .menu-link, .ast-header-break-point .main-header-menu .menu-link{ padding-top:14px !important; padding-bottom:14px !important; }
}

/* KB mega tidy */
@media (min-width:922px){
 #masthead #menu-item-6287 .sub-menu .menu-item, #masthead #menu-item-6287 .sub-menu .menu-link{ border-bottom:0 !important; border-top:0 !important; }
 #masthead #menu-item-6287 > .sub-menu > li > .menu-link{ border-bottom:1px solid rgba(229,181,62,.35) !important; }
 #masthead #menu-item-6287 .sub-menu .ast-icon, #masthead #menu-item-6287 .sub-menu .ast-menu-toggle, #masthead #menu-item-6287 .sub-menu .menu-link > svg{ display:none !important; }
}
.kb-eyebrow{ color:var(--kb-red) !important; }

/* KB mobile fixes */
.custom-mobile-logo-link{ display:none !important; }
.astm-search-menu-wrapper, .astm-search-menu{ display:none !important; }
.kb-mbar .kb-count[hidden]{ display:none !important; }
.kb-mbar a, .kb-mbar button{ text-transform:none !important; letter-spacing:0 !important; font-family:'Inter',sans-serif !important; font-size:11px !important; white-space:nowrap; }
@media (max-width:921px){
 #masthead .menu-toggle, #masthead .ast-mobile-menu-trigger-minimal, #masthead .ast-mobile-menu-trigger-fill, #masthead button.menu-toggle{ background:transparent !important; color:var(--kb-gold) !important; border:1.5px solid var(--kb-gold) !important; border-radius:6px !important; }
 #masthead .menu-toggle svg, #masthead .menu-toggle .ast-mobile-svg{ fill:var(--kb-gold) !important; }
 .woocommerce.archive .ast-container{ flex-direction:column !important; }
 .woocommerce.archive #primary{ order:2 !important; }
 .woocommerce.archive #secondary{ order:1 !important; }
 .elementor-element-5ffd1adc{ padding-top:96px !important; min-height:auto !important; }
 .elementor-element-5ffd1adc .elementor-element-110fbd5 .elementor-heading-title{ font-size:28px !important; line-height:1.15 !important; }
 .elementor-element-5ffd1adc .elementor-element-03c864f .elementor-heading-title{ font-size:17px !important; line-height:1.45 !important; }
 .elementor-element-5ffd1adc .elementor-button{ padding:10px 14px !important; font-size:12px !important; }
}

/* KB mobile fixes 2 */
@media (max-width:600px){ body.admin-bar #masthead{ top:0 !important; } }
@media (max-width:921px){ .elementor-element-5ffd1adc{ padding-top:170px !important; padding-bottom:40px !important; } }

/* KB sidebar search hide 2 */
#secondary .widget:has(form[role=search]):not(:has(.wpfMainWrapper)), #secondary .widget:has(.wc-block-product-search), #secondary .widget:has(input[name=s]):not(:has(.wpfMainWrapper)){ display:none !important; }
.wpfFilterWrapper .wpfPriceInputs input, .wpfFilterWrapper input.wpfPriceRangeField{ width:92px !important; min-width:92px !important; text-align:center; }

/* KB why section */
.kb-why-wrap{ background:var(--kb-black); background-image:radial-gradient(circle at 85% 0%, rgba(215,38,30,.18), transparent 45%), radial-gradient(circle at 0% 100%, rgba(229,181,62,.10), transparent 40%); }
.kb-why{ padding-top:72px; padding-bottom:80px; }
.kb-special{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-height:300px; justify-content:center; padding:40px 44px; border-radius:16px; background-size:cover; background-position:center right; border:1px solid rgba(229,181,62,.4); text-decoration:none !important; margin-bottom:64px; transition:transform .25s, box-shadow .25s; }
.kb-special:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(0,0,0,.45); }
.kb-special-tag{ background:var(--kb-red); color:#fff; font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; padding:6px 10px; border-radius:4px; }
.kb-special-h{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(26px,3.4vw,40px); line-height:1.1; color:#fff; max-width:560px; }
.kb-special-p{ color:#e1dbd5; font-size:16px; line-height:1.6; max-width:520px; }
.kb-special .kb-btn{ margin-top:6px; }
.kb-why-head{ text-align:center; max-width:760px; margin:0 auto 36px; }
.kb-why .kb-eyebrow{ color:var(--kb-gold) !important; }
.kb-why .kb-h2{ color:#fff; margin-bottom:14px; }
.kb-why-intro{ color:#cfc9c3; font-size:17px; line-height:1.7; margin:0; }
.kb-why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.kb-why-card{ display:flex; flex-direction:column; gap:10px; background:linear-gradient(180deg,#1f1b19,#171413); border:1px solid rgba(255,255,255,.07); border-top:3px solid var(--kb-red); border-radius:12px; padding:26px 22px; text-decoration:none !important; transition:transform .25s, border-color .25s, box-shadow .25s; }
.kb-why-card:hover{ transform:translateY(-5px); border-color:rgba(229,181,62,.55); border-top-color:var(--kb-gold); box-shadow:0 16px 34px rgba(0,0,0,.4); }
.kb-why-icon{ width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(229,181,62,.12); border:1px solid rgba(229,181,62,.35); }
.kb-why-icon svg{ width:28px; height:28px; fill:none; stroke:var(--kb-gold); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.kb-why-t{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:17px; color:#fff; margin-top:4px; }
.kb-why-d{ color:#bdb6af; font-size:14.5px; line-height:1.6; flex:1; }
.kb-why-more{ color:var(--kb-gold); font-weight:700; font-size:13px; letter-spacing:.4px; }
.kb-why-card:hover .kb-why-more{ color:#fff; }
@media (max-width:921px){ .kb-why-grid{ grid-template-columns:repeat(2,1fr); } .kb-special{ padding:30px 26px; margin-bottom:48px; } }
@media (max-width:544px){ .kb-why-grid{ grid-template-columns:1fr; gap:14px; } .kb-special{ min-height:260px; background-position:center; } .kb-why{ padding-top:52px; padding-bottom:56px; } }

/* KB hero v2 */
.kb-hero{ max-width:600px; padding:10px 0; }
.kb-hero-tag{ display:inline-flex; align-items:center; gap:8px; background:rgba(18,16,16,.55); border:1px solid rgba(229,181,62,.55); color:var(--kb-gold); font-weight:700; font-size:13px; letter-spacing:1px; text-transform:uppercase; padding:8px 14px; border-radius:30px; backdrop-filter:blur(4px); }
.kb-dot{ width:8px; height:8px; border-radius:50%; background:var(--kb-red); box-shadow:0 0 0 4px rgba(215,38,30,.3); animation:kbpulse 1.8s infinite; }
@keyframes kbpulse{ 0%,100%{ box-shadow:0 0 0 3px rgba(215,38,30,.35);} 50%{ box-shadow:0 0 0 7px rgba(215,38,30,.05);} }
.kb-hero-h{ font-family:'Montserrat',sans-serif !important; font-weight:800 !important; font-size:clamp(34px,4.6vw,58px) !important; line-height:1.05 !important; color:#fff !important; margin:18px 0 16px !important; letter-spacing:-.5px; text-shadow:0 2px 18px rgba(0,0,0,.35); }
.kb-hero-h span{ color:var(--kb-gold); }
.kb-hero-p{ color:#ece6e0; font-size:18px; line-height:1.6; margin:0 0 20px; max-width:540px; }
.kb-hero-code{ display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; background:rgba(18,16,16,.6); border-radius:8px; padding:8px 14px 8px 8px; color:#e8e3de; font-size:14px; margin-bottom:26px; }
.kb-hero-code em{ color:#a9a29b; font-style:normal; font-size:12.5px; }
.kb-code{ border:1.5px dashed var(--kb-gold); color:var(--kb-gold); font-weight:800; letter-spacing:2px; padding:6px 10px; border-radius:6px; font-family:'Montserrat',sans-serif; }
.kb-hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px; }
.kb-btn-lg{ padding:16px 28px !important; font-size:15px !important; }
.kb-btn-ghost{ display:inline-block; border:2px solid var(--kb-gold); color:var(--kb-gold) !important; border-radius:6px; font-weight:700; letter-spacing:.5px; text-decoration:none !important; background:rgba(18,16,16,.35); transition:background .2s,color .2s; }
.kb-btn-ghost:hover{ background:var(--kb-gold); color:var(--kb-black) !important; }
.kb-hero-quick{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.kb-quick-label{ color:#a9a29b; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; margin-right:4px; }
.kb-hero-quick a{ color:#fff !important; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); padding:7px 14px; border-radius:30px; font-size:13.5px; font-weight:600; text-decoration:none !important; backdrop-filter:blur(4px); transition:all .2s; }
.kb-hero-quick a:hover{ border-color:var(--kb-gold); color:var(--kb-gold) !important; background:rgba(18,16,16,.6); }
@media (max-width:921px){
 .kb-hero{ text-align:center; margin:0 auto; }
 .kb-hero-p{ font-size:16px; margin-left:auto; margin-right:auto; }
 .kb-hero-ctas, .kb-hero-quick{ justify-content:center; }
 .kb-hero-code{ justify-content:center; }
}
@media (max-width:544px){
 .kb-hero-h{ font-size:32px !important; }
 .kb-hero-tag{ font-size:11px; }
 .kb-hero-ctas a{ flex:1 1 100%; text-align:center; }
 .kb-quick-label{ width:100%; margin:4px 0 2px; }
}

/* KB hero v2b */
@media (min-width:922px){ .kb-hero{ max-width:680px; } .kb-hero-quick{ flex-wrap:nowrap; } .kb-hero-quick a{ white-space:nowrap; padding:7px 12px; font-size:13px; } }
.kb-hero-ctas .kb-btn, .kb-hero-ctas .kb-btn-ghost{ border:2px solid transparent; line-height:1.2; display:inline-flex; align-items:center; justify-content:center; }
.kb-hero-ctas .kb-btn-ghost{ border-color:var(--kb-gold); }

/* KB hero v2c (phones) */
@media (max-width:544px){
 .elementor-element-5ffd1adc{ padding-top:150px !important; }
 .kb-hero-tag{ font-size:10.5px; letter-spacing:.6px; padding:6px 12px; white-space:nowrap; }
 .kb-hero-h{ font-size:30px !important; margin:14px 0 12px !important; }
 .kb-hero-p{ font-size:15px; line-height:1.55; margin-bottom:16px; }
 .kb-hero-code{ padding:6px 10px 6px 6px; gap:8px; font-size:12.5px; margin-bottom:18px; flex-wrap:nowrap; }
 .kb-hero-code em{ display:none; }
 .kb-code{ padding:4px 8px; letter-spacing:1.5px; font-size:12px; }
 .kb-btn-lg{ padding:14px 20px !important; }
 .kb-hero-quick a{ padding:6px 11px; font-size:12.5px; }
}

/* ===== KB 3D effects ===== */
/* Tilt + glare (added by script on mouse devices only) */
.kb-tilt{ transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0) !important; transform-style:preserve-3d; transition:transform .18s ease-out, box-shadow .25s, border-color .25s !important; will-change:transform; position:relative; }
.kb-tilt.kb-tilting{ box-shadow:0 22px 44px rgba(18,16,16,.22) !important; }
.kb-tilt.kb-leave{ transition:transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .3s !important; }
.kb-glare{ position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:3; opacity:0; transition:opacity .3s; background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgba(229,181,62,.28), rgba(255,255,255,.08) 25%, transparent 55%); mix-blend-mode:screen; }
.kb-tilt.kb-tilting .kb-glare{ opacity:1; }
.kb-tilt .kb-cat-name, .kb-tilt .kb-why-icon, .kb-tilt .kb-why-t, .kb-tilt .kb-special-h, .kb-tilt .kb-btn{ transform:translateZ(30px); }
.kb-tilt .kb-why-icon{ transition:transform .2s; }
/* Scroll reveal (class added by script, so content is visible without it) */
.kb-reveal{ opacity:0; transform:translateY(34px) scale(.985); transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1); transition-delay:var(--kb-d,0ms); }
.kb-reveal.kb-in{ opacity:1; transform:none; }
/* Hero depth layers */
.kb-hero{ transition:transform .4s ease-out; will-change:transform; }
.elementor-element-5ffd1adc .elementor-background-slideshow{ transition:transform .6s ease-out; transform:scale(1.04); }
/* Floating 3D emblem */
.kb-emblem-float{ display:block; width:84px; height:84px; margin:0 auto 14px; border-radius:18px; animation:kbFloat 5.5s ease-in-out infinite; filter:drop-shadow(0 10px 22px rgba(215,38,30,.45)) drop-shadow(0 0 12px rgba(229,181,62,.25)); }
@keyframes kbFloat{ 0%,100%{ transform:perspective(600px) translateY(0) rotateY(-12deg) rotateX(4deg);} 50%{ transform:perspective(600px) translateY(-10px) rotateY(12deg) rotateX(-4deg);} }
.kb-story-img{ position:relative; }
.kb-story-badge{ position:absolute; right:-18px; bottom:-18px; width:96px; height:96px; border-radius:20px; animation:kbFloat 6s ease-in-out infinite; filter:drop-shadow(0 12px 24px rgba(0,0,0,.35)); }
@media (max-width:921px){ .kb-story-badge{ right:8px; bottom:-14px; width:76px; height:76px; } }
@media (prefers-reduced-motion:reduce){ .kb-reveal{ opacity:1 !important; transform:none !important; } .kb-emblem-float, .kb-story-badge, .kb-dot{ animation:none !important; } .kb-tilt{ transform:none !important; } }

/* KB badge fix */
.kb-story .kb-story-img img.kb-story-badge{ position:absolute; width:96px !important; height:96px !important; right:-18px; bottom:-18px; border:2px solid var(--kb-gold) !important; border-radius:20px !important; box-shadow:0 14px 28px rgba(0,0,0,.35) !important; object-fit:cover; }
@media (max-width:921px){ .kb-story .kb-story-img img.kb-story-badge{ width:76px !important; height:76px !important; right:8px; bottom:-14px; } }