/*
Theme Name: Blocksy Karu Print
Template: blocksy
Description: Karu Print design system child theme for Blocksy.
Version: 1.0.0
Text Domain: blocksy-karu
*/

/* ---------- Design tokens ---------- */
:root {
	--kp-teal: #0d7377;
	--kp-teal-dark: #0a5c5f;
	--kp-orange: #ff6b35;
	--kp-orange-dark: #e85a25;
	--kp-amber: #f4a90a;
	--kp-gold: #c7860a;
	--kp-navy: #14142b;
	--kp-ink: #1a1a2e;
	--kp-cream: #fdf8f4;
	--kp-gray: #6b7280;
	--kp-border: #eae3db;
	--kp-mint: #e0f0ef;
}

body {
	background: var(--kp-cream);
}

/* ---------- Reusable section helpers (used inside block markup) ---------- */
.kp-eyebrow {
	color: var(--kp-gold);
	font-family: var(--theme-font-family, Montserrat), sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.kp-section-white {
	background: #fff;
	border-top: 1px solid var(--kp-border);
	border-bottom: 1px solid var(--kp-border);
}

.kp-card {
	background: #fff;
	border: 1px solid var(--kp-border);
	border-radius: 16px;
	padding: 28px;
}

/* Why-us card on teal background */
.kp-why-card {
	background: rgba(253, 248, 244, 0.07);
	border: 1px solid rgba(253, 248, 244, 0.12);
	border-radius: 16px;
	padding: 28px 24px;
}

/* Teal glyph variant (About process steps) */
.kp-glyph-teal {
	background: var(--kp-teal);
	color: #fff;
}

/* WhatsApp contact card */
.kp-whatsapp-card {
	background: #25d366;
	border-radius: 16px;
	padding: 22px 24px;
	margin-bottom: 16px;
}
.kp-whatsapp-card p,
.kp-whatsapp-card a {
	color: #fff;
}

.kp-lift {
	transition: transform 0.2s, box-shadow 0.2s;
}
.kp-lift:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(20, 20, 43, 0.1);
}

.kp-stars {
	color: var(--kp-amber);
	letter-spacing: 2px;
}

/* Category tile: image block with overlaid caption */
.kp-cat-tile {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	margin: 0;
	transition: transform 0.2s;
}
.kp-cat-tile:hover {
	transform: translateY(-3px);
}
.kp-cat-tile img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.kp-cat-tile figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 44px 16px 14px;
	background: linear-gradient(transparent, rgba(20, 20, 43, 0.82));
	color: var(--kp-cream);
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-align: left;
}
.kp-cat-tile figcaption small {
	display: block;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 12px;
	color: rgba(253, 248, 244, 0.7);
}

/* Rounded imagery */
.kp-rounded img {
	border-radius: 24px;
}

/* Check bullets under hero buttons */
.kp-checks {
	color: var(--kp-gray);
	font-size: 13px;
	font-weight: 600;
}
.kp-checks .check {
	color: var(--kp-teal);
}

/* Contact Form 7 styling */
.wpcf7 input[type='text'],
.wpcf7 input[type='email'],
.wpcf7 input[type='tel'],
.wpcf7 select,
.wpcf7 textarea {
	border: 1.5px solid var(--kp-border);
	border-radius: 9px;
	padding: 13px 14px;
	font-size: 14px;
	font-family: 'Open Sans', sans-serif;
	background: var(--kp-cream);
	width: 100%;
}
.wpcf7 input[type='submit'] {
	background: var(--kp-teal);
	color: #fff;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 15px;
	padding: 16px 36px;
	border: none;
	border-radius: 10px;
	cursor: pointer;
}
.wpcf7 input[type='submit']:hover {
	background: var(--kp-teal-dark);
}

/* Why-us glyph square */
.kp-glyph {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--kp-amber);
	color: var(--kp-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 18px;
	font-family: Montserrat, sans-serif;
}

/* FAQ details blocks */
.kp-faq details {
	background: #fff;
	border: 1px solid var(--kp-border);
	border-radius: 14px;
	padding: 20px 24px;
	margin-bottom: 12px;
}
.kp-faq summary {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 15.5px;
	color: var(--kp-navy);
	cursor: pointer;
}
.kp-faq details p {
	color: var(--kp-gray);
	font-size: 14px;
	line-height: 1.75;
	margin: 12px 0 0;
}

/* ---------- Buttons ---------- */
.wp-block-button__link,
.wp-element-button {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	border-radius: 10px;
}

/* ---------- WooCommerce product cards (matches ProductCard.dc.html) ---------- */
ul.products li.product {
	display: flex;
	flex-direction: column;
	position: relative;
	background: #fff;
	border: 1px solid var(--kp-border);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
	padding-bottom: 18px !important;
}
ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(20, 20, 43, 0.1);
}

/* Image: full-bleed, fixed height like the 250px design slot */
ul.products li.product figure {
	order: 0;
	margin: 0 0 16px;
	background: #f3f4f6;
}
ul.products li.product figure img {
	aspect-ratio: 7/6 !important;
	object-fit: cover;
	width: 100%;
	display: block;
}

/* Category eyebrow above the title */
ul.products li.product .entry-meta {
	order: 1;
	margin: 0 18px 7px;
	padding: 0;
	list-style: none;
}
ul.products li.product .entry-meta a {
	color: var(--kp-gray);
	font-size: 11.5px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
}

ul.products li.product .woocommerce-loop-product__title {
	order: 2;
	margin: 0 18px 7px;
	padding: 0;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 15.5px;
	line-height: 1.35;
}
ul.products li.product .woocommerce-loop-product__title a {
	color: var(--kp-ink);
}
ul.products li.product .woocommerce-loop-product__title a:hover {
	color: var(--kp-teal);
}

ul.products li.product .ct-woo-card-rating {
	order: 3;
	margin: 0 18px 7px;
}
ul.products li.product .ct-woo-card-rating .star-rating {
	font-size: 12.5px;
	margin: 0;
}
ul.products li.product .ct-woo-card-actions {
	order: 5;
	margin: 0;
}

/* Price row with the compact icon cart button on the right */
ul.products li.product .price {
	order: 4;
	margin: 2px 66px 0 18px;
	color: var(--kp-teal) !important;
	font-family: Montserrat, sans-serif;
	font-weight: 800;
	font-size: 17px;
}
ul.products li.product .price del {
	color: var(--kp-gray);
	font-weight: 400;
	font-size: 13px;
	opacity: 1;
}
ul.products li.product .price ins {
	text-decoration: none;
}

/* Add-to-cart: 38px icon button pinned bottom-right (design's compact cart) */
ul.products li.product a.button {
	position: absolute;
	right: 18px;
	bottom: 14px;
	width: 38px;
	height: 38px;
	padding: 0 !important;
	border-radius: 10px;
	font-size: 0 !important;
	line-height: 0;
	background: var(--kp-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 7h12l-1.2 12H7.2L6 7z' stroke='white' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M9 9V6a3 3 0 016 0v3' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat !important;
	color: transparent !important;
}
ul.products li.product a.button:hover {
	background-color: var(--kp-teal-dark) !important;
}
/* ponytail: hide the post-AJAX "View cart" text link; header cart badge already updates */
ul.products li.product a.added_to_cart {
	display: none;
}

.woocommerce .star-rating span::before,
.woocommerce p.stars a {
	color: var(--kp-amber);
}
span.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	bottom: auto;
	background: var(--kp-orange);
	color: #fff;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-size: 10.5px;
	border-radius: 6px;
	padding: 5px 10px;
	min-width: 0;
	min-height: 0;
	line-height: 1.4;
	margin: 0;
	z-index: 2;
}

/* ---------- Single product page (matches Product.dc.html) ---------- */
.single-product .product_title {
	font-family: Montserrat, sans-serif;
	font-weight: 800;
	font-size: 36px;
	letter-spacing: -1px;
	color: var(--kp-navy);
}
.single-product div.product .summary .price {
	color: var(--kp-teal);
	font-family: Montserrat, sans-serif;
	font-weight: 800;
	font-size: 32px;
}
.single-product div.product .summary .price del {
	color: var(--kp-gray);
	font-size: 18px;
	font-weight: 400;
	opacity: 1;
}
.single-product div.product .summary .price ins {
	text-decoration: none;
}
.kp-save {
	display: inline-block;
	vertical-align: middle;
	background: #ffe9df;
	color: var(--kp-orange-dark);
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 12px;
	padding: 5px 10px;
	border-radius: 6px;
	margin-left: 6px;
}
.single-product .woocommerce-product-details__short-description {
	color: var(--kp-gray);
	font-size: 15px;
	line-height: 1.75;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__wrapper {
	border-radius: 20px;
	overflow: hidden;
}
.single-product .stock.in-stock {
	color: var(--kp-teal);
	font-weight: 700;
	font-size: 13px;
}
.single-product .stock.in-stock::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--kp-teal);
	margin-right: 6px;
}
.single-product form.cart .qty,
.single-product form.cart .quantity {
	border-radius: 10px;
}
.single-product form.cart button.single_add_to_cart_button {
	font-size: 15px;
	padding-top: 15px;
	padding-bottom: 15px;
	border-radius: 10px;
}

/* Buy Now + WhatsApp row */
.kp-buy-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 14px;
}
.kp-buy-row a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 15px;
	border-radius: 10px;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: #fff !important;
	text-decoration: none;
}
.kp-btn-buynow {
	background: var(--kp-orange);
}
.kp-btn-buynow:hover {
	background: var(--kp-orange-dark);
}
.kp-btn-wa {
	background: #25d366;
}
.kp-btn-wa:hover {
	background: #1ebe5a;
}

/* Delivery / COD dashed box */
.kp-delivery-box {
	border: 1.5px dashed var(--kp-teal);
	border-radius: 12px;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #f0f8f7;
	margin-top: 14px;
	font-size: 13.5px;
	color: var(--kp-navy);
}

/* Trust badges row */
.kp-trust-row {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	margin-top: 12px;
	color: var(--kp-gray);
	font-size: 12.5px;
	font-weight: 600;
}
.kp-trust-row i {
	color: var(--kp-teal);
	font-style: normal;
	margin-right: 4px;
}

/* ---------- WhatsApp float ---------- */
.kp-whatsapp-float {
	position: fixed;
	right: 26px;
	bottom: 26px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25d366;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	z-index: 99;
}

/* ---------- Announcement bar ---------- */
.kp-topbar {
	background: var(--kp-navy);
	color: var(--kp-cream);
	text-align: center;
	padding: 9px 20px;
	font-size: 12.5px;
	letter-spacing: 0.4px;
	font-weight: 500;
}
.kp-topbar b {
	color: var(--kp-amber);
	font-weight: 700;
}

/* ---------- Global typography ---------- */
body,
button,
input,
select,
textarea {
	font-family: 'Open Sans', sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6,
.site-title {
	font-family: Montserrat, sans-serif;
}

/* ---------- Footer ---------- */
.ct-footer {
	background: var(--kp-navy) !important;
	color: rgba(253, 248, 244, 0.7);
	font-size: 13.5px;
}
.ct-footer [data-row],
.ct-footer [data-row] > div {
	background: transparent !important;
}
.ct-footer [data-row='top'] {
	background: var(--kp-teal) !important;
}
.ct-footer [data-row='top'] p,
.ct-footer [data-row='top'] h3 {
	color: rgba(253, 248, 244, 0.85);
}
.ct-footer [data-row='top'] h3.kp-newsletter-title {
	color: var(--kp-cream);
	font-size: 24px;
	text-transform: none;
	letter-spacing: -0.5px;
}
.ct-footer h3 {
	color: var(--kp-amber);
	font-size: 13px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	font-weight: 700;
}
.ct-footer p,
.ct-footer li,
.ct-footer .ct-copyright {
	color: rgba(253, 248, 244, 0.7);
}
.ct-footer strong {
	color: var(--kp-cream);
}
.ct-footer a {
	color: rgba(253, 248, 244, 0.7) !important;
	--theme-link-initial-color: rgba(253, 248, 244, 0.7);
	--theme-link-hover-color: #fdf8f4;
}
.ct-footer a:hover {
	color: var(--kp-cream) !important;
}
.ct-footer ul {
	list-style: none;
	padding-left: 0;
}
.ct-footer li {
	margin-bottom: 10px;
}
.ct-footer [data-row='bottom'] {
	border-top: 1px solid rgba(253, 248, 244, 0.12);
	font-size: 12.5px;
}
.ct-footer .ct-footer-copyright {
	color: rgba(253, 248, 244, 0.65);
}
.ct-footer .wpcf7 p {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0;
}
.ct-footer .wpcf7 input[type='email'] {
	background: var(--kp-cream);
	border: none;
	width: 300px;
	max-width: 100%;
}
.ct-footer .wpcf7 input[type='submit'] {
	background: var(--kp-orange);
	padding: 15px 28px;
}
.ct-footer .wpcf7 input[type='submit']:hover {
	background: var(--kp-orange-dark);
}

/* Payment badges in footer */
.kp-pay-badge {
	border: 1px solid rgba(253, 248, 244, 0.25);
	border-radius: 6px;
	padding: 5px 12px;
	font-size: 11.5px;
	font-weight: 700;
	font-family: Montserrat, sans-serif;
	display: inline-block;
}
