/*!
Theme Name: Rubber Sword
Description: Rubber Sword Outfitters child theme — brand pack colors (yellow/orange/black on cream), stamped-badge borders and shadows, Alfa Slab One display type over Space Grotesk.
Author: Rubber Sword
Template: hostinger-ai-theme
Version: 2.0.0
Text Domain: rubbersword
*/

:root {
	--rs-cream: #F6F4ED;
	--rs-black: #111111;
	--rs-white: #FFFFFF;
	--rs-yellow: #F4C430;
	--rs-orange: #F28E2B;
	--rs-grey: #6D6D6D;
	--rs-border: 1px solid var(--rs-black);
	--rs-radius: 6px;
	--rs-shadow: 4px 4px 0 var(--rs-black);
	--rs-font: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
	--rs-font-display: 'Alfa Slab One', Georgia, serif;

	/* Parent theme's palette CSS vars (has-color-1/2/3-background-color utility
	   classes used by block template parts) — override so every template picks
	   up the brand palette, not just the ones we style explicitly below. */
	--wp--preset--color--color-1: var(--rs-cream);
	--wp--preset--color--color-2: var(--rs-black);
	--wp--preset--color--color-3: var(--rs-black);
	--wp--preset--color--color1: var(--rs-cream);
	--wp--preset--color--color2: var(--rs-black);
	--wp--preset--color--color3: var(--rs-black);
	--wp--preset--color--light: var(--rs-white);
	--wp--preset--color--dark: var(--rs-black);
	--wp--preset--color--grey: var(--rs-grey);
}

/* ---------- Base ---------- */
body {
	background: var(--rs-cream) !important;
	color: var(--rs-black);
	font-family: var(--rs-font) !important;
	font-size: 1rem;
	line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.wp-block-post-title,
.wp-block-heading {
	font-family: var(--rs-font-display) !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.15;
	color: var(--rs-black);
}

p, li, label, td, th, figcaption,
.elementor-widget-text-editor {
	font-family: var(--rs-font) !important;
}

a {
	color: var(--rs-black);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

::selection { background: var(--rs-yellow); color: var(--rs-black); }

/* ---------- Header ---------- */
header.wp-block-template-part:has(.hostinger-ai-menu),
.hostinger-ai-menu {
	background: var(--rs-cream) !important;
	border-bottom: var(--rs-border);
}

header.wp-block-template-part a { text-decoration: none; font-weight: 500; }

header.wp-block-template-part .wp-block-navigation a:hover,
header.wp-block-template-part nav a:hover {
	background: var(--rs-yellow);
	border-radius: 999px;
	box-shadow: 0 0 0 1px var(--rs-black);
}

header.wp-block-template-part .wp-block-navigation a,
header.wp-block-template-part nav a { padding: .35rem .9rem; border-radius: 999px; }

.wp-block-site-title a,
header.wp-block-template-part .wp-block-site-title a {
	color: var(--rs-black) !important;
	font-family: var(--rs-font-display) !important;
	font-weight: 400;
	letter-spacing: 0;
}

.custom-logo-link img,
.wp-block-site-logo img {
	image-rendering: -webkit-optimize-contrast;
}

/* ---------- Buttons ---------- */
.wp-element-button,
.wp-block-button__link,
button:not([class*="menu"]):not([class*="toggle"]):not([class*="close"]),
input[type="submit"],
.button,
.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button,
.single_add_to_cart_button {
	background: var(--rs-black) !important;
	color: var(--rs-white) !important;
	border: var(--rs-border) !important;
	border-radius: var(--rs-radius) !important;
	font-family: var(--rs-font) !important;
	font-weight: 500 !important;
	padding: .7rem 1.4rem;
	text-decoration: none !important;
	transition: transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
	box-shadow: none;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
.button:hover,
.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-components-button:hover,
.single_add_to_cart_button:hover {
	background: var(--rs-orange) !important;
	color: var(--rs-black) !important;
	transform: translate(-2px, -2px);
	box-shadow: var(--rs-shadow) !important;
}

/* Secondary / outline buttons */
.is-style-outline .wp-block-button__link,
.rs-btn-secondary {
	background: var(--rs-white) !important;
	color: var(--rs-black) !important;
}

/* ---------- Cards: products & generic ---------- */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template li,
.rs-card {
	background: var(--rs-white);
	border: var(--rs-border);
	border-radius: var(--rs-radius);
	padding: 0;
	overflow: hidden;
	transition: transform .12s ease, box-shadow .12s ease;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wp-block-woocommerce-product-template li:hover,
.rs-card:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--rs-shadow);
}

.woocommerce ul.products li.product img,
.wc-block-grid__product img {
	border-bottom: var(--rs-border);
	border-radius: 0;
	margin: 0;
	width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
	font-size: 1.05rem;
	font-weight: 500;
	padding: .8rem 1rem .2rem;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
	color: var(--rs-black) !important;
	font-weight: 700;
	padding: 0 1rem .4rem;
	display: block;
}

.woocommerce ul.products li.product .button,
.wc-block-grid__product .button {
	margin: .4rem 1rem 1rem;
}

/* Price tag pill, badge-style */
.woocommerce ul.products li.product .price .amount,
.wc-block-grid__product-price .amount {
	background: var(--rs-yellow);
	border: var(--rs-border);
	border-radius: 4px;
	padding: .1rem .5rem;
	display: inline-block;
}

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="tel"], input[type="url"],
input[type="number"], textarea, select,
.wc-block-components-text-input input {
	background: var(--rs-white) !important;
	border: var(--rs-border) !important;
	border-radius: var(--rs-radius) !important;
	font-family: var(--rs-font) !important;
	padding: .6rem .9rem;
	color: var(--rs-black);
}

input:focus, textarea:focus, select:focus {
	outline: none !important;
	box-shadow: 2px 2px 0 var(--rs-black) !important;
}

/* ---------- Images & media ---------- */
.wp-block-image img,
.woocommerce-product-gallery img {
	border: var(--rs-border);
	border-radius: var(--rs-radius);
}

/* ---------- Footer ---------- */
footer.wp-block-template-part {
	background: var(--rs-black) !important;
	color: var(--rs-white) !important;
	border-top: var(--rs-border);
}

footer.wp-block-template-part a, footer.wp-block-template-part p,
footer.wp-block-template-part h1, footer.wp-block-template-part h2,
footer.wp-block-template-part h3, footer.wp-block-template-part h4,
footer.wp-block-template-part li, footer.wp-block-template-part span {
	color: var(--rs-white) !important;
}

footer.wp-block-template-part a:hover { color: var(--rs-orange) !important; }

/* ---------- Woo misc ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
	background: var(--rs-yellow) !important;
	border: var(--rs-border) !important;
	border-radius: var(--rs-radius);
	color: var(--rs-black) !important;
}

.woocommerce-message::before, .woocommerce-info::before { color: var(--rs-black); }

.onsale {
	background: var(--rs-yellow) !important;
	color: var(--rs-black) !important;
	border: var(--rs-border) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

.woocommerce-breadcrumb { color: var(--rs-black) !important; }

/* Cart & checkout tables */
.woocommerce table.shop_table,
.wc-block-cart-items {
	border: var(--rs-border) !important;
	border-radius: var(--rs-radius);
	background: var(--rs-white);
}

/* ---------- Brand utility sections (used by homepage) ---------- */
.rs-hero {
	background: var(--rs-yellow);
	border-bottom: var(--rs-border);
}

.rs-hero h1 {
	font-size: clamp(2.4rem, 6vw, 4.8rem);
	font-weight: 400;
	letter-spacing: 0;
}

.rs-strip {
	background: var(--rs-orange);
	border-bottom: var(--rs-border);
	color: var(--rs-black);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.rs-section-cream { background: var(--rs-cream); }
.rs-section-grey  { background: var(--rs-grey); color: var(--rs-white); border-top: var(--rs-border); border-bottom: var(--rs-border); }

.rs-card { display: block; text-decoration: none !important; }
.rs-card .rs-card-body { padding: 1rem 1.25rem 1.25rem; }
.rs-card img { border-bottom: var(--rs-border); border-radius: 0; width: 100%; display: block; }

/* Big footer wordmark */
.rs-wordmark {
	font-family: var(--rs-font-display);
	font-size: clamp(2.4rem, 10vw, 7rem);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	color: var(--rs-white);
}

/* Reverse (white-on-black) brand mark, e.g. footer signature */
.rs-logo-reverse {
	max-width: 220px;
	height: auto;
	display: block;
}
