/*
Theme Name: Shoptimizer Child – Otaku Figur
Theme URI: https://otakufigur.de/
Description: Child theme of Shoptimizer for Otaku Figur. Holds the dark cinematic single-product page (PDP) redesign. Parent theme files are never edited.
Author: Otaku Figur
Template: shoptimizer
Version: 1.0.0
Text Domain: shoptimizer-child
*/

/* 2026-10-15: below-content widgets removed site-wide -> hide the now-empty wrapper (white padded strip). Reappears automatically if a widget is added. */
.below-content:not(:has(.widget)){display:none!important}
/* ==========================================================================
   2026-10-15 - BUGFIXES: homepage white gap + header cart site-wide
   ========================================================================== */

/* --- BUG 1: white gap between homepage FAQ and footer ---
   Real causes (verified in rendered HTML/CSS):
   (a) The empty #secondary widget-area carries 2rem top + 1rem bottom
       padding from the theme, sitting on the white body background.
   (b) wpautop wraps the FAQ JSON-LD <script> in a <p> whose bottom
       margin (1.21575rem) collapses out of .ohp-wrap, leaving a white
       strip above the footer.
   (c) Insurance: paint the homepage shell black so no white can ever
       show through between the black sections. */
body.page-id-7105 #secondary {
	display: none !important;
}
body.page-id-7105 .ohp-wrap > p:has(script) {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}
body.page-id-7105,
body.page-id-7105 #content,
body.page-id-7105 #primary,
body.page-id-7105 main.site-main {
	background: #000 !important;
}

/* --- BUG 2: header cart red block on non-PDP pages ---
   The cart fix used to live in otaku-pdp.css, which only loads on
   is_product() AND was scoped to body.single-product inside a
   max-width:992px media query - so the homepage/shop/cart pages never
   got it. These site-wide rules (all viewports, no .single-product
   scoping) use `html body #masthead ...` = specificity (1,3,3)+,
   beating the WordPress Additional CSS rule
   `#masthead .shoptimizer-cart a.cart-contents .count` (1,3,1),
   which sets the red background with !important. */
html body #masthead .site-header-cart,
html body #masthead .shoptimizer-cart,
html body #masthead .shoptimizer-cart a.cart-contents {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
html body #masthead .shoptimizer-cart {
	position: relative;
}
html body #masthead .shoptimizer-cart a.cart-contents .amount {
	display: none !important;
}
html body #masthead .shoptimizer-cart a.cart-contents .count {
	display: inline-block;
	position: relative;
	width: 30px;
	height: 30px;
	min-width: 0;
	margin: 0;
	padding: 0;
	background: transparent !important;
	background-color: transparent !important;
	border: 1.5px solid #fff !important;
	border-radius: 4px;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 28px;
	text-align: center;
}
html body #masthead .shoptimizer-cart a.cart-contents .count::after {
	border-color: #fff !important;
	background: transparent !important;
	background-color: transparent !important;
}
html body #masthead .shoptimizer-cart a.cart-contents:hover .count {
	background: transparent !important;
	background-color: transparent !important;
	color: #fff !important;
}
html body .shoptimizer-cart-icon svg {
	stroke: #fff;
}
html body .shoptimizer-cart a.cart-contents .shoptimizer-cart-icon .mini-count {
	background: #e63946;
	border-color: #e63946;
	color: #fff;
}

/* --- Sticky add-to-cart bars: dark, site-wide (same scope fix) ---
   These elements only render on PDPs, but the rules now live in the
   site-wide stylesheet so they can never be lost to enqueue scoping. */
html body .shoptimizer-sticky-add-to-cart {
	background: #111;
	border-top: 1px solid #333 !important;
	border-bottom: 0 !important;
	color: #fff;
}
html body .site-content .shoptimizer-sticky-add-to-cart .col-full,
html body .shoptimizer-sticky-add-to-cart .col-full {
	background: #111 !important;
	background-color: #111 !important;
}
html body .shoptimizer-sticky-add-to-cart__content-price,
html body .shoptimizer-sticky-add-to-cart__content-price .amount {
	color: #e63946 !important;
}
html body .shoptimizer-sticky-add-to-cart__content-title {
	color: #fff !important;
}
html body .shoptimizer-sticky-add-to-cart .shoptimizer-sticky-add-to-cart__content-product-info {
	color: #fff;
}
html body .shoptimizer-sticky-add-to-cart .price {
	color: #e63946;
}
html body .commercekit-sticky-add-to-cart,
html body .commercekit-atc-sticky-tabs,
html body .commercekit-atc-sticky-tabs ul.commercekit-atc-tab-links,
html body .commercekit-pdp-sticky-inner,
html body #cgkit-mobile-commercekit-sticky-atc {
	background: #111;
	border-top: 1px solid #333;
	color: #fff;
}
html body .commercekit-atc-sticky-tabs ul.commercekit-atc-tab-links li a {
	color: #fff;
}
html body .commercekit-sticky-add-to-cart .price,
html body .commercekit-atc-sticky-tabs .price {
	color: #e63946;
}
html body .shoptimizer-sticky-add-to-cart__content-button a.button,
html body .commercekit-sticky-add-to-cart a.button {
	background: #e63946;
	color: #fff;
	border: 0;
}

/* ==========================================================================
   2026-10-15 - Homepage honest reviews section [otaku_reviews]
   Only verified-purchase reviews are ever rendered (see functions.php).
   ========================================================================== */
.ohp-reviews{background:#000!important;color:#fff!important;padding:56px 24px 64px;text-align:center;box-sizing:border-box}
.ohp-reviews h2{color:#fff!important;font-size:38px;line-height:1.15;margin:0 0 6px;font-weight:800;letter-spacing:.5px}
.ohp-reviews-divider{width:64px;height:2px;background:#d4af37!important;margin:16px auto 0}
.ohp-reviews-sub{color:#aaa!important;font-size:16px;margin:18px 0 36px}
.ohp-reviews-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 2px 12px;text-align:left;scrollbar-width:thin}
.ohp-review-card{flex:0 0 280px;max-width:320px;scroll-snap-align:start;background:#111!important;border:1px solid #262626!important;border-radius:12px!important;padding:18px;box-sizing:border-box}
.ohp-review-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ohp-review-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#d4af37;color:#000;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.ohp-review-name{color:#fff!important;font-size:15px}
.ohp-review-date{color:#aaa!important;font-size:12px;margin-top:2px}
.ohp-review-stars{color:#d4af37;letter-spacing:2px;font-size:16px;line-height:1}
.ohp-review-stars .ohp-star{color:#444}
.ohp-review-stars .ohp-star.on{color:#d4af37}
.ohp-review-text{color:#e5e7eb!important;font-size:14px;line-height:1.55;margin:12px 0}
.ohp-review-product{color:#aaa!important;font-size:13px}
.ohp-review-product a{color:#d4af37!important}
.ohp-review-placeholder{flex:0 0 100%;max-width:560px;margin:0 auto;text-align:center}
.ohp-review-cta{display:inline-block;margin-top:14px;background:#e63946;color:#fff!important;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none}

/* ==========================================================================
   2026-10-15 - WooCommerce SHOP / archive pages: dark theme
   Scope: body.archive.woocommerce covers the main Shop page, product
   category archives, product tag archives, and product search results
   (all four carry archive + woocommerce body classes). Only colors /
   surfaces change - no markup, no behavior, no product photos touched.
   Palette matches the rest of the site: #000 page, #111 cards,
   #aaa supporting text, gold #d4af37 accents, red #e63946 prices/buttons.
   ========================================================================== */

/* --- Page shell: black, no white bands --- */
body.archive.woocommerce,
body.archive.woocommerce #content,
body.archive.woocommerce #content.site-content,
body.archive.woocommerce #content > .col-full,
body.archive.woocommerce #primary,
body.archive.woocommerce #primary .col-full,
body.archive.woocommerce main.site-main,
body.archive.woocommerce .woocommerce-products-header {
	background: #000 !important;
	background-color: #000 !important;
	color: #fff;
}
body.archive.woocommerce,
body.archive.woocommerce #content {
	overflow-x: clip;
}

/* --- Archive title + term description --- */
body.archive.woocommerce h1.woocommerce-products-header__title,
body.archive.woocommerce .woocommerce-products-header__title {
	color: #fff !important;
}
body.archive.woocommerce .woocommerce-products-header .term-description,
body.archive.woocommerce .woocommerce-products-header .archive-description,
body.archive.woocommerce .woocommerce-products-header p {
	color: #aaa !important;
}

/* --- Breadcrumb ("Start / Shop") --- */
body.archive.woocommerce .woocommerce-breadcrumb {
	color: #aaa !important;
	background: transparent !important;
	background-color: transparent !important;
}
body.archive.woocommerce .woocommerce-breadcrumb a {
	color: #fff !important;
}
body.archive.woocommerce .woocommerce-breadcrumb a:hover {
	color: #d4af37 !important;
}
body.archive.woocommerce .woocommerce-breadcrumb .breadcrumb-separator {
	color: #666 !important;
}

/* --- Results count + sorting dropdown --- */
body.archive.woocommerce .woocommerce-result-count {
	color: #aaa !important;
}
body.archive.woocommerce .woocommerce-ordering select.orderby,
body.archive.woocommerce form.woocommerce-ordering select.orderby {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff !important;
	border: 1px solid #333 !important;
}
body.archive.woocommerce .woocommerce-ordering select.orderby option,
body.archive.woocommerce form.woocommerce-ordering select.orderby option {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff !important;
}

/* --- Pagination --- */
body.archive.woocommerce .woocommerce-pagination ul.page-numbers {
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
}
body.archive.woocommerce .woocommerce-pagination ul.page-numbers li {
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
}
body.archive.woocommerce .woocommerce-pagination ul.page-numbers li .page-numbers {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff !important;
	border: 1px solid #333 !important;
}
body.archive.woocommerce .woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
body.archive.woocommerce .woocommerce-pagination ul.page-numbers li a.page-numbers:focus {
	background: #222 !important;
	background-color: #222 !important;
	border-color: #d4af37 !important;
	color: #fff !important;
}
body.archive.woocommerce .woocommerce-pagination ul.page-numbers li span.page-numbers.current {
	background: #e63946 !important;
	background-color: #e63946 !important;
	border-color: #e63946 !important;
	color: #fff !important;
}
body.archive.woocommerce .woocommerce-pagination ul.page-numbers li span.page-numbers.dots {
	background: transparent !important;
	background-color: transparent !important;
	border-color: transparent !important;
	color: #aaa !important;
}

/* --- Product cards: dark #111 cards --- */
body.archive.woocommerce ul.products li.product {
	background: #111 !important;
	background-color: #111 !important;
	border: 1px solid #262626 !important;
	border-radius: 12px !important;
	overflow: hidden;
}
body.archive.woocommerce ul.products li.product .woocommerce-image__wrapper {
	background: #111 !important;
	background-color: #111 !important;
}
body.archive.woocommerce ul.products li.product .woocommerce-card__header {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff;
}
body.archive.woocommerce ul.products li.product .product__categories,
body.archive.woocommerce ul.products li.product .product__categories a {
	color: #aaa !important;
}
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title a {
	color: #fff !important;
}
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
	color: #d4af37 !important;
}
body.archive.woocommerce ul.products li.product .price,
body.archive.woocommerce ul.products li.product .price .amount,
body.archive.woocommerce ul.products li.product .price ins,
body.archive.woocommerce ul.products li.product .price ins .amount {
	color: #e63946 !important;
}
body.archive.woocommerce ul.products li.product .price del,
body.archive.woocommerce ul.products li.product .price del .amount {
	color: #888 !important;
}
body.archive.woocommerce ul.products li.product a.button,
body.archive.woocommerce ul.products li.product .button.add_to_cart_button {
	background: #e63946 !important;
	background-color: #e63946 !important;
	color: #fff !important;
	border: 0 !important;
}
body.archive.woocommerce ul.products li.product a.button:hover,
body.archive.woocommerce ul.products li.product .button.add_to_cart_button:hover {
	background: #c92f3c !important;
	background-color: #c92f3c !important;
	color: #fff !important;
}
body.archive.woocommerce ul.products li.product a.added_to_cart {
	color: #d4af37 !important;
}
body.archive.woocommerce ul.products li.product .sale-item.product-label {
	background: #e63946 !important;
	background-color: #e63946 !important;
	color: #fff !important;
}
body.archive.woocommerce ul.products li.product .star-rating::before {
	color: #444 !important;
}
body.archive.woocommerce ul.products li.product .star-rating span::before {
	color: #d4af37 !important;
}
body.archive.woocommerce ul.products li.product .shoptimizer-plp-carousel--dot {
	background: #555 !important;
}
body.archive.woocommerce ul.products li.product .shoptimizer-plp-carousel--dot.active {
	background: #d4af37 !important;
}

/* --- Sidebar / filter widgets on archive pages (dark, readable) --- */
body.archive.woocommerce #secondary,
body.archive.woocommerce .widget-area {
	background: #000 !important;
	background-color: #000 !important;
	color: #fff;
}
body.archive.woocommerce #secondary .widget,
body.archive.woocommerce .widget-area .widget {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff;
	border: 1px solid #262626 !important;
}
body.archive.woocommerce #secondary .widget-title,
body.archive.woocommerce #secondary .widget h2,
body.archive.woocommerce #secondary .widget h3,
body.archive.woocommerce .widget-area .widget-title,
body.archive.woocommerce .widget-area .widget h2,
body.archive.woocommerce .widget-area .widget h3 {
	color: #fff !important;
}
body.archive.woocommerce #secondary .widget a,
body.archive.woocommerce .widget-area .widget a {
	color: #e5e7eb !important;
}
body.archive.woocommerce #secondary .widget a:hover,
body.archive.woocommerce .widget-area .widget a:hover {
	color: #d4af37 !important;
}
body.archive.woocommerce #secondary .widget li,
body.archive.woocommerce #secondary .widget p,
body.archive.woocommerce .widget-area .widget li,
body.archive.woocommerce .widget-area .widget p {
	color: #e5e7eb !important;
}
body.archive.woocommerce #secondary .widget select,
body.archive.woocommerce .widget-area .widget select {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff !important;
	border: 1px solid #333 !important;
}
body.archive.woocommerce .widget_price_filter .ui-slider-horizontal {
	background: #333 !important;
}
body.archive.woocommerce .widget_price_filter .ui-slider-range {
	background: #e63946 !important;
}
body.archive.woocommerce .widget_price_filter .ui-slider-handle {
	background: #fff !important;
	border-color: #e63946 !important;
}
body.archive.woocommerce .widget_price_filter .price_label {
	color: #aaa !important;
}

/* --- WooCommerce notices on archive pages (e.g. "added to cart") --- */
body.archive.woocommerce .woocommerce-notices-wrapper .woocommerce-message,
body.archive.woocommerce .woocommerce-notices-wrapper .woocommerce-info,
body.archive.woocommerce .woocommerce-notices-wrapper .woocommerce-error,
body.archive.woocommerce p.woocommerce-info {
	background: #111 !important;
	background-color: #111 !important;
	color: #fff !important;
	border: 1px solid #333 !important;
}
body.archive.woocommerce .woocommerce-notices-wrapper .woocommerce-message a,
body.archive.woocommerce .woocommerce-notices-wrapper .woocommerce-info a {
	color: #d4af37 !important;
}

/* ==========================================================================
   2026-10-15 - Product CATEGORY archives: header band + 5/3-col grid
   + compact cards (user's One Piece reference mockup).
   Scope: body.archive.tax-product_cat ONLY - main Shop page, tags and
   search keep the previous archive layout.
   ========================================================================== */

/* --- Header band: title/subtitle/description + banner --- */
body.archive.tax-product_cat .otaku-cat-head {
	display: flex;
	gap: 32px;
	align-items: center;
	background: #000 !important;
	background-color: #000 !important;
	padding: 8px 0 28px;
	margin-bottom: 8px;
}
body.archive.tax-product_cat .otaku-cat-head-text {
	flex: 1 1 0;
	min-width: 0;
}
body.archive.tax-product_cat .otaku-cat-title {
	color: #fff !important;
	font-size: clamp(38px, 5.5vw, 68px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin: 0;
}
body.archive.tax-product_cat .otaku-cat-subtitle {
	color: #e63946 !important;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-top: 6px;
}
body.archive.tax-product_cat .otaku-cat-desc {
	color: #aaa !important;
	font-size: 15px;
	line-height: 1.6;
	margin-top: 14px;
	max-width: 640px;
}
body.archive.tax-product_cat .otaku-cat-desc p,
body.archive.tax-product_cat .otaku-cat-desc li {
	color: #aaa !important;
}
body.archive.tax-product_cat .otaku-cat-desc a {
	color: #d4af37 !important;
}
body.archive.tax-product_cat .otaku-cat-desc ul,
body.archive.tax-product_cat .otaku-cat-desc ol {
	margin: 10px 0 0 18px;
}
body.archive.tax-product_cat .otaku-cat-banner {
	flex: 0 0 44%;
	max-width: 560px;
}
body.archive.tax-product_cat .otaku-cat-banner img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}
@media (max-width: 768px) {
	body.archive.tax-product_cat .otaku-cat-head {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding-bottom: 20px;
	}
	body.archive.tax-product_cat .otaku-cat-banner {
		flex: 0 0 auto;
		max-width: none;
	}
	body.archive.tax-product_cat .otaku-cat-title {
		font-size: 40px;
	}
}

/* --- Grid: 5 per row desktop, 2 per row mobile, clear gaps --- */
body.archive.tax-product_cat ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 24px !important;
}
body.archive.tax-product_cat ul.products li.product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}
@media (max-width: 768px) {
	body.archive.tax-product_cat ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
}

/* 2026-10-16 - Mobile: lock 2 columns on ALL product archive grids
   (category, shop, tag, search). The category rule above already does
   this for product_cat; this covers the remaining archive loops.
   Desktop is untouched. */
@media (max-width: 768px) {
	body.archive.woocommerce ul.products,
	body.search.woocommerce ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* --- Compact cards: centered, small title/subtitle/price/pill button --- */
body.archive.tax-product_cat ul.products li.product {
	text-align: center;
}
body.archive.tax-product_cat ul.products li.product .woocommerce-card__header {
	text-align: center;
}
body.archive.tax-product_cat ul.products li.product .product__categories {
	display: none !important;
}
body.archive.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.archive.tax-product_cat ul.products li.product .woocommerce-loop-product__title a {
	font-size: 14px !important;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.archive.tax-product_cat .otaku-cat-card-sub {
	color: #aaa !important;
	font-size: 12px;
	line-height: 1.4;
	margin-top: 4px;
}
body.archive.tax-product_cat ul.products li.product .price {
	font-size: 13px !important;
	margin-top: 6px;
}
body.archive.tax-product_cat ul.products li.product a.button,
body.archive.tax-product_cat ul.products li.product .button.add_to_cart_button {
	display: inline-block !important;
	margin: 10px auto 4px !important;
	padding: 8px 18px !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}
@media (max-width: 768px) {
	body.archive.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
	body.archive.tax-product_cat ul.products li.product .woocommerce-loop-product__title a {
		font-size: 12px !important;
	}
	body.archive.tax-product_cat .otaku-cat-card-sub {
		font-size: 11px;
	}
	body.archive.tax-product_cat ul.products li.product .price {
		font-size: 12px !important;
	}
	body.archive.tax-product_cat ul.products li.product a.button,
	body.archive.tax-product_cat ul.products li.product .button.add_to_cart_button {
		padding: 7px 12px !important;
		font-size: 11px !important;
	}
}

/* --- Prev/Next page buttons below the category grid --- */
body.archive.tax-product_cat .otaku-cat-page-nav {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin: 28px 0 8px;
}
body.archive.tax-product_cat .otaku-cat-page-nav .otaku-cat-page-btn {
	display: inline-block !important;
	padding: 12px 28px !important;
	border-radius: 999px !important;
	background: #e63946 !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	text-decoration: none !important;
	border: none !important;
}
body.archive.tax-product_cat .otaku-cat-page-nav .otaku-cat-page-btn:hover {
	background: #c1121f !important;
	color: #fff !important;
}
@media (max-width: 768px) {
	body.archive.tax-product_cat .otaku-cat-page-nav .otaku-cat-page-btn {
		padding: 11px 20px !important;
		font-size: 12px !important;
	}
}
