/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ===== Apollo Tech ===== */

/* Orange (#ff5500) buttons: navy text passes WCAG AA (6.1:1); white text does not (3.1:1). */
.btn-color-primary:not(.btn-style-link):not(.btn-style-bordered) {
	--btn-color: #0a101d;
	--btn-color-hover: #0a101d;
}
.wp-block-button__link.wp-element-button {
	background-color: #ff5500;
	color: #0a101d;
	border-radius: 35px;
	padding: 12px 28px;
	font-weight: 600;
}
.wp-block-button__link.wp-element-button:hover { background-color: #e64d00; color: #0a101d; }

/* Content pages (About / Contact / Deals) */
.apollo-section { padding-block: 48px; }
.apollo-section + .apollo-section { border-top: 1px solid #e5e7eb; }
.apollo-hero { padding-top: 24px; }
.apollo-hero h2 { font-size: clamp(30px, 4vw, 44px); line-height: 1.15; max-width: 760px; }
.apollo-eyebrow {
	margin-bottom: 10px;
	color: #c2410c;
	font-family: Sora, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.apollo-lead { max-width: 720px; font-size: 18px; line-height: 1.6; color: #374151; }
.apollo-band {
	padding-inline: 32px;
	border-radius: 12px;
	background: #0a101d;
	color: #cbd5e1;
}
.apollo-band h2 { color: #fff; }
.apollo-band .apollo-eyebrow { color: #ff7a33; }
.apollo-section + .apollo-band, .apollo-band + .apollo-section { border-top: 0; }
.apollo-steps .wp-block-column {
	padding: 24px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
}
.apollo-step-num {
	margin-bottom: 8px;
	color: #c2410c;
	font-family: Sora, sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
}
.apollo-steps h3 { font-size: 18px; }
.apollo-contact-lines { line-height: 2; }
.apollo-contact-lines a { color: #0a101d; font-weight: 600; }

/* Contact Form 7 */
.wpcf7-form label { display: block; margin-bottom: 16px; font-weight: 600; color: #0a101d; }
.wpcf7-form label input, .wpcf7-form label textarea { margin-top: 6px; font-weight: 400; }

@media (max-width: 768px) {
	.apollo-section { padding-block: 32px; }
	.apollo-band { padding-inline: 20px; }
}

/* Footer */
.apollo-footer {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1.4fr 1.2fr;
	gap: 40px;
	padding-block: 10px;
}
.apollo-footer img { margin-bottom: 14px; }
.apollo-footer-name { margin-bottom: 6px; color: #fff; font-family: Sora, sans-serif; font-weight: 600; }
.apollo-footer p { max-width: 340px; color: #cbd5e1; }
.apollo-footer-title {
	margin-bottom: 14px;
	color: #fff;
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.apollo-footer-links { margin: 0; padding: 0; list-style: none; color: #cbd5e1; }
.apollo-footer-links li { margin-bottom: 8px; }
.apollo-footer-links a { color: #cbd5e1; }
.apollo-footer-links a:hover { color: #ff7a33; }
.apollo-footer-badge { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

.apollo-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	margin-block: 40px;
	padding: 32px 36px;
	border-radius: 12px;
	background: #1c222e;
}
.apollo-cta h3 { margin-bottom: 6px; color: #fff; font-size: 26px; }
.apollo-cta p { margin: 0; max-width: 620px; color: #cbd5e1; }

@media (max-width: 768px) {
	.apollo-footer { grid-template-columns: 1fr; gap: 24px; }
	.apollo-cta { padding: 24px 20px; }
}

/* Product cards: uniform square photo box. Source photos range from tall to very wide;
   contain (not cover) so no product is ever cropped. */
.wd-product .product-element-top .product-image-link,
.wd-product .product-element-top .hover-img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	background: #fff;
}
.wd-product .product-element-top .product-image-link img,
.wd-product .product-element-top .hover-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Keep content-page blocks left-aligned inside the constrained group layout */
.apollo-section.is-layout-constrained > * { margin-left: 0 !important; margin-right: auto !important; }
.apollo-section .wp-block-button .wp-block-button__link {
	background-color: #ff5500 !important;
	color: #0a101d !important;
}
.apollo-section .wp-block-button .wp-block-button__link:hover { background-color: #e64d00 !important; }

/* Our Partners logo strip */
.apollo-partners img { opacity: .55; filter: saturate(.6); transition: opacity .25s, filter .25s; }
.apollo-partners img:hover { opacity: 1; filter: none; }
.apollo-band h3 { color: #fff; font-size: 18px; }
.apollo-faq .wp-block-column { padding-top: 8px; }
@media (min-width: 769px) and (max-width: 1024px) {
	.apollo-footer { grid-template-columns: 1fr 1fr; }
}

/* CTA button styled directly: WoodMart only loads el-button.css on pages that use a button widget */
.apollo-cta .btn {
	display: inline-flex;
	align-items: center;
	padding: 14px 30px;
	border-radius: 35px;
	background-color: #ff5500;
	color: #0a101d;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	white-space: nowrap;
}
.apollo-cta .btn:hover { background-color: #e64d00; color: #0a101d; }

/* Long marketplace-style product names: clamp to 3 lines so cards and the sidebar
   product list keep an even rhythm (full name remains on the product page). */
.wd-product .wd-entities-title,
.product_list_widget .wd-entities-title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

/* ===== About page ===== */
.apollo-about-hero { gap: 48px; }
.apollo-about-hero h2 { max-width: 620px; }
.apollo-section .wp-block-buttons { gap: 12px; margin-top: 24px; }
.apollo-section .wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent !important;
	border: 2px solid #0a101d;
	color: #0a101d !important;
}
.apollo-section .wp-block-button.is-style-outline .wp-block-button__link:hover { background-color: #0a101d !important; color: #fff !important; }

.apollo-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.apollo-tiles a {
	display: block;
	aspect-ratio: 1 / 1;
	padding: 14px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	transition: transform .2s, box-shadow .2s;
}
.apollo-tiles a:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(10, 16, 29, .08); }
.apollo-tiles img { width: 100%; height: 100%; object-fit: contain; }

.apollo-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.apollo-cat-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	color: inherit;
	transition: border-color .2s, box-shadow .2s;
}
.apollo-cat-card:hover { border-color: #ff5500; box-shadow: 0 10px 24px rgba(10, 16, 29, .08); }
.apollo-cat-img { display: block; aspect-ratio: 16 / 10; padding: 16px; background: #f7f7f8; }
.apollo-cat-img img { width: 100%; height: 100%; object-fit: contain; }
.apollo-cat-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.apollo-cat-body h3 { margin-bottom: 4px; font-size: 18px; }
.apollo-cat-count { margin-bottom: 10px; color: #6b7280; font-size: 13px; }
.apollo-cat-body p { flex: 1; margin-bottom: 14px; font-size: 14px; }
.apollo-cat-link { color: #c2410c; font-weight: 600; font-size: 14px; }

.apollo-subhead { margin: 36px 0 18px; font-size: 20px; }
.apollo-steps h4 { font-size: 17px; }
.apollo-why h3 { margin-bottom: 6px; }
.apollo-why p { margin: 0; color: #cbd5e1; font-size: 14px; }

.apollo-faq-list details {
	margin-bottom: 12px;
	padding: 16px 20px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
}
.apollo-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.apollo-faq-list summary::-webkit-details-marker { display: none; }
.apollo-faq-list summary::after { content: "+"; color: #c2410c; font-size: 22px; line-height: 1; }
.apollo-faq-list details[open] summary::after { content: "\2212"; }
.apollo-faq-list summary h3 { margin: 0; font-size: 16px; }
.apollo-faq-list details p { margin: 12px 0 0; }

@media (max-width: 1024px) {
	.apollo-cat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.apollo-cat-grid { grid-template-columns: 1fr; }
	.apollo-about-hero { gap: 24px; }
}

/* Gaming band: keep the product inside the box, sized to the text column */
.apollo-gaming-img img { width: auto; max-width: 100%; max-height: 340px; }
@media (max-width: 768px) { .apollo-gaming-img img { max-height: 240px; } }
