/* Bounded design tokens. HOME card colors and single-product availability are independent. */
:root {
	--j4f-button-bg: #74289a;
	--j4f-button-text: #fff;
	--j4f-button-hover-bg: #4a145f;
	--j4f-button-hover-text: #fff;
	--j4f-button-size: 14px;
	--j4f-page-bg: #fff;
	--j4f-text-color: #271734;
	--j4f-muted-color: #706777;
	--j4f-heading-color: #61187c;
	--j4f-box-bg: #fff;
	--j4f-box-text: #271734;
	--j4f-box-border: #e9e2ed;
	--j4f-text-size: 16px;
	--j4f-heading-scale: 1;
	--j4f-ink: var(--j4f-text-color);
	--j4f-muted: var(--j4f-muted-color);
	--j4f-paper: var(--j4f-page-bg);
	--j4f-surface: var(--j4f-box-bg);
	--j4f-border: var(--j4f-box-border);
}
body { background: var(--j4f-page-bg); color: var(--j4f-text-color); font-size: var(--j4f-text-size); }
.entry-content > p, .woocommerce-product-details__short-description p { color: var(--j4f-muted-color); font-size: var(--j4f-text-size); }
.j4f-home15 .j4f-home15-intro h1 { color: var(--j4f-heading-color); font-size: calc(clamp(42px, 4.6vw, 66px) * var(--j4f-heading-scale)); }
.woocommerce-products-header__title, .entry-content h1, .entry-header h1 { color: var(--j4f-heading-color); font-size: calc(clamp(2.5rem, 4vw, 4rem) * var(--j4f-heading-scale)); overflow-wrap: anywhere; }
.woocommerce div.product .product_title { color: var(--j4f-heading-color); font-size: calc(clamp(2.5rem, 4.2vw, 4rem) * var(--j4f-heading-scale)); overflow-wrap: anywhere; }
.j4f-home15 .j4f-home-heading h2, .j4f-section h2 { color: var(--j4f-heading-color); font-size: calc(clamp(29px, 3vw, 48px) * var(--j4f-heading-scale)); }
.j4f-card, .woocommerce ul.products li.product, .j4f-catalog-container .j4f-catalog-filter14, .j4f-product-spec, .j4f-home15-services article { background: var(--j4f-box-bg); color: var(--j4f-box-text); border-color: var(--j4f-box-border); }
.j4f-card p, .j4f-home15-services p, .woocommerce ul.products li.product .woocommerce-loop-product__title, .j4f-product-spec dd, .j4f-catalog-filter14 label { color: var(--j4f-box-text); }
.j4f-card h3, .j4f-home15-services h3, .j4f-catalog-filter14 legend, .j4f-catalog-filter14__details summary { color: var(--j4f-heading-color); }
.j4f-card h3, .j4f-home15-services h3 { font-size: calc(1.25rem * var(--j4f-heading-scale)); overflow-wrap: anywhere; }
.j4f-catalog-filter14 small, .j4f-catalog-filter14__hint, .j4f-product-spec dt, .woocommerce ul.products li.product .j4f-card-context { color: var(--j4f-muted-color); }
/* :is() supplies enough specificity to override HOME/Woo variations without !important. */
body :is(.j4f-button, .wp-element-button, .woocommerce ul.products li.product .button, .woocommerce .button, .wc-block-components-button, .j4f-whatsapp-float, .site-search button, .j4f-catalog-navigation button, .j4f-home15-pause, .j4f-enhanced .j4f-menu-toggle) {
	background: var(--j4f-button-bg); color: var(--j4f-button-text); border-color: var(--j4f-button-bg);
	min-height: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere;
}
body :is(.j4f-button, .wp-element-button, .woocommerce ul.products li.product .button, .woocommerce .button, .wc-block-components-button, .j4f-whatsapp-float, .site-search button, .j4f-catalog-navigation button, .j4f-home15-pause, .j4f-enhanced .j4f-menu-toggle):not(.j4f-whatsapp-float) { font-size: var(--j4f-button-size); }
body :is(.j4f-button, .wp-element-button, .woocommerce ul.products li.product .button, .woocommerce .button, .wc-block-components-button, .j4f-whatsapp-float, .site-search button, .j4f-catalog-navigation button, .j4f-home15-pause, .j4f-enhanced .j4f-menu-toggle):is(:hover, :focus-visible) {
	background: var(--j4f-button-hover-bg); color: var(--j4f-button-hover-text); border-color: var(--j4f-button-hover-bg);
}
body :is(.j4f-button, .wp-element-button, .woocommerce ul.products li.product .button, .woocommerce .button, .wc-block-components-button, .j4f-whatsapp-float, .site-search button, .j4f-catalog-navigation button, .j4f-home15-pause, .j4f-enhanced .j4f-menu-toggle):focus-visible {
	outline: 3px solid #19131f; outline-offset: 3px; box-shadow: 0 0 0 3px #fff;
}
@media (max-width: 899px) {
	.j4f-home15 .j4f-home15-intro h1 { font-size: calc(clamp(36px, 10vw, 43px) * var(--j4f-heading-scale)); }
}
@media (max-width: 48rem) {
	body .j4f-whatsapp-float.j4f-button { font-size: 0; padding: 0; gap: 0; white-space: nowrap; overflow-wrap: normal; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Let each grid row grow with its content; keep detail links at the same inset. */
body :is(.woocommerce ul.products li.product) { display: flex; flex-direction: column; }
body :is(.woocommerce ul.products li.product) .woocommerce-loop-product__link { display: block; min-width: 0; margin-bottom: .75rem; }
body :is(.woocommerce ul.products li.product) .woocommerce-loop-product__title,
body :is(.woocommerce ul.products li.product) .price { overflow-wrap: anywhere; }
body :is(.woocommerce ul.products li.product) .button { align-self: flex-start; margin-top: auto; max-width: calc(100% - 2.4rem); }
@media (max-width: 760px) {
 body :is(.woocommerce ul.products li.product) { padding-bottom: .8rem; }
 body :is(.woocommerce ul.products li.product) .button { max-width: calc(100% - 1.6rem); }
}

/* Two deliberate product contact intents; their readable colors are owner settings. */
#j4f-product-whatsapp { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.25rem 0; }
#j4f-product-whatsapp .j4f-button { display: inline-flex; align-items: center; justify-content: center; line-height: 1.25; text-align: center; }
#j4f-product-whatsapp .j4f-whatsapp-order { background: var(--j4f-wa-order-bg,#74289a); color: var(--j4f-wa-order-text,#fff); border-color: var(--j4f-wa-order-bg,#74289a); }
#j4f-product-whatsapp .j4f-whatsapp-consult { background: var(--j4f-wa-consult-bg,#17596b); color: var(--j4f-wa-consult-text,#fff); border-color: var(--j4f-wa-consult-bg,#17596b); }
#j4f-product-whatsapp .j4f-button:hover { text-decoration: underline; text-underline-offset: .2em; }
/* Center text within the existing touch target, including surplus min-height space. */
body :is(.woocommerce ul.products li.product) .button { display: inline-flex; align-items: center; justify-content: center; line-height: 1.2; padding: .6rem .9rem; }
/* Only the inset capsule has a surface/shadow; the sticky exterior stays clear. */
body .site-header { --j4f-header-offset: 0px; position: sticky; top: var(--j4f-header-offset); z-index: 30; background: transparent; border: 0; box-shadow: none; padding: .75rem 0; }
body.admin-bar .site-header { --j4f-header-offset: 32px; }
.site-header .site-header__row { width: min(calc(100% - 2rem),1260px); background: #fff; border: 1px solid var(--j4f-box-border,#e9e2ed); border-radius: 999px; margin: 0 auto; padding: .6rem 1.25rem; gap: 1rem; min-height: 82px; box-shadow: 0 6px 22px #2717340a; }
.site-header .site-branding__logo,.site-header .custom-logo { width: 100px; max-height: 64px; }
.site-header .site-header__middle { gap: 1rem; }
.site-header .site-navigation ul { gap: .7rem; flex-wrap: wrap; }
.site-header .site-search { max-width: 255px; }
#j4f-primary-navigation .j4f-all-games > a { background: var(--j4f-button-bg); color: var(--j4f-button-text); border-radius: 99px; padding: .6rem .95rem; line-height: 1.25; text-align: center; }
#j4f-primary-navigation .j4f-all-games > a:is(:hover,:focus-visible) { background: var(--j4f-button-hover-bg); color: var(--j4f-button-hover-text); }
@media(max-width:1000px) and (min-width:761px) {
 .site-header .site-header__row { flex-wrap: wrap; }
 .site-header .site-header__middle { flex: 1 1 480px; }
}
@media(max-width:782px) {
 body.admin-bar .site-header { --j4f-header-offset: 46px; }
}
@media(max-width:760px) {
 /* A compact capsule for the first row; search and menu remain reachable below. */
 .site-header .site-header__row { width: calc(100% - 1rem); background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: .35rem .75rem; grid-template-columns: 78px auto minmax(0,1fr); gap: .6rem; }
 .site-header .site-header__row::before { content: ""; grid-column: 1/-1; grid-row: 1; min-height: 74px; margin-inline: -.75rem; background: #fff; border: 1px solid var(--j4f-box-border,#e9e2ed); border-radius: 999px; box-shadow: 0 6px 22px #2717340a; pointer-events: none; }
 .site-header .site-branding { grid-column: 1; grid-row: 1; position: relative; }
 .site-header .j4f-menu-toggle,.site-header .site-tools { position: relative; }
 /* Distinct cells prevent the tools wrapper from intercepting the menu button. */
 .site-header .j4f-menu-toggle { grid-column: 2; grid-row: 1; margin: 0; justify-self: start; align-self: center; }
 .site-header .site-tools { grid-column: 3; grid-row: 1; inset: auto; width: max-content; max-width: 100%; justify-self: end; align-self: center; }
 .site-header .site-branding__logo,.site-header .custom-logo { width: 76px; max-height: 58px; }
 .site-header .site-header__middle { display: contents; }
 .site-header .site-search { max-width: none; }
 .site-header .site-navigation { background: #fff; border: 1px solid var(--j4f-box-border,#e9e2ed); border-radius: 24px; padding: .75rem; box-shadow: 0 6px 22px #2717340a; max-height: calc(100vh - var(--j4f-header-offset) - 180px); max-height: calc(100svh - var(--j4f-header-offset) - 180px); overflow-y: auto; }
 #j4f-primary-navigation .j4f-all-games > a { max-width: 100%; }
 #j4f-product-whatsapp .j4f-button { flex: 1 1 100%; }
 body :is(.woocommerce ul.products li.product) .button { padding: .55rem .7rem; }
}
@media(max-width:600px) {
 /* WordPress's mobile admin bar scrolls away rather than remaining fixed. */
 body.admin-bar .site-header { --j4f-header-offset: 0px; }
}
@media(max-width:280px) {
 .site-header .site-header__row { grid-template-columns: minmax(0,1fr); }
 .site-header .site-header__row::before { grid-row: 1/4; }
 .site-header .j4f-menu-toggle { grid-column: 1; grid-row: 2; justify-self: center; }
 .site-header .site-tools { grid-column: 1; grid-row: 3; justify-self: center; }
}
@media print { body .site-header { position: static; } }

/* Smaller, equal outer insets; content and touch targets still grow naturally. */
body :is(.woocommerce ul.products li.product) { padding-bottom: .8rem; }
body :is(.woocommerce ul.products li.product) .woocommerce-loop-product__title,
body :is(.woocommerce ul.products li.product) .price,
body :is(.woocommerce ul.products li.product) .j4f-card-context,
body :is(.woocommerce ul.products li.product) .button { margin-left: .8rem; margin-right: .8rem; }
body :is(.woocommerce ul.products li.product) .button { max-width: calc(100% - 1.6rem); }
@media(max-width:760px) {
 body :is(.woocommerce ul.products li.product) { padding-bottom: .65rem; }
 body :is(.woocommerce ul.products li.product) .woocommerce-loop-product__title,
 body :is(.woocommerce ul.products li.product) .price,
 body :is(.woocommerce ul.products li.product) .j4f-card-context,
 body :is(.woocommerce ul.products li.product) .button { margin-left: .65rem; margin-right: .65rem; }
 body :is(.woocommerce ul.products li.product) .button { max-width: calc(100% - 1.3rem); }
}
