/*
Theme Name: SIKAKA
Theme URI: https://example.com/sikaka
Author: SIKAKA Team
Author URI: https://example.com
Description: A calm, cream-toned lighting store theme for WooCommerce. The theme owns the shell and the design system; layouts and copy live in the builder; WooCommerce core owns the checkout. Zero database writes on activation.
Version: 1.0.11
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sikaka
Tags: e-commerce, light, minimal, custom-colors, custom-logo, custom-menu
*/

/* =========================================================
   SIKAKA — PART 1 · DESIGN TOKENS
   The stylesheet only reads the variables. The live values
   are printed by functions.php (sikaka_css_vars) from the
   Customizer, so one field restyles the whole site.
   Everything below is the FALLBACK when the inline block
   has not printed yet.
   ======================================================= */
:root {
	--sk-black: #111111;
	--sk-dark: #1a1a1a;
	--sk-gray: #666666;
	--sk-light: #999999;
	--sk-border: #ebebeb;
	--sk-bg: #faf9f7;
	--sk-card: #f5f3ef;
	--sk-white: #ffffff;
	--sk-accent-warm: #8a7a64;
	--sk-star: #e8a838;
	--sk-new: #2d6a4f;
	--sk-sale: #c44536;
	--sk-radius: 12px;
	--sk-radius-lg: 16px;
	--sk-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	--sk-ease: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
	--sk-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--sk-logo-h: 48px;
}

/* =========================================================
   PART 2 · BASE
   ======================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--sk-sans);
	color: var(--sk-dark);
	background: var(--sk-white);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
p { margin: 0 0 1em; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font-family: inherit; }
button { cursor: pointer; border: none; background: none; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.5em; font-weight: 400; line-height: 1.25; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto;
	left: 6px; top: 6px; padding: 10px 16px; background: var(--sk-black);
	color: var(--sk-white); z-index: 100000; position: fixed !important;
}
.sikaka-hp { position: absolute !important; left: -9999px; height: 1px; width: 1px; overflow: hidden; }

/* Content alignment (block editor) */
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.alignwide { max-width: 1200px; margin-left: auto; margin-right: auto; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 12.5px; color: var(--sk-light); padding: 8px 0; }

/* =========================================================
   PART 3 · SHELL — HEADER
   Markup: inc/shell.php (sikaka_site_header_html). The same
   DOM is what the [sikaka_site_header] shortcode returns, so
   the built-in header and an HFE header share this CSS.
   ======================================================= */
.sikaka-chrome { display: contents; }

body.sikaka-sticky-header .hdr {
	position: sticky;
	top: 0;
	z-index: 100;
}
body.admin-bar.sikaka-sticky-header .hdr { top: 32px; }

.hdr {
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--sk-border);
}
.hdr-rule { display: none; }

.mast { padding: 0 40px; }
.mast-in {
	max-width: 1400px; margin: 0 auto;
	min-height: 76px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
}

/* Left navigation */
.brand { grid-column: 1; justify-self: start; }
#site-nav {
	grid-column: 1; justify-self: start;
	display: flex; gap: 26px; font-size: 13.5px;
}
#site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; }
#site-nav li { margin: 0; }
#site-nav a {
	position: relative; padding: 4px 0;
	transition: color var(--sk-ease);
	color: var(--sk-dark);
}
#site-nav a:hover { color: var(--sk-gray); }
#site-nav .current-menu-item > a::after,
#site-nav .current_page_item > a::after {
	content: ""; position: absolute; bottom: -2px; left: 0;
	width: 100%; height: 1.5px; background: var(--sk-black);
}

/* Centred wordmark — logo in the middle column of the grid */
.mast-in > .brand { grid-column: 2; justify-self: center; order: 2; }
.mast-in > #site-nav { order: 1; }
.mast-in > .rt { order: 3; }

/* Wordmark */
.brand .mark,
.ftr-brand .mark {
	display: block;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--sk-dark);
	text-align: center;
}
.brand .mark { white-space: nowrap; }
.brand .sub,
.ftr-brand .sub {
	display: block;
	font-size: 7px;
	letter-spacing: 0.2em;
	color: var(--sk-light);
	margin-top: -1px;
	text-align: center;
	text-transform: uppercase;
}
.brand .custom-logo-link img { width: auto; height: var(--sk-logo-h); }

/* Right tools */
.rt { justify-self: end; display: flex; align-items: center; gap: 16px; }
.sikaka-tools { display: flex; align-items: center; gap: 16px; }
.sikaka-tools a { display: inline-flex; align-items: center; transition: opacity var(--sk-ease); }
.sikaka-tools a:hover { opacity: 0.5; }
.sikaka-tools svg {
	width: 19px; height: 19px;
	stroke: var(--sk-dark); fill: none;
	stroke-width: 1.5;
}
.cart-wrap { position: relative; display: inline-flex; }
.cartpill {
	position: absolute; top: -7px; right: -9px;
	background: var(--sk-black); color: var(--sk-white);
	font-size: 10px; line-height: 1;
	width: 15px; height: 15px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-weight: 500;
}

/* Header search — icon collapses into a dropdown field */
.sikaka-search { position: relative; display: inline-flex; align-items: center; }
.sikaka-search-field {
	width: 0; padding: 0; border: 0; border-radius: 20px;
	font-size: 12.5px; background: var(--sk-card);
	transition: width var(--sk-ease), padding var(--sk-ease);
	opacity: 0;
}
.sikaka-search.is-open .sikaka-search-field {
	width: 180px; padding: 8px 14px; opacity: 1; margin-right: 8px;
}
.sikaka-search.is-open .sikaka-search-field:focus { outline: none; }
.sikaka-search-btn { display: inline-flex; align-items: center; gap: 6px; }
.sikaka-search-btn svg { width: 19px; height: 19px; stroke: var(--sk-dark); fill: none; stroke-width: 1.5; }
.sikaka-search-btn:hover { opacity: 0.5; }
.sikaka-search-label { display: none; }

/* Burger (mobile) */
.burger {
	display: none;
	flex-direction: column; justify-content: center; gap: 4px;
	width: 34px; height: 34px; padding: 6px;
}
.burger span { display: block; height: 1.5px; width: 100%; background: var(--sk-dark); }

/* =========================================================
   PART 4 · BUTTONS (design: pill, black on cream)
   ======================================================= */
.sk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	background: var(--sk-black); color: var(--sk-white);
	font-size: 12.5px; font-weight: 500; letter-spacing: 0.04em;
	padding: 11px 24px; border-radius: 28px;
	transition: background var(--sk-ease), transform 0.2s, box-shadow var(--sk-ease), color var(--sk-ease);
	text-align: center;
}
.sk-btn:hover { background: #333333; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); color: var(--sk-white); }
.sk-btn--outline { background: transparent; border: 1.5px solid var(--sk-white); color: var(--sk-white); }
.sk-btn--outline:hover { background: var(--sk-white); color: var(--sk-black); box-shadow: none; }
.sk-btn--ghost { background: transparent; border: 1.5px solid var(--sk-black); color: var(--sk-black); }
.sk-btn--ghost:hover { background: var(--sk-black); color: var(--sk-white); }
.sk-btn--sm { padding: 8px 18px; font-size: 11.5px; }
.sk-btn--lg { padding: 14px 32px; font-size: 13.5px; }

/* =========================================================
   PART 5 · PAGE HEADER & BREADCRUMB
   ======================================================= */
.sk-page-header { text-align: center; padding: 72px 40px 20px; }
.sk-page-header h1 { font-size: 36px; font-weight: 400; letter-spacing: -0.02em; margin-bottom: 10px; }
.sk-page-header p { font-size: 14.5px; color: var(--sk-gray); max-width: 480px; margin: 0 auto; }
.sk-breadcrumb { font-size: 12.5px; color: var(--sk-light); margin-bottom: 8px; }
.sk-breadcrumb a:hover { color: var(--sk-dark); }

/* =========================================================
   PART 6 · HOME SECTIONS
   ======================================================= */
.sk-section { max-width: 1200px; margin: 0 auto; padding: 80px 40px; }
.sk-section--tight { padding-top: 0; }
.sk-section-label {
	font-size: 11.5px; font-weight: 500; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--sk-light);
	text-align: center; margin-bottom: 40px;
}
.sk-section-head {
	display: flex; justify-content: space-between; align-items: flex-end;
	margin-bottom: 32px;
}
.sk-section-head h2 { font-size: 24px; font-weight: 400; letter-spacing: -0.015em; margin: 0; }
.sk-section-head a {
	font-size: 13px; color: var(--sk-gray);
	border-bottom: 1px solid var(--sk-border); padding-bottom: 2px;
	transition: color var(--sk-ease);
}
.sk-section-head a:hover { color: var(--sk-black); }

/* Hero */
.sk-hero {
	min-height: 620px; height: 72vh; max-height: 760px;
	background: linear-gradient(145deg, #f3ede4 0%, #e8dfd0 45%, #d9cebc 100%);
	display: flex; align-items: center; justify-content: center;
	position: relative; overflow: hidden;
}
.sk-hero-inner {
	display: flex; align-items: center; gap: 64px;
	max-width: 1140px; padding: 0 40px; width: 100%;
}
.sk-hero-text { flex: 1; }
.sk-eyebrow {
	font-size: 11px; font-weight: 500; letter-spacing: 0.18em;
	text-transform: uppercase; color: var(--sk-accent-warm); margin-bottom: 14px;
}
.sk-hero-text h1 {
	font-size: 44px; font-weight: 400; letter-spacing: -0.025em;
	line-height: 1.18; margin-bottom: 16px; color: var(--sk-dark);
}
.sk-hero-text p { font-size: 15px; color: #5a5045; margin-bottom: 32px; max-width: 340px; line-height: 1.65; }
.sk-hero-visual {
	flex: 1.15; height: 400px;
	background: var(--sk-white); border-radius: var(--sk-radius-lg);
	box-shadow: 0 32px 64px rgba(0, 0, 0, 0.1);
	display: flex; align-items: center; justify-content: center;
	position: relative; overflow: hidden;
}
.sk-hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.sk-pendant {
	width: 72px; height: 94px; border-radius: 50% 50% 44% 44%;
	background: linear-gradient(165deg, #d4b48c 0%, #b08050 55%, #8b6914 100%);
	opacity: 0.9; position: absolute;
	box-shadow: inset 0 -12px 24px rgba(0, 0, 0, 0.12);
}
.sk-pendant::after {
	content: ""; position: absolute; top: -48px; left: 50%;
	width: 1.5px; height: 48px; background: #2a2a2a; transform: translateX(-50%);
}
.sk-pendant::before {
	content: ""; position: absolute; bottom: 20px; left: 50%;
	width: 20px; height: 20px; border-radius: 50%;
	background: radial-gradient(circle, #ffe9a0 0%, #f0c040 70%);
	transform: translateX(-50%);
	box-shadow: 0 0 24px 10px rgba(255, 220, 100, 0.35);
}
.sk-p1 { left: 16%; top: 70px; transform: scale(0.8); opacity: 0.75; }
.sk-p2 { left: 36%; top: 36px; }
.sk-p3 { left: 54%; top: 58px; transform: scale(0.92); }
.sk-p4 { left: 71%; top: 28px; transform: scale(1.08); }

/* Category (scene) cards */
.sk-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.sk-cat-card {
	border-radius: var(--sk-radius); overflow: hidden;
	transition: transform var(--sk-ease), box-shadow var(--sk-ease);
	background: var(--sk-card); aspect-ratio: 5/4;
	position: relative; display: block;
}
.sk-cat-card:hover { transform: translateY(-6px); box-shadow: var(--sk-shadow); }
.sk-cat-bg {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	font-size: 52px; transition: transform 0.5s;
	background-size: cover; background-position: center;
}
.sk-cat-bg img { width: 100%; height: 100%; object-fit: cover; }
.sk-cat-card:hover .sk-cat-bg { transform: scale(1.06); }
.sk-cat-overlay {
	position: absolute; bottom: 0; left: 0; right: 0;
	padding: 24px 20px 20px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent);
	color: var(--sk-white);
}
.sk-cat-overlay h3 { font-size: 16px; font-weight: 500; margin-bottom: 10px; }

/* Banner CTA */
.sk-banner {
	margin: 0 40px 80px; border-radius: var(--sk-radius-lg); overflow: hidden;
	height: 300px;
	background: linear-gradient(125deg, #2a2a2a 0%, #1a1a1a 100%);
	display: flex; align-items: center; justify-content: center;
	text-align: center; color: var(--sk-white); position: relative;
}
.sk-banner::before {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(circle at 25% 50%, rgba(200, 160, 80, 0.12), transparent 55%);
}
.sk-banner-content { position: relative; z-index: 1; padding: 0 24px; }
.sk-banner-content h2 { font-size: 30px; font-weight: 400; margin-bottom: 12px; }
.sk-banner-content p { font-size: 14px; opacity: 0.78; max-width: 360px; margin: 0 auto 24px; }

/* Feature trio */
.sk-features {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: 28px; max-width: 900px; margin: 0 auto 88px; padding: 0 40px;
	text-align: center;
}
.sk-feat-icon {
	width: 48px; height: 48px; margin: 0 auto 14px;
	border: 1px solid var(--sk-border); border-radius: 50%;
	display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.sk-feat h4 { font-size: 13.5px; font-weight: 500; margin-bottom: 6px; }
.sk-feat p { font-size: 12.5px; color: var(--sk-gray); margin: 0; }

/* Split story */
.sk-split {
	max-width: 1200px; margin: 0 auto 80px; padding: 0 40px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
	align-items: center;
}
.sk-split-visual {
	aspect-ratio: 4/3; border-radius: var(--sk-radius-lg);
	background: linear-gradient(145deg, #e8dfd0, #d0c4ae);
	display: flex; align-items: center; justify-content: center;
	font-size: 80px; overflow: hidden;
}
.sk-split-visual img { width: 100%; height: 100%; object-fit: cover; }
.sk-split-text h2 { font-size: 28px; font-weight: 400; letter-spacing: -0.02em; margin-bottom: 14px; line-height: 1.3; }
.sk-split-text p { font-size: 14.5px; color: var(--sk-gray); line-height: 1.75; margin-bottom: 24px; }

/* Testimonials */
.sk-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; }
.sk-testimonial { background: var(--sk-bg); border-radius: var(--sk-radius); padding: 28px 24px; }
.sk-testimonial .sk-stars { color: var(--sk-star); font-size: 13px; margin-bottom: 12px; letter-spacing: 1px; }
.sk-testimonial p { font-size: 13.5px; color: #555555; line-height: 1.7; margin-bottom: 16px; }
.sk-testimonial .sk-author { font-size: 12.5px; font-weight: 500; color: var(--sk-dark); }
.sk-testimonial .sk-author span { font-weight: 400; color: var(--sk-light); }

/* Instagram wall */
.sk-insta-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; max-width: 1100px; margin: 0 auto 20px; }
.sk-insta-item {
	aspect-ratio: 1; border-radius: 8px;
	background: var(--sk-card); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	font-size: 28px;
	transition: transform var(--sk-ease), opacity var(--sk-ease);
}
.sk-insta-item img { width: 100%; height: 100%; object-fit: cover; }
.sk-insta-item:hover { transform: scale(1.03); opacity: 0.85; }
.sk-insta-fine { text-align: center; font-size: 13px; color: var(--sk-light); margin: 16px 0 0; }

/* Newsletter (home) */
.sk-newsletter { max-width: 640px; margin: 0 auto 80px; padding: 0 40px; text-align: center; }
.sk-newsletter h2 { font-size: 26px; font-weight: 400; margin-bottom: 10px; }
.sk-newsletter p { font-size: 14px; color: var(--sk-gray); margin-bottom: 24px; }
.sk-newsletter .join-form { display: flex; gap: 10px; max-width: 440px; margin: 0 auto; }
.sk-newsletter .join-form input[type="email"] {
	flex: 1; padding: 13px 18px; border: 1.5px solid var(--sk-border);
	border-radius: 28px; font-size: 13.5px; background: var(--sk-white);
	min-width: 0;
}
.sk-newsletter .join-form input[type="email"]:focus { outline: none; border-color: var(--sk-black); }
.sk-ok, .sk-err {
	font-size: 13px; padding: 10px 16px; border-radius: 10px; margin-bottom: 14px;
}
.sk-ok { background: #eef7f1; color: var(--sk-new); }
.sk-err { background: #fdf0ee; color: var(--sk-sale); }

/* =========================================================
   PART 7 · PRODUCT CARDS (design grid, 4-up)
   ======================================================= */
.sk-prod-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.sk-prod-card { transition: transform var(--sk-ease); }
.sk-prod-card:hover { transform: translateY(-5px); }
.sk-prod-img {
	width: 100%; aspect-ratio: 1; border-radius: var(--sk-radius);
	background: var(--sk-card); margin-bottom: 14px;
	display: flex; align-items: center; justify-content: center;
	font-size: 42px; position: relative; overflow: hidden;
	transition: background var(--sk-ease);
}
.sk-prod-img img { width: 100%; height: 100%; object-fit: cover; }
.sk-prod-card:hover .sk-prod-img { background: #ebe7e0; }
.sk-badge {
	position: absolute; top: 12px; left: 12px;
	background: var(--sk-black); color: var(--sk-white);
	font-size: 10px; font-weight: 500; letter-spacing: 0.04em;
	padding: 4px 10px; border-radius: 20px; z-index: 1;
}
.sk-badge--new { background: var(--sk-new); }
.sk-badge--sale { background: var(--sk-sale); }
.sk-prod-actions {
	position: absolute; bottom: 12px; right: 12px;
	display: flex; gap: 6px; opacity: 0; transform: translateY(8px);
	transition: all var(--sk-ease); z-index: 1;
}
.sk-prod-card:hover .sk-prod-actions { opacity: 1; transform: translateY(0); }
.sk-prod-actions a, .sk-prod-actions button {
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--sk-white); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	display: flex; align-items: center; justify-content: center;
	font-size: 14px; transition: transform 0.2s; color: var(--sk-dark);
}
.sk-prod-actions a:hover, .sk-prod-actions button:hover { transform: scale(1.1); }
.sk-prod-card h4, .sk-prod-card .sk-prod-title {
	font-size: 13.5px; font-weight: 500; margin: 0 0 4px;
}
.sk-prod-card h4 a, .sk-prod-card .sk-prod-title a { color: inherit; }
.sk-price { font-size: 13px; color: var(--sk-gray); display: flex; align-items: center; gap: 8px; }
.sk-price .sk-old { text-decoration: line-through; color: var(--sk-light); font-size: 12px; }
.sk-price .sk-current { color: var(--sk-dark); font-weight: 500; }

/* Shop toolbar (result count + filter dropdowns + ordering) */
.sk-toolbar {
	display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
	margin: 26px 0 12px; padding: 14px 0;
	border-top: 1px solid var(--sk-border); border-bottom: 1px solid var(--sk-border);
}
.sk-toolbar .woocommerce-notices-wrapper ~ * { margin: 0; }
.sk-toolbar .woocommerce-result-count {
	order: 1; margin: 0; font-size: 13px; color: var(--sk-gray);
	letter-spacing: 0.02em;
}
.sk-toolbar .woocommerce-ordering { order: 3; margin: 0; }
.sk-toolbar .woocommerce-ordering select {
	appearance: none; -webkit-appearance: none;
	padding: 8px 34px 8px 16px; border-radius: 999px; border: 1px solid var(--sk-border);
	font-size: 13px; color: var(--sk-dark); background: var(--sk-white);
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 13px center;
	transition: border-color var(--sk-ease);
}
.sk-toolbar .woocommerce-ordering select:hover,
.sk-toolbar .woocommerce-ordering select:focus { outline: none; border-color: var(--sk-black); }

/* Filter dropdowns (Category / Price) — markup from inc/woo-templates.php */
.sk-filters { order: 2; display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-start; margin-left: auto; position: relative; }
.sk-filter { position: relative; }
.sk-filter-btn {
	display: inline-flex; align-items: center; gap: 9px;
	padding: 8px 15px; border-radius: 999px;
	border: 1px solid var(--sk-border); background: var(--sk-white);
	font-family: inherit; font-size: 13px; color: var(--sk-dark);
	cursor: pointer;
	transition: border-color var(--sk-ease), background var(--sk-ease), color var(--sk-ease);
}
.sk-filter-btn:hover { border-color: var(--sk-black); }
.sk-filter.is-open .sk-filter-btn {
	background: var(--sk-black); border-color: var(--sk-black); color: var(--sk-white);
}
.sk-filter-chev { flex: 0 0 auto; transition: transform 0.2s var(--sk-ease); }
.sk-filter.is-open .sk-filter-chev { transform: rotate(180deg); }
.sk-filter-panel {
	display: none; position: absolute; top: calc(100% + 8px); left: 0; z-index: 60;
	min-width: 236px; padding: 8px;
	background: var(--sk-white); border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius); box-shadow: var(--sk-shadow);
}
.sk-filter:last-child .sk-filter-panel { left: auto; right: 0; }
.sk-filter.is-open .sk-filter-panel { display: block; }
.sk-filters:not(.js-on) .sk-filter-panel {
	display: block; position: static; box-shadow: none;
	min-width: 0; padding: 0; margin-top: 4px;
}
.sk-filter-row {
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
	padding: 9px 12px; border-radius: 9px;
	font-size: 13px; color: var(--sk-dark); text-decoration: none;
	transition: background 0.15s;
}
.sk-filter-row:hover { background: var(--sk-bg); }
.sk-filter-row.is-child { padding-left: 26px; color: var(--sk-gray); }
.sk-filter-row.is-on { background: var(--sk-card); font-weight: 500; }
.sk-filter-row .c { font-size: 11px; color: var(--sk-light); font-variant-numeric: tabular-nums; }

/* =========================================================
   PART 8 · SINGLE PRODUCT (design PDP)
   ======================================================= */
.sk-pdp {
	max-width: 1100px; margin: 0 auto; padding: 48px 40px 80px;
	display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px;
}
.sk-pdp-gallery { display: flex; flex-direction: column; gap: 12px; }
.sk-pdp-main {
	width: 100%; aspect-ratio: 1; border-radius: var(--sk-radius-lg);
	background: var(--sk-card); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.sk-pdp-main img { width: 100%; height: 100%; object-fit: cover; }
.sk-pdp-thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.sk-pdp-thumb {
	width: 72px; height: 72px; border-radius: 10px;
	background: var(--sk-card); overflow: hidden;
	border: 2px solid transparent;
	transition: border-color var(--sk-ease);
}
.sk-pdp-thumb.is-on, .sk-pdp-thumb:hover { border-color: var(--sk-black); }
.sk-pdp-info .sk-breadcrumb { margin-bottom: 16px; }
.sk-pdp-info h1 { font-size: 28px; font-weight: 400; letter-spacing: -0.015em; margin-bottom: 10px; line-height: 1.25; }
.sk-pdp-rating { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--sk-gray); margin-bottom: 18px; }
.sk-pdp-rating .sk-stars { color: var(--sk-star); letter-spacing: 1px; }
.sk-pdp-price { font-size: 24px; font-weight: 500; margin-bottom: 6px; }
.sk-pdp-price del { font-size: 16px; color: var(--sk-light); margin-left: 10px; font-weight: 400; }
.sk-pdp-desc { font-size: 14px; color: var(--sk-gray); line-height: 1.7; margin: 20px 0 28px; padding-bottom: 28px; border-bottom: 1px solid var(--sk-border); }
.sk-pdp-options { margin-bottom: 24px; }
.sk-pdp-options label { display: block; font-size: 12.5px; font-weight: 500; margin-bottom: 10px; letter-spacing: 0.03em; }
.sk-option-row { display: flex; gap: 8px; flex-wrap: wrap; }
.sk-option-chip {
	padding: 8px 16px; border-radius: 22px;
	border: 1.5px solid var(--sk-border); font-size: 12.5px;
	transition: all var(--sk-ease); cursor: pointer; background: var(--sk-white);
}
.sk-option-chip:hover, .sk-option-chip.is-on { border-color: var(--sk-black); background: var(--sk-black); color: var(--sk-white); }
.sk-qty-row { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.sk-qty {
	display: inline-flex; align-items: center;
	border: 1.5px solid var(--sk-border); border-radius: 28px; overflow: hidden;
}
.sk-qty button { width: 40px; height: 40px; font-size: 16px; color: var(--sk-dark); transition: background 0.2s; }
.sk-qty button:hover { background: var(--sk-card); }
.sk-qty input.qty {
	width: 44px; text-align: center; font-size: 14px; font-weight: 500;
	border: 0; padding: 0; margin: 0; height: 40px;
	background: transparent; -moz-appearance: textfield; appearance: textfield;
}
.sk-qty input.qty::-webkit-outer-spin-button,
.sk-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sk-pdp-actions { display: flex; gap: 12px; margin-bottom: 32px; flex-wrap: wrap; }
.sk-pdp-actions .sk-btn, .sk-pdp-actions .button { flex: 1; min-width: 160px; }
.sk-pdp-meta { font-size: 12.5px; color: var(--sk-light); display: flex; flex-direction: column; gap: 6px; }
.sk-pdp-meta span { color: var(--sk-gray); }
.sk-stock-in { color: var(--sk-new); }

/* =========================================================
   PART 9 · ABOUT / CONTACT
   ======================================================= */
.sk-about-text { max-width: 700px; margin: 0 auto; text-align: center; }
.sk-about-text p { font-size: 14.5px; color: #555555; line-height: 1.8; margin-bottom: 16px; }
.sk-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 56px; text-align: center; }
.sk-stats h3 { font-size: 32px; font-weight: 400; margin-bottom: 4px; }
.sk-stats p { font-size: 12.5px; color: var(--sk-light); margin: 0; }

.sk-contact-wrap {
	display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px;
	max-width: 920px; margin: 0 auto;
}
.sk-contact-info h3 { font-size: 16px; font-weight: 500; margin-bottom: 20px; }
.sk-contact-info p { font-size: 13.5px; color: #555555; margin-bottom: 14px; line-height: 1.7; }
.sk-contact-fine { margin-top: 20px; color: var(--sk-light); font-size: 12.5px; }

.sk-form label {
	display: block; font-size: 12.5px; font-weight: 500;
	margin-bottom: 5px; color: #333333;
}
.sk-form input, .sk-form textarea {
	width: 100%; padding: 12px 14px; border: 1.5px solid var(--sk-border);
	border-radius: 10px; font-size: 13.5px; margin-bottom: 14px;
	background: var(--sk-white); transition: border-color var(--sk-ease);
}
.sk-form input:focus, .sk-form textarea:focus { outline: none; border-color: var(--sk-black); }
.sk-form textarea { min-height: 120px; resize: vertical; }

/* =========================================================
   PART 10 · SHELL — FOOTER
   ======================================================= */
.ftr {
	background: var(--sk-bg); border-top: 1px solid var(--sk-border);
	padding: 60px 40px 36px;
}
.ftr-in { max-width: 1120px; margin: 0 auto; }
.ftr-top {
	margin-bottom: 40px;
	display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px;
}
.ftr h5 {
	font-size: 11px; font-weight: 600; letter-spacing: 0.12em;
	text-transform: uppercase; margin: 0 0 16px; color: #333333;
}
.ftr ul { list-style: none; margin: 0; padding: 0; }
.ftr li { margin-bottom: 8px; }
.ftr a { font-size: 12.5px; color: var(--sk-gray); transition: color var(--sk-ease); }
.ftr a:hover { color: var(--sk-black); }
.ftr-brand p { font-size: 12.5px; color: var(--sk-gray); line-height: 1.7; margin-bottom: 12px; }
.ftr-brand .custom-logo-link img { width: auto; height: var(--sk-logo-h); margin-bottom: 10px; }
.ftr-social-row { display: flex; gap: 12px; }
.ftr-social-row a {
	width: 34px; height: 34px; border: 1px solid #dddddd; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 13px; color: var(--sk-gray);
}
.ftr-social-row a:hover { border-color: var(--sk-black); color: var(--sk-black); }
.ftr-social-note { font-size: 12.5px; color: var(--sk-gray); margin-bottom: 14px; }
.ftr-bot {
	padding-top: 24px; border-top: 1px solid var(--sk-border);
	display: flex; justify-content: space-between; align-items: center;
	font-size: 11.5px; color: #aaaaaa; flex-wrap: wrap; gap: 10px;
}
.ftr-bot a { color: #aaaaaa; }
.ftr-bot a:hover { color: var(--sk-black); }
.ftr-links { display: flex; gap: 18px; flex-wrap: wrap; }

/* Widget slots (opt-in takeovers keep the box) */
.sikaka-wslot { min-width: 0; }

/* =========================================================
   PART 11 · RESPONSIVE
   ======================================================= */
@media (max-width: 960px) {
	#site-nav {
		display: none;
		position: absolute; left: 0; right: 0; top: 100%;
		background: var(--sk-white); border-bottom: 1px solid var(--sk-border);
		padding: 16px 40px 20px;
		box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
	}
	#site-nav.is-open { display: block; }
	#site-nav ul { flex-direction: column; gap: 4px; }
	#site-nav a { display: block; padding: 10px 0; }
	body.admin-bar #site-nav { top: calc(100% + 0px); }
	.burger { display: inline-flex; }
	.mast { padding: 0 20px; }
	.mast-in { grid-template-columns: auto 1fr auto; min-height: 64px; gap: 12px; }
	.mast-in > .brand { grid-column: auto; order: 1; justify-self: start; text-align: left; }
	.mast-in > .brand .mark, .mast-in > .brand .sub { text-align: left; }
	.mast-in > #site-nav { order: 3; }
	.mast-in > .rt { order: 2; justify-self: end; }
	.sk-cat-grid, .sk-prod-grid, .sk-testimonial-grid { grid-template-columns: 1fr 1fr; }
	.sk-features, .sk-stats, .sk-contact-wrap, .sk-pdp, .sk-split { grid-template-columns: 1fr; }
	.ftr-top { grid-template-columns: 1fr 1fr; }
	.sk-hero-inner { flex-direction: column; text-align: center; gap: 36px; }
	.sk-hero { min-height: 0; height: auto; padding: 56px 0; }
	.sk-hero-text p { margin-left: auto; margin-right: auto; }
	.sk-hero-visual { width: 100%; height: 280px; }
	.sk-pdp { gap: 32px; }
	.sk-insta-grid { grid-template-columns: repeat(3, 1fr); }
	body.admin-bar.sikaka-sticky-header .hdr { top: 46px; }
}
@media (max-width: 600px) {
	.sk-cat-grid, .sk-prod-grid, .sk-testimonial-grid { grid-template-columns: 1fr; }
	.sk-section { padding: 48px 20px; }
	.sk-page-header { padding: 48px 20px 16px; }
	.sk-banner { margin: 0 20px 48px; }
	.sk-features { padding: 0 20px; }
	.sk-split { padding: 0 20px; }
	.sk-newsletter { padding: 0 20px; }
	.sk-insta-grid { grid-template-columns: repeat(2, 1fr); }
	.ftr { padding: 48px 20px 28px; }
	.ftr-top { grid-template-columns: 1fr; gap: 28px; }
	.ftr-bot { flex-direction: column; align-items: flex-start; }
	.sk-pdp { padding: 32px 20px 56px; }
	.sk-newsletter .join-form { flex-direction: column; }
}

/* =========================================================
   PART 12 · MISC PLATE (Elementor container gap resets live
   in inc/elementor-compat.php territory; nothing hardcoded
   here may fight the builder — this file styles the SHELL
   and the design components only.)
   ======================================================= */
.sikaka-classic:empty { display: none; }

/* Contact form button + slot */
.sk-form-slot { max-width: 100%; }
.sk-form .sk-form-send { width: 100%; padding: 14px; }

/* =========================================================
   PART 13 · CONTENT TEMPLATES (page / blog / search / 404)
   The built-in templates speak these classes through
   inc/template-tags.php. Restyled to the design language.
   ======================================================= */
.sikaka-shophead { text-align: center; padding: 72px 40px 20px; }
.sikaka-shophead .in { max-width: 760px; margin: 0 auto; }
.sikaka-shophead h1 { font-size: 36px; font-weight: 400; letter-spacing: -0.02em; margin-bottom: 10px; }
.sikaka-shophead p { font-size: 14.5px; color: var(--sk-gray); max-width: 480px; margin: 0 auto 0; }

.crumb {
	font-size: 12.5px; color: var(--sk-light);
	margin-bottom: 8px; text-align: center;
}
.crumb a { color: var(--sk-light); }
.crumb a:hover { color: var(--sk-dark); }
.crumb .sep { margin: 0 6px; }
.crumb .here { color: var(--sk-light); }
.crumb--left { text-align: left; margin-bottom: 24px; }
.crumb--left a, .crumb--left .here, .crumb--left .sep { color: var(--sk-light); }

.sikaka-item {
	border-bottom: 1px solid var(--sk-border);
	margin-bottom: 32px;
}
.sikaka-item a { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; }
.sikaka-item .sikaka-ph {
	aspect-ratio: 4/3; border-radius: var(--sk-radius);
	background: var(--sk-card); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.sikaka-item .sikaka-ph img { width: 100%; height: 100%; object-fit: cover; }
.sikaka-item .txt { display: block; }
.sikaka-item .meta { font-size: 11px; letter-spacing: 0.12em; color: var(--sk-light); display: block; margin-bottom: 8px; }
.sikaka-item h2 { font-size: 22px; font-weight: 400; margin-bottom: 6px; }
.sikaka-item p { font-size: 13.5px; color: var(--sk-gray); margin-bottom: 10px; }
.sikaka-item .more {
	font-size: 12.5px; color: var(--sk-dark);
	border-bottom: 1px solid var(--sk-black); padding-bottom: 2px;
}
@media (max-width: 600px) {
	.sikaka-shophead { padding: 48px 20px 16px; }
	.sikaka-item a { grid-template-columns: 1fr; gap: 14px; }
}

.sikaka-empty-note { font-size: 14px; color: var(--sk-gray); }
.sikaka-searchbox { max-width: 420px; margin: 20px 0 24px; }
.sikaka-searchbox input[type="search"],
.sikaka-searchbox .search-field {
	width: 100%; padding: 12px 16px; border: 1.5px solid var(--sk-border);
	border-radius: 28px; font-size: 13.5px;
}
.sikaka-searchbox input:focus { outline: none; border-color: var(--sk-black); }
.sikaka-searchbox .search-submit { position: absolute; left: -9999px; }

.sikaka-btn, .sikaka-btn--ink {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--sk-black); color: var(--sk-white);
	font-size: 12.5px; font-weight: 500; letter-spacing: 0.04em;
	padding: 11px 24px; border-radius: 28px;
	transition: background var(--sk-ease), transform 0.2s, box-shadow var(--sk-ease);
}
.sikaka-btn:hover { background: #333333; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); color: var(--sk-white); }

/* Pagination — one pill look for blog and shop listings alike */
.sikaka-paged, nav.pagination {
	margin: 44px 0 0; text-align: center;
}
.nav-links { display: inline-flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.nav-links .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 14px;
	border: 1px solid var(--sk-border); border-radius: 999px;
	background: var(--sk-white);
	font-size: 13px; color: var(--sk-gray);
	transition: border-color var(--sk-ease), background var(--sk-ease),
		color var(--sk-ease), transform 0.2s, box-shadow var(--sk-ease);
}
.nav-links span.page-numbers.dots {
	border: none; background: none; min-width: 24px; padding: 0;
}
.nav-links .page-numbers.current {
	background: var(--sk-black); border-color: var(--sk-black); color: var(--sk-white);
	font-weight: 500;
}
.nav-links a.page-numbers:hover {
	border-color: var(--sk-black); color: var(--sk-black);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Comment form & single post body baseline */
.comment-form input:not([type="submit"]):not([type="checkbox"]),
.comment-form textarea {
	width: 100%; padding: 12px 14px; border: 1.5px solid var(--sk-border);
	border-radius: 10px; font-size: 13.5px; margin-bottom: 14px; background: var(--sk-white);
}
.comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--sk-black); }
.comment-form .submit {
	background: var(--sk-black); color: var(--sk-white);
	font-size: 12.5px; padding: 11px 24px; border-radius: 28px; border: none;
}
.entry-content a { text-decoration: underline; text-underline-offset: 2px; }

/* =========================================================
   PART 14 · CONTENT CONTAINERS
   ======================================================= */
.sikaka-shop-body {
	max-width: 1200px; margin: 0 auto; padding: 20px 40px 80px;
}
.sikaka-shopbody--grid { padding-top: 0; }
.sikaka-canvas { max-width: 1200px; }
.sikaka-canvas-wrap { /* Elementor owns its own widths */ }
.sikaka-list { display: flex; flex-direction: column; }
.sikaka-entry { }
.sikaka-pagelinks { margin: 24px 0 0; font-size: 13px; color: var(--sk-gray); }

/* =========================================================
   PART 15 · WOOCOMMERCE SKIN
   Woo core styles are dequeued (functions.php, empty array).
   This layer IS the skin: Woo default markup, design look.
   Scope: everything sits under .woocommerce so the shell and
   Elementor widgets can never be touched.
   ======================================================= */

/* ---- notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info, .woocommerce-notices-wrapper .woocommerce-error {
	font-size: 13px; padding: 12px 18px; border-radius: 10px;
	margin: 0 0 20px; list-style: none; background: var(--sk-card);
	border: 1px solid var(--sk-border); color: var(--sk-dark);
}
.woocommerce-message { background: #eef7f1; border-color: #d5eadd; color: var(--sk-new); }
.woocommerce-error { background: #fdf0ee; border-color: #f3d5d0; color: var(--sk-sale); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { content: none; }
.woocommerce-notices-wrapper:empty { display: none; }

/* ---- archive: the loop ---- */
ul.products {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 24px; margin: 0; padding: 0;
	list-style: none;
	clear: both;
}
ul.products::before, ul.products::after { content: none; }
ul.products li.product {
	margin: 0; padding: 0; width: auto; float: none;
	position: relative;
	transition: transform var(--sk-ease);
	/* Owner request v1.0.6: name / price / button centred under the image. */
	text-align: center;
}
ul.products li.product:hover { transform: translateY(-5px); }
ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
ul.products li.product .onsale {
	position: absolute; top: 12px; left: 12px; z-index: 1;
	background: var(--sk-sale); color: var(--sk-white);
	font-size: 10px; font-weight: 500; letter-spacing: 0.04em;
	padding: 4px 10px; border-radius: 20px; margin: 0;
	min-height: 0; min-width: 0; line-height: 1.4;
}
ul.products li.product img {
	width: 100%; aspect-ratio: 1; object-fit: cover;
	border-radius: var(--sk-radius); margin: 0 0 14px;
	background: var(--sk-card);
}
ul.products li.product:hover img { background: #ebe7e0; }
ul.products li.product .woocommerce-loop-product__title {
	font-size: 13.5px; font-weight: 500; padding: 0; margin: 0 0 4px;
	color: var(--sk-dark);
}
ul.products li.product .woocommerce-loop-category__title { font-size: 13.5px; font-weight: 500; }
ul.products li.product .price {
	font-size: 13px; color: var(--sk-gray); margin: 0 0 10px;
}
ul.products li.product .price del { color: var(--sk-light); font-size: 12px; opacity: 1; }
ul.products li.product .price ins { text-decoration: none; color: var(--sk-dark); font-weight: 500; }
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--sk-black); color: var(--sk-white);
	font-size: 11.5px; font-weight: 500; letter-spacing: 0.04em;
	padding: 8px 18px; border-radius: 24px;
	transition: background var(--sk-ease), transform 0.2s;
}
ul.products li.product .button:hover {
	background: #333333; color: var(--sk-white); transform: translateY(-1px);
}
ul.products li.product .add_to_cart_button.loading { opacity: 0.6; }
ul.products li.product .added_to_cart {
	font-size: 11.5px; color: var(--sk-gray);
	border-bottom: 1px solid var(--sk-border); margin-left: 10px;
}
ul.products li.product .star-rating { margin: 0 auto 6px; }

/* ---- star ratings (unicode, no WC sprite) ---- */
.woocommerce .star-rating {
	font-size: 12px; height: 1em; line-height: 1; width: 5.4em;
	position: relative; overflow: hidden; color: var(--sk-star);
}
.woocommerce .star-rating::before {
	content: "★★★★★"; letter-spacing: 2px; color: #d8d2c8;
	float: left; top: 0; left: 0; position: absolute;
}
.woocommerce .star-rating span {
	position: absolute; top: 0; left: 0; float: left; overflow: hidden;
	padding-top: 0; color: var(--sk-star);
}
.woocommerce .star-rating span::before {
	content: "★★★★★"; letter-spacing: 2px; color: var(--sk-star);
}
.woocommerce p.stars a { color: var(--sk-star); }
.woocommerce p.stars a:hover { color: var(--sk-star); opacity: 0.8; }

/* ---- toolbar (result count + ordering) ---- */
.woocommerce .woocommerce-result-count { font-size: 13.5px; color: var(--sk-gray); margin: 0; }
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select {
	padding: 7px 14px; border-radius: 20px; border: 1px solid var(--sk-border);
	font-size: 12.5px; color: var(--sk-gray); background: var(--sk-white);
}

/* ---- pagination ---- */
.woocommerce nav.woocommerce-pagination { margin: 40px 0 0; text-align: center; }
.woocommerce nav.woocommerce-pagination ul {
	border: 0; display: inline-flex; gap: 8px; flex-wrap: wrap; justify-content: center;
	margin: 0; padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: 0; float: none; margin: 0; overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px; padding: 0 10px;
	border: 1px solid var(--sk-border); border-radius: 20px;
	font-size: 12.5px; color: var(--sk-gray); background: transparent;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--sk-black); border-color: var(--sk-black); color: var(--sk-white);
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--sk-black); color: var(--sk-black); background: transparent; }

/* ---- single product ---- */
.woocommerce div.product {
	max-width: 1100px; margin: 0 auto; padding: 24px 0 40px;
	position: relative;
	display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px;
}
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related.products,
.woocommerce div.product > .up-sells,
.woocommerce div.product > section.related {
	grid-column: 1 / -1;
}
.woocommerce div.product div.images {
	width: 100%; float: none; margin: 0;
}
.woocommerce div.product div.images img {
	width: 100%; border-radius: var(--sk-radius-lg); background: var(--sk-card);
}
.woocommerce div.product div.images .flex-viewport {
	border-radius: var(--sk-radius-lg); overflow: hidden;
	margin-bottom: 12px; background: var(--sk-card);
}
.woocommerce div.product div.images ol.flex-control-thumbs {
	display: flex; gap: 10px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none;
}
.woocommerce div.product div.images ol.flex-control-thumbs li {
	width: 72px; height: 72px; margin: 0; float: none;
	border-radius: 10px; overflow: hidden;
	border: 2px solid transparent; transition: border-color var(--sk-ease);
	cursor: pointer;
}
.woocommerce div.product div.images ol.flex-control-thumbs li.flex-active,
.woocommerce div.product div.images ol.flex-control-thumbs li:hover { border-color: var(--sk-black); }
.woocommerce div.product div.images ol.flex-control-thumbs li img {
	width: 100%; height: 100%; object-fit: cover; opacity: 1; border-radius: 0;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { border-radius: var(--sk-radius-lg); overflow: hidden; }
.woocommerce div.product div.summary {
	width: 100%; float: none; margin: 0;
}
.woocommerce div.product .product_title {
	font-size: 28px; font-weight: 400; letter-spacing: -0.015em;
	line-height: 1.25; margin-bottom: 10px;
}
.woocommerce div.product div.summary .woocommerce-product-rating {
	display: flex; align-items: center; gap: 8px;
	font-size: 13px; color: var(--sk-gray); margin-bottom: 18px;
}
.woocommerce div.product div.summary .woocommerce-review-link { color: var(--sk-gray); }
.woocommerce div.product p.price {
	font-size: 24px; font-weight: 500; color: var(--sk-dark); margin: 0 0 8px;
}
.woocommerce div.product p.price del { font-size: 16px; color: var(--sk-light); font-weight: 400; opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 14px; color: var(--sk-gray); line-height: 1.7;
	margin: 20px 0 28px; padding-bottom: 28px;
	border-bottom: 1px solid var(--sk-border);
}
.woocommerce div.product form.cart {
	margin: 0 0 24px; display: flex; flex-direction: column; gap: 16px;
	align-items: flex-start;
}
.woocommerce div.product form.cart div.quantity {
	display: inline-flex; align-items: center;
	border: 1.5px solid var(--sk-border); border-radius: 28px; overflow: hidden;
	margin: 0; float: none;
}
.woocommerce div.product form.cart div.quantity label { display: none; }
.woocommerce div.product form.cart div.quantity input.qty {
	width: 44px; height: 40px; text-align: center; font-size: 14px; font-weight: 500;
	border: 0; padding: 0; margin: 0; background: transparent;
	-moz-appearance: textfield; appearance: textfield;
}
.woocommerce div.product form.cart div.quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart div.quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	background: var(--sk-black); color: var(--sk-white);
	font-size: 12.5px; font-weight: 500; letter-spacing: 0.04em;
	padding: 14px 32px; border-radius: 28px;
	transition: background var(--sk-ease), transform 0.2s, box-shadow var(--sk-ease);
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: #333333; color: var(--sk-white); transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.woocommerce div.product .product_meta {
	font-size: 12.5px; color: var(--sk-light);
	padding-top: 24px; border-top: 1px solid var(--sk-border);
	display: flex; flex-direction: column; gap: 6px;
}
.woocommerce div.product .product_meta a { color: var(--sk-gray); }
.woocommerce div.product .product_meta a:hover { color: var(--sk-black); }
.woocommerce div.product .stock { font-size: 12.5px; color: var(--sk-new); margin: 0; }
.woocommerce div.product .stock.out-of-stock { color: var(--sk-sale); }

/* variation selects stay semantic; theme.js builds the chips on top */
.woocommerce div.product table.variations { margin: 0 0 16px; }
.woocommerce div.product table.variations tr { display: block; margin-bottom: 14px; }
.woocommerce div.product table.variations td { display: block; padding: 0; }
.woocommerce div.product table.variations td.label {
	padding: 0 0 8px; font-size: 12.5px; font-weight: 500; color: var(--sk-dark);
}
.woocommerce div.product table.variations select {
	padding: 9px 16px; border-radius: 22px; border: 1.5px solid var(--sk-border);
	font-size: 12.5px; color: var(--sk-gray); background: var(--sk-white);
}
.woocommerce div.product table.variations select.sikaka-sw-src {
	position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap;
}
.woocommerce div.product a.reset_variations {
	font-size: 12px; color: var(--sk-light); margin-left: 10px;
}
.woocommerce .sikaka-sw { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce .sikaka-sw .sw {
	padding: 8px 16px; border-radius: 22px;
	border: 1.5px solid var(--sk-border); font-size: 12.5px;
	transition: all var(--sk-ease); cursor: pointer; background: var(--sk-white);
	color: var(--sk-dark);
}
.woocommerce .sikaka-sw .sw:hover { border-color: var(--sk-black); }
.woocommerce .sikaka-sw .sw.is-on { border-color: var(--sk-black); background: var(--sk-black); color: var(--sk-white); }
.woocommerce .sikaka-sw .sw.disabled { opacity: 0.35; cursor: not-allowed; }

/* variation price swap area */
.woocommerce-variation-price { margin: 4px 0 8px; font-size: 18px; font-weight: 500; }

/* ---- tabs ---- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; gap: 26px; margin: 0 0 20px; padding: 0 0 10px;
	border-bottom: 1px solid var(--sk-border); list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none; border: 0; border-radius: 0; margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: 13.5px; color: var(--sk-gray); padding: 4px 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--sk-dark); border-bottom: 1.5px solid var(--sk-black);
}
.woocommerce div.product .woocommerce-tabs .panel { font-size: 14px; color: var(--sk-gray); line-height: 1.75; padding-bottom: 24px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 16px; font-weight: 500; margin-bottom: 12px; }

/* ---- related / upsells ---- */
.woocommerce .related.products > h2, .woocommerce .up-sells > h2,
.woocommerce .cross-sells > h2 { font-size: 18px; font-weight: 500; margin: 8px 0 18px; }
.woocommerce .related.products ul.products, .woocommerce .up-sells ul.products, .woocommerce .cross-sells ul.products {
	grid-template-columns: repeat(4, 1fr);
}

/* ---- cart ---- */
.woocommerce table.shop_table {
	width: 100%; border-collapse: collapse; margin-bottom: 28px;
	border: 1px solid var(--sk-border); border-radius: var(--sk-radius);
	overflow: hidden; border-spacing: 0;
}
.woocommerce table.shop_table th {
	background: var(--sk-card); text-align: left;
	font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
	padding: 12px 14px; border-bottom: 1px solid var(--sk-border);
}
.woocommerce table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--sk-border); font-size: 13.5px; }
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table img { width: 64px; border-radius: 10px; background: var(--sk-card); }
.woocommerce table.shop_table .product-name a { color: var(--sk-dark); }
.woocommerce table.shop_table .product-name a:hover { color: var(--sk-black); }
.woocommerce table.shop_table .quantity input.qty {
	width: 52px; height: 36px; text-align: center; border: 1.5px solid var(--sk-border);
	border-radius: 20px; font-size: 13px;
}
.woocommerce .coupon { display: flex; gap: 8px; }
.woocommerce .coupon .input-text {
	padding: 9px 14px; border: 1.5px solid var(--sk-border); border-radius: 22px; font-size: 12.5px;
}
.woocommerce .actions .button, .woocommerce .checkout-button, .woocommerce .button.checkout {
	background: var(--sk-black); color: var(--sk-white); border-radius: 28px;
	font-size: 12.5px; padding: 11px 24px; transition: background var(--sk-ease);
}
.woocommerce .actions .button:hover, .woocommerce .checkout-button:hover { background: #333333; color: var(--sk-white); }
.woocommerce .cart_totals { max-width: 480px; margin-left: auto; }
.woocommerce .cart_totals h2 { font-size: 18px; font-weight: 500; }
.woocommerce .cart_totals .shop_table { background: var(--sk-bg); }
.woocommerce .order-total .amount { font-size: 18px; font-weight: 500; color: var(--sk-dark); }

/* ---- checkout / forms ---- */
.woocommerce form .form-row { margin-bottom: 16px; }
.woocommerce form .form-row label {
	display: block; font-size: 12.5px; font-weight: 500; margin-bottom: 5px; color: #333333;
}
.woocommerce form .form-row .required { color: var(--sk-sale); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	width: 100%; padding: 12px 14px; border: 1.5px solid var(--sk-border);
	border-radius: 10px; font-size: 13.5px; background: var(--sk-white);
	height: auto;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { outline: none; border-color: var(--sk-black); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: inherit; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 100%; }
.woocommerce #place_order {
	width: 100%; background: var(--sk-black); color: var(--sk-white);
	font-size: 13.5px; font-weight: 500; letter-spacing: 0.04em;
	padding: 15px; border-radius: 28px; transition: background var(--sk-ease);
}
.woocommerce #place_order:hover { background: #333333; }
.woocommerce .woocommerce-form-login, .woocommerce .woocommerce-form-register {
	max-width: 480px; margin: 0 auto 32px; padding: 28px;
	background: var(--sk-bg); border-radius: var(--sk-radius-lg);
}
.woocommerce .woocommerce-form-login .button { background: var(--sk-black); color: var(--sk-white); border-radius: 28px; padding: 11px 24px; }
.woocommerce h2, .woocommerce .woocommerce-billing-fields h3, .woocommerce .woocommerce-additional-fields h3 {
	font-size: 17px; font-weight: 500; margin-bottom: 16px;
}

/* ---- my account ---- */
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 220px; margin: 0 32px 0 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin-bottom: 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: 10px 16px; border-radius: 22px;
	font-size: 13px; color: var(--sk-gray);
	border: 1.5px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	border-color: var(--sk-black); color: var(--sk-dark); background: var(--sk-card);
}
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; }
@media (max-width: 768px) {
	.woocommerce-account .woocommerce { flex-direction: column; }
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; margin: 0 0 20px; }
}

/* ---- shop container mapping ---- */
.woocommerce .sk-toolbar { margin: 26px 0 12px; padding: 14px 0; }
.woocommerce .nav-links { margin-top: 8px; }

/* ---- responsive shop ---- */
@media (max-width: 960px) {
	ul.products { grid-template-columns: 1fr 1fr; }
	.woocommerce .related.products ul.products, .woocommerce .up-sells ul.products, .woocommerce .cross-sells ul.products { grid-template-columns: 1fr 1fr; }
	.woocommerce div.product { grid-template-columns: 1fr; gap: 32px; padding: 0 0 32px; }
}
@media (max-width: 600px) {
	.sikaka-shop-body { padding: 12px 20px 56px; }
	ul.products { grid-template-columns: 1fr; gap: 20px; }
	.woocommerce .related.products ul.products, .woocommerce .up-sells ul.products, .woocommerce .cross-sells ul.products { grid-template-columns: 1fr; }
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { display: none; }
	.woocommerce .cart_totals { max-width: 100%; }
}

/* =========================================================
   PART 16 · ABOUT PAGE TEMPLATE (page-about.php)
   ======================================================= */
.sk-about { max-width: 1200px; margin: 0 auto; padding: 48px 40px 80px; }

.sk-about-story {
	display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
	margin-bottom: 72px;
}
.sk-about-media {
	border-radius: var(--sk-radius-lg); overflow: hidden;
	background: var(--sk-card); min-height: 360px;
	display: flex; align-items: center; justify-content: center;
}
.sk-about-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.sk-about-plate {
	position: relative; width: 100%; height: 100%; min-height: 360px;
	background: linear-gradient(135deg, #f5f3ef 0%, #ece7dd 55%, #e3dbcc 100%);
}
.sk-about-plate .sk-pendant { top: 56px; left: 34%; }
.sk-about-plate .sk-pendant--b { top: 80px; left: 62%; }
.sk-about-eyebrow {
	display: block; margin-bottom: 12px;
	font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sk-light);
}
.sk-about-txt h2 {
	font-size: 30px; font-weight: 400; letter-spacing: -0.015em;
	line-height: 1.3; margin-bottom: 16px;
}
.sk-about-txt p { font-size: 14.5px; line-height: 1.8; color: var(--sk-gray); margin-bottom: 14px; }

.sk-about-values {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
	padding: 56px 40px; background: var(--sk-bg);
	border-radius: var(--sk-radius-lg); margin-bottom: 72px;
}
.sk-val { text-align: center; padding: 8px; }
.sk-val-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 54px; height: 54px; border-radius: 50%; margin-bottom: 14px;
	background: var(--sk-white); border: 1px solid var(--sk-border);
	font-size: 20px; color: var(--sk-dark);
}
.sk-val h3 { font-size: 15px; font-weight: 500; margin-bottom: 8px; }
.sk-val p { font-size: 13px; line-height: 1.7; color: var(--sk-gray); }

.sk-about-interlude { max-width: 680px; margin: 0 auto 72px; text-align: center; }
.sk-about-interlude p { font-size: 18px; line-height: 1.8; color: var(--sk-dark); font-weight: 300; }

.sk-about-stats {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
	text-align: center; padding: 44px 0;
	border-top: 1px solid var(--sk-border); border-bottom: 1px solid var(--sk-border);
	margin-bottom: 72px;
}
.sk-stat strong {
	display: block; margin-bottom: 6px;
	font-size: 30px; font-weight: 500; letter-spacing: -0.01em;
}
.sk-stat span {
	font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sk-light);
}

.sk-about-cta {
	text-align: center; padding: 72px 40px; margin-bottom: 48px;
	background: var(--sk-black); color: var(--sk-white);
	border-radius: var(--sk-radius-lg);
}
.sk-about-cta h2 { font-size: 28px; font-weight: 400; letter-spacing: -0.015em; margin-bottom: 10px; }
.sk-about-cta p { font-size: 14px; color: rgba(255, 255, 255, 0.72); margin-bottom: 24px; }
.sk-about-cta .sikaka-btn { background: var(--sk-white); color: var(--sk-black); }
.sk-about-cta .sikaka-btn:hover { background: #f0ede8; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3); color: var(--sk-black); }

.sk-about-classic { max-width: 720px; margin: 0 auto; }
.sk-about-classic h2 { font-size: 22px; font-weight: 400; margin: 24px 0 10px; }
.sk-about-classic p { font-size: 14.5px; line-height: 1.8; color: var(--sk-gray); margin-bottom: 14px; }

/* ---- toolbar / filters on small screens ---- */
@media (max-width: 768px) {
	.sk-toolbar { align-items: stretch; padding: 12px 0; }
	.sk-toolbar .woocommerce-result-count { order: 1; flex-basis: 100%; }
	.sk-filters { order: 2; margin-left: 0; }
	.sk-toolbar .woocommerce-ordering { order: 3; margin-left: auto; }
	.sk-filter-panel { min-width: 200px; }
}

@media (max-width: 960px) {
	.sk-about { padding: 32px 20px 64px; }
	.sk-about-story { grid-template-columns: 1fr; gap: 28px; }
	.sk-about-values { grid-template-columns: 1fr 1fr; padding: 32px 20px; }
	.sk-about-stats { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 600px) {
	.sk-about-txt h2 { font-size: 24px; }
	.sk-about-values { grid-template-columns: 1fr; }
	.sk-about-stats { grid-template-columns: 1fr 1fr; }
	.sk-about-cta { padding: 48px 24px; }
}

/* =========================================================
   PART 17 · ELEMENTOR TEMPLATE COMPANIONS (templates/*.json)
   The bundled templates carry these classes; this part styles
   them. Colours stay on the Customizer tokens except the two
   dark bands, which the templates set inline like the design.
   ======================================================= */

/* ---- column width fallbacks (Elementor 4.x) ----
 * Since Elementor 4.x the .elementor-col-XX class carries NO width CSS of
 * its own: widths print via [data-col] / generated _inline_size rules.
 * Templates now carry _inline_size, but these class-based fallbacks keep
 * the grid stable even if a column (or an older installed template)
 * misses it. Mobile stacks to 100% like Elementor's own defaults. */
body .elementor-col-100 { width: 100%; }
body .elementor-col-58 { width: 58%; }
body .elementor-col-50 { width: 50%; }
body .elementor-col-42 { width: 42%; }
body .elementor-col-34 { width: 34%; }
body .elementor-col-33 { width: 33.333%; }
body .elementor-col-28 { width: 28%; }
body .elementor-col-25 { width: 25%; }
body .elementor-col-24 { width: 24%; }
body .elementor-col-20 { width: 20%; }
@media (max-width: 767px) {
	body .elementor-col-100, body .elementor-col-58, body .elementor-col-50,
	body .elementor-col-42, body .elementor-col-34, body .elementor-col-33,
	body .elementor-col-28, body .elementor-col-25, body .elementor-col-24,
	body .elementor-col-20 { width: 100%; }
}

/* ---- editable header (HFE) ---- */
.sk-ehdr { position: sticky; top: 0; z-index: 90; }
body.admin-bar .sk-ehdr { top: 32px; }
.sk-ehdr-brand { margin: 0 0 2px; letter-spacing: 0.14em; }
.sk-ehdr-sub .elementor-heading-title { letter-spacing: 0.3em; }
.sk-ehdr-cell .elementor-widget-wrap { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.sk-ehdr-nav .elementor-widget-wrap, .sk-ehdr-tools .elementor-widget-wrap {
	display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
}
.sk-ehdr-tools .elementor-widget-wrap { justify-content: flex-end; }

/* ---- shared band heads ---- */
.sk-eeyebrow .elementor-heading-title { letter-spacing: 0.18em; }
.sk-ecsecsub { color: var(--sk-gray); font-size: 13.5px; }
.sk-ecsecsub p { margin: 0; }

/* ---- hero ---- */
.sk-ehero-txt .elementor-widget-wrap { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.sk-ehero-h1 .elementor-heading-title { line-height: 1.15; }
.sk-eclead { color: var(--sk-gray); font-size: 14.5px; line-height: 1.7; max-width: 44ch; }
.sk-eclead p { margin: 0 0 22px; }
.sk-ehero-img img { width: 100%; aspect-ratio: 1 / 1.04; object-fit: cover; border-radius: var(--sk-radius-lg); }

/* ---- feature band ---- */
body .sk-efeat-icon .elementor-heading-title { font-size: 18px; color: var(--sk-dark); }
.sk-efeat-t { margin: 6px 0 4px; }
.sk-efeat-d { color: var(--sk-gray); font-size: 13px; line-height: 1.65; }
.sk-efeat-d p { margin: 0; }

/* ---- room / scene cards ---- */
.sk-ecat-img img { width: 100%; aspect-ratio: 4 / 3.1; object-fit: cover; border-radius: var(--sk-radius-lg); }
.sk-ecat-name { margin: 12px 0 0; }

/* ---- product shortcode rows ---- */
.sk-eprods ul.products { margin: 0; }
.sk-eprods ul.products li.product { margin-bottom: 32px; }

/* ---- story split ---- */
.sk-estory-media, .sk-estory-txt .elementor-widget-wrap { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.sk-estory-txt .elementor-widget-wrap { align-items: flex-start; }
.sk-estory-img img { width: 100%; aspect-ratio: 5 / 4.1; object-fit: cover; border-radius: var(--sk-radius-lg); }
.sk-estory-p { color: var(--sk-gray); font-size: 14px; line-height: 1.8; max-width: 52ch; }
.sk-estory-p p { margin: 0 0 12px; }

/* ---- dark bands (bg comes inline from the template) ---- */
/* Elementor's generated CSS prints .elementor-widget-text-editor
 * { color: var(--e-global-color-text) } AFTER the theme, which paints the
 * dark-band leads kit-gray (near-invisible on #1A1A1A — owner report
 * v1.0.2). The body-prefixed rules outrank it, and the p-level rules win
 * over anything set on an ancestor. */
body .sk-ebanner-p,
body .sk-ebanner-p p { color: rgba(255, 255, 255, 0.72); }
body .sk-ebanner-p { font-size: 14px; }
.sk-ebanner-p p { margin: 0 0 14px; }
/* Heading inside the dark newsletter band would otherwise inherit the body
 * ink color (near-black on near-black) and disappear. Covers both the plain
 * h2 the free heading widget emits and the demo renderer's h2. */
.sk-enews-h h2,
body .sk-enews-h .elementor-heading-title {
	color: var(--sk-white); text-align: center;
	font-size: 26px; font-weight: 400; margin: 0 0 10px;
}
/* The footer FOLLOW US subscribe button jumps to #newsletter; the sticky
 * header would cover the band top without this offset. */
#newsletter { scroll-margin-top: 84px; }
/* Footer column buttons sit a breath below the column copy. */
.sk-eftr-col .elementor-widget-button { margin-top: 8px; }
body .sk-enews-p,
body .sk-enews-p p { color: rgba(255, 255, 255, 0.72); }
body .sk-enews-p { font-size: 13.5px; }
.sk-enews-p p { margin: 0; }
.sk-enews-form { color: var(--sk-white); }
/* The form-only shortcode emits form.join-form whose own styles are scoped
 * under .sk-newsletter (the shell band). In the Elementor home template the
 * band copy is editable widgets and only the form is the shortcode, so it
 * needs the same look here or it renders as a cramped unstyled line. */
.sk-enews-form .join-form { display: flex; gap: 10px; max-width: 440px; margin: 0 auto; }
.sk-enews-form .join-form input[type="email"] {
	flex: 1; min-width: 0; padding: 12px 20px;
	border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 999px;
	background: rgba(255, 255, 255, 0.08); color: var(--sk-white); font-size: 13.5px;
}
.sk-enews-form .join-form input[type="email"]::placeholder { color: rgba(255, 255, 255, 0.55); }
.sk-enews-form .join-form input[type="email"]:focus { outline: none; border-color: var(--sk-white); }
.sk-enews-form .join-form .sk-btn {
	background: var(--sk-white); color: var(--sk-black);
	font-size: 12.5px; font-weight: 500; padding: 12px 24px;
	border: none; border-radius: 999px; cursor: pointer;
	transition: background var(--sk-ease);
}
.sk-enews-form .join-form .sk-btn:hover { background: #f0ede8; }
@media (max-width: 600px) {
	.sk-enews-form .join-form { flex-direction: column; }
}

/* ---- reviews ---- */
.sk-estars .elementor-heading-title { letter-spacing: 0.2em; }
.sk-erev-p { font-size: 13.5px; line-height: 1.75; color: var(--sk-dark); }
.sk-erev-p p { margin: 0 0 10px; }
.sk-erev-author .elementor-heading-title { color: var(--sk-gray); }

/* ---- instagram wall ---- */
.sk-einsta-img img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; }
.sk-einsta-fine { color: var(--sk-light); font-size: 12.5px; }
.sk-einsta-fine p { margin: 0; }

/* ---- about: values / interlude / stats ---- */
body .sk-eval-icon .elementor-heading-title { font-size: 20px; color: var(--sk-dark); }
.sk-eval-t { margin: 10px 0 6px; }
.sk-eval-p { color: var(--sk-gray); font-size: 13px; line-height: 1.7; }
.sk-eval-p p { margin: 0; }
.sk-einterlude { font-size: 17px; line-height: 1.8; color: var(--sk-dark); }
.sk-einterlude p { margin: 0; font-weight: 300; }
.sk-estat-num { margin: 0 0 6px; }
.sk-estat-label .elementor-heading-title { text-transform: uppercase; }
.sk-estats { border-top: 1px solid var(--sk-border); border-bottom: 1px solid var(--sk-border); }

/* ---- contact ---- */
.sk-econ-h { margin: 0 0 12px; }
.sk-econ-p { color: var(--sk-gray); font-size: 13.5px; line-height: 1.8; }
.sk-econ-p p { margin: 0 0 12px; }

/* ---- editable footer (HFE) — real widgets, menus via Appearance -> Menus ---- */
.sk-eftr-bottom-band { border-top: 1px solid var(--sk-border); }
.sk-eftr-col .elementor-widget-wrap { display: flex; flex-direction: column; align-items: flex-start; }
.sk-eftr-brand { margin: 0 0 12px; }
.sk-eftr-t { margin: 0 0 14px; }
.sk-eftr-lines { color: var(--sk-gray); font-size: 12.5px; line-height: 1.7; }
.sk-eftr-lines p { margin: 0 0 10px; }
.sk-eftr-m ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.sk-eftr-m a { color: var(--sk-gray); font-size: 12.5px; text-decoration: none; transition: color var(--sk-ease); }
.sk-eftr-m a:hover { color: var(--sk-black); }
.sk-eftr-bottom .elementor-widget-wrap {
	display: flex; flex-direction: row; align-items: center;
	justify-content: space-between; width: 100%; flex-wrap: wrap; gap: 10px 28px;
}
.sk-eftr-copy { color: var(--sk-light); font-size: 12px; }
.sk-eftr-copy p { margin: 0; }
.sk-eftr-legal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 24px; }
.sk-eftr-legal a { color: var(--sk-light); font-size: 12px; text-decoration: none; }
.sk-eftr-legal a:hover { color: var(--sk-black); }
/* v1.0.11: the legal row is an editable text widget (no menu shortcode) —
 * its <p> must sit flush like the list variant did. */
.sk-eftr-legal p { margin: 0; }

/* Subscribe form in the footer FOLLOW US column — the same real
 * form.join-form shortcode as the home dark band, restyled for the white
 * footer: outlined pill input + black pill button (the home variant's
 * translucent-on-dark look would vanish here). */
.sk-eftr-news .join-form { display: flex; gap: 8px; width: 100%; max-width: 280px; }
.sk-eftr-news .join-form input[type="email"] {
	flex: 1 1 auto; min-width: 0; padding: 10px 16px;
	border: 1px solid var(--sk-border); border-radius: 999px;
	background: var(--sk-white); color: var(--sk-black); font-size: 12.5px;
}
.sk-eftr-news .join-form input[type="email"]::placeholder { color: var(--sk-light); }
.sk-eftr-news .join-form input[type="email"]:focus { outline: none; border-color: var(--sk-black); }
.sk-eftr-news .join-form .sk-btn {
	flex: 0 0 auto; background: var(--sk-black); color: var(--sk-white);
	font-size: 12px; font-weight: 500; padding: 10px 18px;
	border: none; border-radius: 999px; cursor: pointer;
	transition: background var(--sk-ease);
}
.sk-eftr-news .join-form .sk-btn:hover { background: #333333; }
.sk-eftr-news .sk-ok { color: var(--sk-dark); font-size: 12px; margin-top: 6px; }
.sk-eftr-news .sk-err { color: #b4232a; font-size: 12px; margin-top: 6px; }
@media (max-width: 600px) {
	.sk-eftr-news .join-form { flex-direction: column; max-width: none; }
}

/* ---- Elementor buttons ----
   Elementor styles buttons via .elementor-widget-button .elementor-button
   (0,2,0) in the kit, and its generated page CSS prints AFTER the theme.
   v1.0.7 live lesson: once the editor saves a button (even untouched, it
   normalises defaults), Elementor writes a PER-ELEMENT rule
   `.elementor-13 .elementor-element.elementor-element-XXX .elementor-button
   { color:#FFF; font-family:Roboto }` at (0,4,0) — that beat the old
   (0,3,0) ghost variant and the button became white-on-white, leaving only
   its underline. Every rule below is therefore escalated past (0,4,0):
   base at (0,4,1) via `body .elementor .…` + `.elementor-element` on the
   wrapper, variants at (0,5,1) via an extra `.elementor-widget` step in
   the ancestor chain. The VARIANTS ride on the COLUMN: a button widget's
   css_classes land on the wrapper div, never on the <a> the widget owns —
   measured on live Elementor, not inferred (kuause lesson). */
body .elementor .elementor-widget-button.elementor-element .elementor-button {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--sk-black); color: var(--sk-white);
	border: 0; border-radius: 999px; padding: 12px 28px;
	font-family: inherit; font-size: 12.5px; font-weight: 500;
	letter-spacing: 0.04em; line-height: 1;
	transition: background var(--sk-ease), color var(--sk-ease), transform 0.2s, box-shadow var(--sk-ease);
}
body .elementor .elementor-widget-button.elementor-element .elementor-button:hover {
	background: #333333; color: var(--sk-white);
	transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
body .elementor .elementor-widget-button.elementor-element .elementor-button .elementor-button-text { font-family: inherit; }

body .elementor .elementor-column.sk-btnv-lg .elementor-widget .elementor-button { padding: 14px 34px; font-size: 13.5px; }

body .elementor .elementor-column.sk-btnv-outline .elementor-widget .elementor-button {
	background: transparent; color: var(--sk-dark);
	box-shadow: inset 0 0 0 1px var(--sk-border); transform: none;
}
body .elementor .elementor-column.sk-btnv-outline .elementor-widget .elementor-button:hover {
	background: transparent; color: var(--sk-black);
	box-shadow: inset 0 0 0 1px var(--sk-black); transform: none;
}

body .elementor .elementor-column.sk-btnv-ghost .elementor-widget .elementor-button {
	background: transparent; color: var(--sk-dark);
	border-radius: 0; padding: 6px 2px;
	box-shadow: inset 0 -1px 0 var(--sk-black); transform: none;
}
body .elementor .elementor-column.sk-btnv-ghost .elementor-widget .elementor-button:hover {
	background: transparent; color: var(--sk-dark);
	opacity: 0.65; transform: none; box-shadow: inset 0 -1px 0 var(--sk-black);
}

body .elementor .elementor-column.sk-btnv-outline-inverse .elementor-widget .elementor-button {
	background: transparent; color: var(--sk-white);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); transform: none;
}
body .elementor .elementor-column.sk-btnv-outline-inverse .elementor-widget .elementor-button:hover {
	background: var(--sk-white); color: var(--sk-black);
	box-shadow: inset 0 0 0 1px var(--sk-white); transform: none;
}

/* ---- Elementor column gutters: keep the theme's rhythm ---- */
.elementor-column .elementor-widget-wrap { padding: 0 6px; }
.sk-eftr-col .elementor-widget-wrap, .sk-eftr-col .elementor-widget-wrap .elementor-widget { padding: 0; }

/* ---- responsive ---- */
@media (max-width: 768px) {
	.sk-ehero-img img, .sk-estory-img img { aspect-ratio: 1; }
	.sk-ehdr-cell .elementor-widget-wrap { height: auto; }
}
