/* Redeemed Threads — site styling
   Palette: ink, bone, ember (from the flames print). Type: Fraunces + Inter. */

:root {
	--rt-ink: #121110;
	--rt-ink-2: #1d1b19;
	--rt-bone: #f5f2eb;
	--rt-bone-2: #ebe6db;
	--rt-ember: #e2572b;
	--rt-ember-2: #f07a3c;
	--rt-ash: #6f6a62;
	--rt-line: rgba(18, 17, 16, 0.12);
	--rt-line-inv: rgba(245, 242, 235, 0.16);
	--rt-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--rt-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--rt-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--rt-wrap: 1240px;
	--rt-gutter: clamp(16px, 4vw, 40px);
	--rt-radius: 14px;

	/* Bring the theme's own presets in line with the brand. */
	--wp--preset--color--page-background: var(--rt-bone);
	--wp--preset--color--page-text: var(--rt-ink);
	--wp--preset--color--color-1: var(--rt-bone);
	--wp--preset--color--color-2: var(--rt-ink);
	--wp--preset--color--color-3: var(--rt-ink);
	--wp--preset--color--accent: var(--rt-ember);
	--wp--preset--color--light: var(--rt-bone);
	--wp--preset--color--dark: var(--rt-ink);
}

html { scroll-behavior: smooth; }

body {
	background: var(--rt-bone);
	color: var(--rt-ink);
	font-family: var(--rt-sans);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4,
.wp-block-post-title,
.elementor-widget-heading .elementor-heading-title,
.wc-block-components-product-name {
	font-family: var(--rt-serif) !important;
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.08;
	color: inherit;
}

a { transition: color .25s var(--rt-ease), opacity .25s var(--rt-ease); }

::selection { background: var(--rt-ember); color: #fff; }

/* ---------- Announcement bar + header ---------- */

.rt-announce {
	background: var(--rt-ink);
	color: var(--rt-bone);
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	padding: 9px var(--rt-gutter);
	margin: 0 !important;
}
.rt-announce p { margin: 0; }
.rt-announce strong { color: var(--rt-ember-2); font-weight: 600; }

header.site-header,
header.wp-block-template-part:has(.hostinger-ai-menu) {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar header.site-header,
.admin-bar header.wp-block-template-part:has(.hostinger-ai-menu) { top: 32px; }

.hostinger-ai-menu {
	background: rgba(245, 242, 235, 0.86) !important;
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s var(--rt-ease), box-shadow .3s var(--rt-ease);
}
.rt-scrolled .hostinger-ai-menu {
	border-bottom-color: var(--rt-line);
	box-shadow: 0 8px 30px -18px rgba(18, 17, 16, 0.35);
}
.hostinger-ai-menu-wrapper {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	align-items: center;
}
.hostinger-ai-menu .wp-block-site-logo img {
	width: clamp(190px, 20vw, 250px) !important;
	height: auto;
	transition: transform .4s var(--rt-ease), opacity .3s;
}
.hostinger-ai-menu .wp-block-site-logo a:hover img { transform: translateY(-1px); opacity: .82; }

.hostinger-ai-site-navigation .wp-block-navigation-item__content {
	position: relative;
	font-weight: 500;
	font-size: 16px;
	padding: 6px 2px !important;
}
.hostinger-ai-site-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: var(--rt-ember);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .35s var(--rt-ease);
}
.hostinger-ai-site-navigation .wp-block-navigation-item__content:hover::after,
.hostinger-ai-site-navigation .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}
.hostinger-ai-site-navigation .wp-block-navigation__container { gap: clamp(14px, 2vw, 30px) !important; }

.wc-block-mini-cart__button,
.wc-block-customer-account a {
	border-radius: 999px;
	transition: background-color .25s var(--rt-ease), transform .25s var(--rt-ease);
}
.wc-block-mini-cart__button:hover,
.wc-block-customer-account a:hover { background: var(--rt-bone-2); transform: translateY(-1px); }
.wc-block-mini-cart__badge { background: var(--rt-ember) !important; color: #fff !important; border-color: var(--rt-bone) !important; }

/* Mobile menu overlay */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--rt-ink) !important;
	color: var(--rt-bone) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--rt-serif);
	font-size: 34px !important;
	color: var(--rt-bone) !important;
}

/* ---------- Buttons ---------- */

.rt-btn .elementor-button,
.wp-block-button__link,
.wc-block-components-button:not(.is-link),
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button.alt,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--rt-ink) !important;
	color: var(--rt-bone) !important;
	border: 1.5px solid var(--rt-ink) !important;
	border-radius: 999px !important;
	padding: 15px 30px !important;
	font-family: var(--rt-sans) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.2 !important;
	transition: color .35s var(--rt-ease), border-color .35s var(--rt-ease), transform .35s var(--rt-ease), box-shadow .35s var(--rt-ease) !important;
}
.rt-btn .elementor-button::before,
.wp-block-button__link::before,
.wc-block-components-button:not(.is-link)::before,
.single_add_to_cart_button::before,
.woocommerce a.button::before,
.woocommerce button.button::before,
.wc-block-cart__submit-button::before,
.wc-block-components-checkout-place-order-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--rt-ember);
	transform: translateY(101%);
	transition: transform .45s var(--rt-ease);
}
.rt-btn .elementor-button:hover::before,
.wp-block-button__link:hover::before,
.wc-block-components-button:not(.is-link):hover::before,
.single_add_to_cart_button:hover::before,
.woocommerce a.button:hover::before,
.woocommerce button.button:hover::before,
.wc-block-cart__submit-button:hover::before,
.wc-block-components-checkout-place-order-button:hover::before { transform: translateY(0); }
.rt-btn .elementor-button:hover,
.wp-block-button__link:hover,
.wc-block-components-button:not(.is-link):hover,
.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	color: #fff !important;
	border-color: var(--rt-ember) !important;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px -14px rgba(226, 87, 43, 0.65);
}
.rt-btn .elementor-button-text::after {
	content: "→";
	display: inline-block;
	margin-left: 10px;
	transition: transform .35s var(--rt-ease);
}
.rt-btn .elementor-button:hover .elementor-button-text::after { transform: translateX(5px); }

/* Ghost button variant */
.rt-btn-ghost .elementor-button { background: transparent !important; color: inherit !important; border-color: currentColor !important; }
.rt-dark .rt-btn-ghost .elementor-button { color: var(--rt-bone) !important; }
/* Light button on dark sections */
.rt-dark .rt-btn:not(.rt-btn-ghost) .elementor-button { background: var(--rt-bone) !important; color: var(--rt-ink) !important; border-color: var(--rt-bone) !important; }
.rt-dark .rt-btn .elementor-button:hover { color: #fff !important; border-color: var(--rt-ember) !important; }

/* Outline product-card buttons */
.wp-block-button.is-style-outline .wp-block-button__link,
.wc-block-components-product-button .wp-block-button__link {
	background: transparent !important;
	color: var(--rt-ink) !important;
	padding: 11px 22px !important;
	font-size: 15px !important;
}
.wc-block-components-product-button .wp-block-button__link:hover { color: #fff !important; }

/* ---------- Elementor sections ---------- */

.elementor .e-con.rt-section {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	--gap: 0;
	padding: clamp(64px, 9vw, 120px) var(--rt-gutter);
}
.elementor .e-con.rt-section > .e-con,
.elementor .e-con.rt-section > .elementor-widget { width: 100%; max-width: var(--rt-wrap); margin-inline: auto; }
.elementor .e-con.rt-tight { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
.elementor .e-con.rt-dark { background: var(--rt-ink); color: var(--rt-bone); }
.elementor .e-con.rt-dark .elementor-heading-title,
.elementor .e-con.rt-dark .elementor-widget-text-editor { color: var(--rt-bone); }
.elementor .e-con.rt-sand { background: var(--rt-bone-2); }

.elementor .e-con.rt-row { --gap: clamp(28px, 5vw, 72px); flex-direction: row; flex-wrap: wrap; align-items: center; }
.elementor .e-con.rt-row > .e-con { flex: 1 1 380px; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.elementor .e-con.rt-stack { --gap: 22px; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }

.rt-kicker .elementor-heading-title {
	font-family: var(--rt-sans) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	color: var(--rt-ember) !important;
}
.rt-display .elementor-heading-title { font-size: clamp(48px, 8.2vw, 112px) !important; line-height: .98 !important; letter-spacing: -0.03em !important; }
.rt-h2 .elementor-heading-title { font-size: clamp(36px, 5vw, 64px) !important; }
.rt-h3 .elementor-heading-title { font-size: clamp(26px, 2.6vw, 34px) !important; }
.rt-display em, .rt-h2 em { font-style: italic; color: var(--rt-ember); }
.rt-lead, .rt-lead p { font-size: clamp(19px, 1.6vw, 23px); line-height: 1.55; max-width: 34em; }
.rt-dark .rt-lead { color: rgba(245, 242, 235, 0.82) !important; }
.rt-body p { font-size: 18px; line-height: 1.75; max-width: 38em; margin-bottom: 1.1em; }
.rt-buttons { --gap: 14px; flex-direction: row !important; flex-wrap: wrap; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.rt-buttons > .elementor-widget { width: auto !important; }

/* Hero */
.elementor .e-con.rt-hero { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 110px); overflow: hidden; position: relative; }
.elementor .e-con.rt-hero::before {
	content: "";
	position: absolute;
	width: 60vw; height: 60vw;
	right: -18vw; top: -22vw;
	background: radial-gradient(circle, rgba(226, 87, 43, 0.28), transparent 62%);
	pointer-events: none;
	animation: rt-glow 9s ease-in-out infinite alternate;
}
@keyframes rt-glow { from { transform: translate(0, 0) scale(1); } to { transform: translate(-4vw, 3vw) scale(1.12); } }

.rt-photo img,
.rt-photo .elementor-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--rt-radius);
	transition: transform .9s var(--rt-ease), filter .6s var(--rt-ease);
}
.rt-photo .elementor-widget-container { overflow: hidden; border-radius: var(--rt-radius); }
.rt-photo:hover img { transform: scale(1.045); }
.rt-photo-wide img { aspect-ratio: 16 / 11; }

/* Marquee */
.rt-marquee { overflow: hidden; background: var(--rt-ember); color: #fff; padding: 18px 0; }
.rt-marquee__track { display: flex; width: max-content; animation: rt-marquee 32s linear infinite; }
.rt-marquee span {
	font-family: var(--rt-serif);
	font-size: clamp(24px, 3vw, 38px);
	font-style: italic;
	white-space: nowrap;
	padding-right: 48px;
}
.rt-marquee span::after { content: "✦"; font-style: normal; font-size: .6em; margin-left: 48px; vertical-align: middle; opacity: .8; }
@keyframes rt-marquee { to { transform: translateX(-50%); } }

/* Design cards */
.elementor .e-con.rt-cards { --gap: clamp(18px, 2.4vw, 32px); flex-direction: row; flex-wrap: wrap; }
.elementor .e-con.rt-card {
	flex: 1 1 340px;
	position: relative;
	overflow: hidden;
	border-radius: var(--rt-radius);
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	background: var(--rt-ink);
	color: var(--rt-bone);
	transition: transform .5s var(--rt-ease), box-shadow .5s var(--rt-ease);
}
.elementor .e-con.rt-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(18, 17, 16, 0.6); }
.rt-card .rt-photo img { border-radius: 0; aspect-ratio: 4 / 4.4; display: block; }
.rt-card .rt-photo { margin: 0 !important; }
.elementor .e-con.rt-card:hover .rt-card-body { padding-bottom: 40px !important; }
.rt-card .rt-h3 .elementor-heading-title { font-size: clamp(30px, 3vw, 40px) !important; }
.rt-card .rt-photo .elementor-widget-container { border-radius: 0; }
.rt-card:hover .rt-photo img { transform: scale(1.06); filter: brightness(.82); }
.elementor .e-con.rt-card-body {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 90px 30px 30px !important;
	--gap: 6px;
	transition: padding-bottom .5s var(--rt-ease);
	background: linear-gradient(to top, rgba(18, 17, 16, 0.92), rgba(18, 17, 16, 0));
}
.rt-card-body .elementor-heading-title { color: var(--rt-bone) !important; }
.rt-card-body .elementor-widget-text-editor { color: rgba(245, 242, 235, 0.85); font-size: 16px; }
.rt-card-body .elementor-widget-text-editor p { margin: 0; }
.rt-card a.rt-cover { position: absolute; inset: 0; z-index: 2; }

/* Promise strip */
.elementor .e-con.rt-promises { --gap: 0; flex-direction: row; flex-wrap: wrap; border-top: 1px solid var(--rt-line); border-bottom: 1px solid var(--rt-line); }
.elementor .e-con.rt-promise {
	flex: 1 1 260px;
	--padding-top: 28px; --padding-bottom: 28px; --padding-left: 24px; --padding-right: 24px;
	--gap: 6px;
	transition: background-color .35s var(--rt-ease);
}
.elementor .e-con.rt-promise + .e-con.rt-promise { border-left: 1px solid var(--rt-line); }
.elementor .e-con.rt-promise:hover { background: var(--rt-bone-2); }
.rt-promise .elementor-heading-title { font-size: 23px !important; }
.rt-promise .elementor-widget-text-editor p { margin: 0; color: var(--rt-ash); font-size: 17px; line-height: 1.5; }
@media (max-width: 760px) {
	.elementor .e-con.rt-promise + .e-con.rt-promise { border-left: 0; border-top: 1px solid var(--rt-line); }
}

/* Quote */
.rt-quote .elementor-heading-title {
	font-size: clamp(32px, 4.6vw, 60px) !important;
	font-style: italic;
	font-weight: 400 !important;
	line-height: 1.15 !important;
}
.rt-quote .elementor-heading-title::before { content: "“"; display: block; color: var(--rt-ember); font-size: 1.6em; line-height: .6; font-style: normal; margin-bottom: .1em; }
.rt-verse .elementor-heading-title { font-style: italic; font-weight: 400 !important; }

/* Section headers with a link on the right */
.elementor .e-con.rt-head { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; --gap: 16px; margin-bottom: clamp(28px, 4vw, 48px); --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.elementor .e-con.rt-head > .elementor-widget { width: auto !important; }
.rt-link a, a.rt-link {
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat;
	padding-bottom: 3px;
	transition: background-size .35s var(--rt-ease), color .25s;
}
.rt-link a:hover, a.rt-link:hover { color: var(--rt-ember); background-size: 0 1.5px; background-position: 100% 100%; }

/* Contact cards */
.elementor .e-con.rt-contact-cards { --gap: 16px; flex-direction: row; flex-wrap: wrap; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.rt-contact-card a {
	display: block;
	min-width: 240px;
	padding: 22px 24px;
	border: 1px solid var(--rt-line);
	border-radius: var(--rt-radius);
	background: #fff;
	color: var(--rt-ink);
	text-decoration: none;
	transition: transform .35s var(--rt-ease), border-color .35s, box-shadow .35s;
}
.rt-contact-card a:hover { transform: translateY(-3px); border-color: var(--rt-ember); box-shadow: 0 18px 40px -24px rgba(18, 17, 16, 0.45); }
.rt-contact-card span { display: block; font-size: 15px; color: var(--rt-ash); margin-bottom: 4px; }
.rt-contact-card strong { font-family: var(--rt-serif); font-weight: 500; font-size: 22px; }

.rt-form-wrap {
	background: #fff;
	border: 1px solid var(--rt-line);
	border-radius: calc(var(--rt-radius) + 4px);
	padding: clamp(22px, 3vw, 38px);
	box-shadow: 0 30px 60px -40px rgba(18, 17, 16, 0.35);
}
.rt-form-wrap input,
.rt-form-wrap textarea {
	border-radius: 10px !important;
	border: 1px solid var(--rt-line) !important;
	background: var(--rt-bone) !important;
	font-size: 16px !important;
	transition: border-color .25s, box-shadow .25s, background-color .25s;
}
.rt-form-wrap input:focus,
.rt-form-wrap textarea:focus {
	outline: none;
	border-color: var(--rt-ember) !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(226, 87, 43, 0.15);
}
.rt-form-wrap button,
.rt-form-wrap input[type="submit"] {
	background: var(--rt-ink) !important;
	color: var(--rt-bone) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	transition: background-color .3s var(--rt-ease), transform .3s var(--rt-ease);
}
.rt-form-wrap button:hover,
.rt-form-wrap input[type="submit"]:hover { background: var(--rt-ember) !important; transform: translateY(-2px); }

/* Pages that carry their own hero: hide the theme's plain title band. */
.page-id-28 .hostinger-ai-page-title,
.page-id-29 .hostinger-ai-page-title,
.page-id-30 .hostinger-ai-page-title { display: none; }

/* ---------- Product cards (shop grid + home grid) ---------- */

.wc-block-product-template .wc-block-product,
.woocommerce ul.products li.product {
	position: relative;
	text-align: left !important;
	transition: transform .5s var(--rt-ease);
}
.wc-block-product-template .wc-block-product:hover,
.woocommerce ul.products li.product:hover { transform: translateY(-6px); }

.wc-block-components-product-image {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--rt-radius);
	background: var(--rt-bone-2);
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; background: none !important; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link .rt-img-frame,
.woocommerce ul.products li.product a.woocommerce-loop-product__link { border-radius: 0; overflow: visible; }
.wc-block-components-product-image a { display: block; position: relative; }
.wc-block-components-product-image img,
.woocommerce ul.products li.product a img {
	width: 100% !important;
	aspect-ratio: 4 / 5 !important;
	object-fit: cover !important;
	margin: 0 !important;
	border-radius: var(--rt-radius);
	transition: transform .9s var(--rt-ease), opacity .55s var(--rt-ease);
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link { padding: 0; }
.wc-block-components-product-image:hover img,
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
img.rt-hover-img {
	position: absolute !important;
	top: 0; left: 0;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5 !important;
	opacity: 0;
}
.wc-block-components-product-image:hover img.rt-hover-img,
.woocommerce ul.products li.product:hover img.rt-hover-img { opacity: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { position: relative; }
.woocommerce ul.products li.product a.woocommerce-loop-product__link > img.rt-hover-img { top: 0; left: 0; }

.wc-block-product .wp-block-post-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	text-align: left !important;
	font-family: var(--rt-serif) !important;
	font-size: 21px !important;
	font-weight: 500;
	line-height: 1.25;
	margin: 16px 0 4px !important;
	padding: 0 !important;
}
.wc-block-product .wp-block-post-title a { text-decoration: none; color: inherit; }
.wc-block-product .wp-block-post-title a:hover { color: var(--rt-ember); }
.wc-block-components-product-price,
.woocommerce ul.products li.product .price {
	text-align: left !important;
	color: var(--rt-ash) !important;
	font-size: 17px !important;
	font-weight: 500;
}
.wc-block-components-product-button { justify-content: flex-start !important; align-items: flex-start !important; }
.woocommerce ul.products li.product .button { margin-top: 10px; padding: 11px 22px !important; font-size: 15px !important; }

/* Shop page header */
.post-type-archive-product .wp-block-query-title,
.tax-product_cat .wp-block-query-title {
	font-size: clamp(44px, 6vw, 80px) !important;
	letter-spacing: -0.03em;
	margin-top: clamp(28px, 4vw, 56px) !important;
}
.wc-block-product-template { gap: clamp(20px, 2.6vw, 36px) !important; }
.wc-block-breadcrumbs, .woocommerce-breadcrumb { font-size: 15px; color: var(--rt-ash); }
.wc-block-catalog-sorting select, .woocommerce-ordering select {
	border: 1px solid var(--rt-line);
	border-radius: 999px;
	padding: 9px 16px;
	background: #fff;
	font-size: 15px;
}

/* ---------- Single product ---------- */

.single-product .wp-block-post-title { font-size: clamp(34px, 4vw, 52px) !important; }
.single-product .wc-block-components-product-price,
.single-product .price { font-size: 24px !important; color: var(--rt-ink) !important; }
.single-product .woocommerce-product-gallery__image img,
.single-product .wc-block-product-gallery-large-image img { border-radius: var(--rt-radius); }
.single-product .flex-control-thumbs img { border-radius: 8px; opacity: .6; transition: opacity .25s; cursor: pointer; }
.single-product .flex-control-thumbs img:hover,
.single-product .flex-control-thumbs img.flex-active { opacity: 1; }
.variations select {
	border: 1.5px solid var(--rt-line);
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 16px;
	background: #fff;
	min-width: 200px;
	transition: border-color .25s;
}
.variations select:hover, .variations select:focus { border-color: var(--rt-ink); outline: none; }
.variations th.label, .variations td.label { font-weight: 600; }
.quantity input.qty { border: 1.5px solid var(--rt-line); border-radius: 10px; padding: 12px 8px; font-size: 16px; }

/* ---------- Footer ---------- */

.rt-footer { background: var(--rt-ink) !important; color: var(--rt-bone); }
.rt-footer a { color: var(--rt-bone); text-decoration: none; }
.rt-footer .rt-foot-links a,
.rt-footer .rt-foot-contact a {
	display: inline-block;
	opacity: .78;
	transition: opacity .25s, transform .3s var(--rt-ease), color .25s;
}
.rt-footer .rt-foot-links a:hover,
.rt-footer .rt-foot-contact a:hover { opacity: 1; color: var(--rt-ember-2); transform: translateX(4px); }
.rt-footer .rt-foot-links { list-style: none; padding: 0; margin: 0; line-height: 2.1; font-size: 17px; }
.rt-footer h3 { font-family: var(--rt-serif) !important; font-size: 22px !important; margin-bottom: 14px; color: var(--rt-bone); }
.rt-footer .rt-foot-tag { font-family: var(--rt-serif); font-size: 26px; line-height: 1.3; font-style: italic; max-width: 16em; }
.rt-footer .rt-foot-tag em { color: var(--rt-ember-2); }
.rt-footer .rt-foot-logo img { width: 230px; height: auto; transition: opacity .3s; }
.rt-footer .rt-foot-logo a:hover img { opacity: .8; }
.rt-footer .rt-foot-bottom { border-top: 1px solid var(--rt-line-inv); padding-top: 22px; font-size: 15px; opacity: .7; }
.rt-footer input[type="email"], .rt-footer input[type="text"] {
	background: rgba(245, 242, 235, 0.08) !important;
	border: 1px solid var(--rt-line-inv) !important;
	color: var(--rt-bone) !important;
	border-radius: 999px !important;
	padding: 12px 18px !important;
}
.rt-footer form button, .rt-footer form [type="submit"], .rt-footer .hostinger-reach-block-submit, .rt-footer button,
.rt-footer input[type="submit"] {
	padding: 12px 26px !important;
	margin-top: 10px;
	background: var(--rt-ember) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	transition: transform .3s var(--rt-ease), background-color .3s !important;
}
.rt-footer button:hover, .rt-footer input[type="submit"]:hover { background: var(--rt-ember-2) !important; transform: translateY(-2px); }

/* ---------- Scroll reveal ---------- */

.rt-js .rt-reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--rt-ease), transform .9s var(--rt-ease); }
.rt-js .rt-reveal.is-in { opacity: 1; transform: none; }
.rt-js .rt-reveal.rt-d1 { transition-delay: .08s; }
.rt-js .rt-reveal.rt-d2 { transition-delay: .16s; }
.rt-js .rt-reveal.rt-d3 { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.rt-js .rt-reveal { opacity: 1; transform: none; }
}

/* Classic product grid (home page) */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.6vw, 36px);
	margin: 0 !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* Centered sections */
.elementor .e-con.rt-center, .rt-center .e-con { align-items: center; text-align: center; }
.rt-center .rt-lead, .rt-center .rt-body p, .rt-center .rt-lead p { margin-inline: auto; }
.rt-center .rt-buttons { justify-content: center; }
.rt-narrow { max-width: 760px !important; }
.rt-cite p { color: var(--rt-ember-2); font-weight: 600; margin: 0; }

/* ---------- Polish pass ---------- */

/* Shop grids: real 3-column grid (theme flex math breaks with a larger gap) */
.wc-block-product-template.is-flex-container,
.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.wc-block-product-template.is-flex-container > li { width: auto !important; margin: 0 !important; }
@media (max-width: 900px) {
	.wc-block-product-template.is-flex-container, .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.wc-block-product-template.is-flex-container, .wc-block-product-template,
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 14px !important; }
	.wc-block-product .wp-block-post-title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; margin-top: 10px !important; }
	.wc-block-components-product-price, .woocommerce ul.products li.product .price { font-size: 15px !important; }
	.wc-block-components-product-button .wp-block-button__link,
	.woocommerce ul.products li.product .button { padding: 9px 14px !important; font-size: 14px !important; }
}

/* Body copy: full ink, readable size (beats the Elementor kit's grey) */
.elementor .rt-body .elementor-widget-container,
.elementor .rt-body p {
	font-size: 19px !important;
	line-height: 1.75 !important;
	color: var(--rt-ink) !important;
}
.elementor .rt-dark .rt-body p { color: var(--rt-bone) !important; }
.elementor .rt-lead p { color: var(--rt-ink-2); }
.elementor .rt-narrow { margin-inline: auto; }

/* Related products on product pages stay card-sized */
.single-product .wc-block-product .wp-block-post-title,
.single-product ul.products li.product .woocommerce-loop-product__title { font-size: 21px !important; line-height: 1.25 !important; }
.single-product .wp-block-woocommerce-related-products .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .single-product .wp-block-woocommerce-related-products .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Design cards: photo fills the card, no strip */
.elementor .e-con.rt-card { --gap: 0; gap: 0 !important; }
.rt-card .elementor-widget-image, .rt-card .elementor-widget-image .elementor-widget-container { margin: 0 !important; line-height: 0; }
.rt-card .elementor-widget-html { position: absolute; inset: 0; margin: 0 !important; }

/* Header logo on phones */
@media (max-width: 600px) {
	.hostinger-ai-menu .wp-block-site-logo img { width: 168px !important; }
	.rt-announce { font-size: 13px; }
}

/* Product page: portrait crop to match the cards */
.single-product .woocommerce-product-gallery__image img { aspect-ratio: 4 / 5; object-fit: cover; }

/* Fix: lead text on dark sections stays light */
.elementor .rt-dark .rt-lead p,
.elementor .rt-dark .rt-lead .elementor-widget-container { color: rgba(245, 242, 235, 0.86) !important; }

/* Shop grid: force 3 columns on desktop (theme's responsive grid otherwise wins) */
@media (min-width: 901px) {
	.wc-block-product-template.is-flex-container,
	.wc-block-product-template,
	.wc-block-product-template__responsive { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.single-product .wp-block-woocommerce-related-products .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* Logo never gets squeezed */
.hostinger-ai-menu .wp-block-site-logo { width: auto !important; flex-shrink: 0; }
.hostinger-ai-menu .wp-block-site-logo a { display: block; }

/* Product page shipping note */
.rt-ship-note { margin: 14px 0 0; font-size: 15px; line-height: 1.5; color: var(--rt-ash); }
.rt-ship-note a { color: var(--rt-ink); text-decoration: underline; text-underline-offset: 3px; }

/* About: three small photos of Bill */
.rt-about-trio { display: flex; gap: 14px; margin-top: 8px; }
.rt-about-trio figure { margin: 0; flex: 0 1 132px; text-align: center; }
.rt-about-trio img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 3px solid var(--rt-line-inv); display: block; }
.rt-about-trio figcaption { margin-top: 8px; font-size: 14px; opacity: .8; }
@media (max-width: 600px) { .rt-about-trio figure { flex-basis: 30%; } }
