/*!
Theme Name: Wicca, Wax & Crafts
Theme URI: http://underscores.me/
Author: Mickydweb Design
Author URI: http://www.mickydweb.com
Description: Theme Specifically designed for Wicca, Wax & Crafts
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wicca-wax-crafts
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Wicca, Wax & Crafts is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */


/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */


/* Elements
--------------------------------------------- */


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */


/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


.bypostauthor {
	display: block;
}



/* Media
--------------------------------------------- */
.wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */



/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* Theme Specific
--------------------------------------------- */

/* Wicca, Wax & Crafts — Modern Design System */

:root {
  --bg: #0e0b08;
  --bg-elevated: #181410;
  --bg-card: #211c17;
  --bg-card-hover: #2a241e;
  --accent: #c9304a;
  --accent-light: #e84d6a;
  --accent-glow: rgba(201, 48, 74, 0.2);
  --gold: #c9a96e;
  --gold-light: #e8c98a;
  --wax: #b8843a;
  --wax-glow: rgba(212, 148, 58, 0.18);
  --candle: rgba(255, 176, 72, 0.12);
  --candle-core: rgba(255, 210, 120, 0.06);
  --text: #f5efe6;
  --text-muted: #a89f92;
  --border: rgba(212, 168, 106, 0.1);
  --border-strong: rgba(212, 168, 106, 0.18);
  --radius: 12px;
  --radius-lg: 20px;
  --shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.5);
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Outfit", system-ui, sans-serif;
  --header-h: 72px;
  --topbar-h: 36px;
  --transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  background-color: var(--bg);
  background-image: url("../img/dark-bg.jpg");
  background-repeat: repeat;
  background-size: 400px 400px;
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 40% at 15% 20%, var(--candle-core), transparent 70%),
    radial-gradient(ellipse 40% 35% at 85% 15%, var(--wax-glow), transparent 65%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(80, 45, 20, 0.35), transparent 70%),
    radial-gradient(ellipse 35% 30% at 70% 60%, var(--candle), transparent 60%),
    radial-gradient(ellipse 30% 25% at 25% 75%, var(--wax-glow), transparent 55%),
    linear-gradient(180deg, rgba(14, 11, 8, 0.3) 0%, rgba(14, 11, 8, 0.85) 100%);
  pointer-events: none;
  z-index: 0;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--gold-light);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--accent-light);
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.75rem); }
h4 { font-size: 1.125rem; }

p { margin-bottom: 1rem; color: var(--text-muted); }
p:last-child { margin-bottom: 0; }

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Front page: fixed 1540px content column, centered */
body.home .container,
body.front-page .container,
body.page-template-page-full-php .container,
body.home.mc-storefront main .container,
body.home.mc-storefront .entry-content .container,
body.home.mc-storefront .wp-block-post-content .container,
body.home.mc-storefront .section > .container,
body.front-page.mc-storefront main .container,
body.front-page.mc-storefront .entry-content .container,
body.front-page.mc-storefront .wp-block-post-content .container,
body.front-page.mc-storefront .section > .container,
body.home .header__inner,
body.front-page .header__inner,
body.page-template-page-full-php .header__inner,
body.home .top-bar__inner,
body.front-page .top-bar__inner,
body.page-template-page-full-php .top-bar__inner {
  width: 100%;
  max-width: 1540px;
  margin-left: auto;
  margin-right: auto;
}

/* General page template — readable width + polished content */
body.page-template-page-general-php .page-general .page-general__container,
body.page-template-page-general-php .page-general .hero--page .container {
  width: min(92%, 960px);
  max-width: 960px;
}

@media (max-width: 768px) {
  body.page-template-page-general-php .page-general .page-general__container,
  body.page-template-page-general-php .page-general .hero--page .container {
    width: 100%;
    max-width: 100%;
  }
}

body.page-template-page-general-php .page-general .hero--page .hero__text h1 {
  font-size: clamp(1.9rem, 3.6vw, 2.85rem);
  margin-bottom: 0.65rem;
}

body.page-template-page-general-php .page-general .hero--page .lead {
  margin-bottom: 0;
  max-width: 36rem;
}

.page-general__section {
  padding-top: 0.75rem;
  padding-bottom: 4rem;
}

.page-general__article {
  margin: 0 auto;
}

.page-general__content {
  margin: 0;
  color: var(--text-muted, #a89f92);
  font-size: 1.05rem;
  line-height: 1.8;
}

.page-general__content > *:first-child {
  margin-top: 0;
}

.page-general__content > *:last-child {
  margin-bottom: 0;
}

.page-general__content h2,
.page-general__content h3,
.page-general__content h4 {
  color: var(--text, #f5efe6);
  margin: 2.25rem 0 0.85rem;
  line-height: 1.25;
  font-weight: 600;
}

.page-general__content h2 {
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(201, 169, 110, 0.22);
}

.page-general__content h3 {
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  color: var(--gold-light, #e8c98a);
}

.page-general__content h4 {
  font-size: 1.1rem;
}

.page-general__content p {
  margin: 0 0 1.25rem;
  color: var(--text-muted, #a89f92);
}

.page-general__content a {
  color: var(--gold, #c9a96e);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.page-general__content a:hover {
  color: var(--gold-light, #e8c98a);
}

.page-general__content ul,
.page-general__content ol {
  margin: 0 0 1.35rem;
  padding-left: 1.35rem;
}

.page-general__content li {
  margin-bottom: 0.45rem;
}

.page-general__content li::marker {
  color: var(--gold, #c9a96e);
}

.page-general__content blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--gold, #c9a96e);
  background: rgba(28, 22, 16, 0.55);
  color: var(--text, #f5efe6);
  font-style: italic;
}

.page-general__content hr {
  border: 0;
  height: 1px;
  margin: 2.25rem 0;
  background: linear-gradient(90deg, transparent, rgba(201, 169, 110, 0.35), transparent);
}

.page-general__content img,
.page-general__content figure {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.page-general__content figure {
  margin: 1.75rem 0;
}

.page-general__content figcaption {
  margin-top: 0.55rem;
  font-size: 0.9rem;
  color: var(--text-muted, #a89f92);
  text-align: center;
}

.page-general__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.98rem;
}

.page-general__content th,
.page-general__content td {
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgba(201, 169, 110, 0.16);
  text-align: left;
  vertical-align: top;
}

.page-general__content th {
  color: var(--gold-light, #e8c98a);
  font-weight: 600;
}

.page-general__content .wp-block-buttons {
  margin: 1.75rem 0;
}

.page-general__content .wp-block-button__link {
  border-radius: 8px;
}

/* MickydCommerce pages using General template — no page hero / no narrow prose shell */
.page-general--storefront .page-general__storefront-content {
  width: 100%;
}

.page-general--storefront .page-general__storefront-content > *:first-child {
  margin-top: 0;
}

.page-general--storefront .page-general__storefront-content > *:last-child {
  margin-bottom: 0;
}

/* ── Top Bar ── */

.top-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--topbar-h);
  background: rgba(10, 8, 6, 0.75);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  z-index: 1001;
  display: flex;
  align-items: center;
}

.top-bar__inner {
  display: flex;
  justify-content: center;
  gap: 2rem;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  font-size: 0.8rem;
}

.top-bar a {
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.top-bar a:hover { color: var(--text); }
.top-bar i { color: var(--accent); font-size: 0.7rem; }

/* ── Header / Nav ── */

.site-header {
  position: fixed;
  top: var(--topbar-h);
  left: 0;
  right: 0;
  height: var(--header-h);
  background: rgba(14, 11, 8, 0.82);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  z-index: 1000;
  transition: background var(--transition), box-shadow var(--transition);
}

.site-header.scrolled {
  background: rgba(14, 11, 8, 0.94);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5), 0 0 40px rgba(212, 148, 58, 0.04);
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--text);
}

.logo img {
  height: 48px;
  width: auto;
}

.logo__text {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
}

.logo__text span {
  display: block;
  font-size: 0.65rem;
  font-family: var(--font-body);
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
}

.nav-desktop {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
}

.nav-desktop a {
  color: var(--text-muted);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  position: relative;
  padding: 0.25rem 0;
}

.nav-desktop a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: width var(--transition);
}

.nav-desktop a:hover,
.nav-desktop a.active {
  color: var(--text);
}

.nav-desktop a:hover::after,
.nav-desktop a.active::after {
  width: 100%;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer;
  transition: all var(--transition);
  position: relative;
}

.btn-icon:hover {
  background: var(--bg-card-hover);
  border-color: var(--border-strong);
  color: var(--accent-light);
}

.cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--accent);
  color: white;
  font-size: 0.65rem;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--text);
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0.5rem;
}

/* Mobile Nav */
.nav-mobile {
  display: none;
  position: fixed;
  top: calc(var(--topbar-h) + var(--header-h));
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(14, 11, 8, 0.97);
  backdrop-filter: blur(20px);
  z-index: 999;
  padding: 2rem;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-mobile.open {
  transform: translateX(0);
}

.nav-mobile ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.nav-mobile a {
  display: block;
  padding: 1rem 0;
  font-family: var(--font-display);
  font-size: 1.75rem;
  color: var(--text);
  border-bottom: 1px solid var(--border);
}

.nav-mobile a:hover { color: var(--accent-light); }

/* ── Main Layout ── */

#page.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main,
.site-main {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--topbar-h) + var(--header-h));
  flex: 1;
}

/* ── Hero ── */

.hero {
  position: relative;
  padding: 5rem 0 6rem;
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 45% 55% at 20% 50%, rgba(255, 190, 90, 0.07), transparent 70%),
    radial-gradient(ellipse 40% 50% at 80% 40%, rgba(212, 148, 58, 0.06), transparent 65%);
  pointer-events: none;
  z-index: 0;
}

.hero--page {
  padding: 1.25rem 0 2.5rem;
}

.hero__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, rgba(14, 11, 8, 0.5) 0%, rgba(30, 20, 12, 0.3) 40%, rgba(14, 11, 8, 0.9) 100%),
    url("../img/hero-bg.jpg") center/cover no-repeat;
  opacity: 0.28;
  filter: sepia(0.35) saturate(1.3) brightness(0.65);
  mask-image: linear-gradient(to bottom, black 20%, transparent 95%);
  z-index: 0;
}

.hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.hero__visual {
  display: flex;
  justify-content: center;
}

.hero__logo {
  width: min(320px, 80%);
  filter: drop-shadow(0 8px 32px rgba(212, 148, 58, 0.35)) drop-shadow(0 0 60px rgba(255, 180, 80, 0.12));
  animation: float 6s ease-in-out infinite;
}

/* Front-page hero: exactly 350px tall */
body.home .hero:not(.hero--page),
body.front-page .hero:not(.hero--page) {
  height: 350px;
  min-height: 350px;
  max-height: 350px;
  padding: 0;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden;
}

body.home .hero:not(.hero--page) > .container,
body.front-page .hero:not(.hero--page) > .container {
  width: 100%;
}

body.home .hero__logo,
body.front-page .hero__logo {
  width: min(240px, 65%);
}

body.home .hero__content,
body.front-page .hero__content {
  gap: clamp(2rem, 5vw, 5rem);
}

body.home .hero__text h1,
body.front-page .hero__text h1 {
  margin-bottom: 0.5rem;
  font-size: clamp(1.75rem, 2.8vw, 2.35rem);
}

body.home .hero__text .lead,
body.front-page .hero__text .lead {
  max-width: 34rem;
  margin-bottom: 1rem;
  font-size: 1rem;
}

@media (max-width: 992px) {
  body.home .hero:not(.hero--page),
  body.front-page .hero:not(.hero--page) {
    height: auto;
    min-height: 0;
    padding: 2.5rem 0 3rem;
  }

  body.home .hero__logo,
  body.front-page .hero__logo {
    width: min(220px, 70%);
  }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

.hero__text h1 {
  margin-bottom: 1rem;
  background: linear-gradient(135deg, var(--text) 20%, var(--gold-light) 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 12px rgba(212, 148, 58, 0.15));
}

.hero__text .lead {
  font-size: 1.15rem;
  color: var(--text-muted);
  margin-bottom: 2rem;
  max-width: 480px;
}

.hero__text--center {
  text-align: center;
  grid-column: 1 / -1;
}

.hero__text--center h1 {
  margin-bottom: 0.5rem;
}

.breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.breadcrumb a { color: var(--gold); }

/* ── Buttons ── */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1.75rem;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
}

.btn-primary {
  background: linear-gradient(135deg, var(--accent) 0%, #a8253d 100%);
  color: white;
  box-shadow: 0 4px 20px var(--accent-glow), 0 0 20px rgba(212, 148, 58, 0.08);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px var(--accent-glow);
  color: white;
}

.btn-outline {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-strong);
}

.btn-outline:hover {
  background: var(--bg-card);
  border-color: var(--gold);
  color: var(--gold-light);
}

.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, #a88a55 100%);
  color: var(--bg);
}

.btn-gold:hover {
  transform: translateY(-2px);
  color: var(--bg);
}

.btn-sm {
  padding: 0.6rem 1.25rem;
  font-size: 0.8rem;
}

/* ── Section ── */

.section {
  padding: 4rem 0;
}

.section__header {
  text-align: center;
  margin-bottom: 3rem;
}

.section__header h2 {
  margin-bottom: 0.75rem;
}

.section__header p {
  max-width: 560px;
  margin: 0 auto;
}

.section__label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wax);
  margin-bottom: 0.75rem;
}

/* ── Product Grid ── */

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}

/* Front page featured products: same 5-across layout as the shop */
body.home .product-grid,
body.front-page .product-grid,
body.page-template-page-full-php .product-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  body.home .product-grid,
  body.front-page .product-grid,
  body.page-template-page-full-php .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.home .product-grid,
  body.front-page .product-grid,
  body.page-template-page-full-php .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body.home .product-grid,
  body.front-page .product-grid,
  body.page-template-page-full-php .product-grid {
    grid-template-columns: 1fr;
  }
}

.product-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition);
  box-shadow: inset 0 1px 0 rgba(212, 168, 106, 0.05);
}

.product-card:hover {
  transform: translateY(-6px);
  border-color: var(--border-strong);
  box-shadow: var(--shadow-lg), 0 0 30px rgba(212, 148, 58, 0.06);
}

.product-card__image {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--bg-elevated);
}

.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.product-card:hover .product-card__image img {
  transform: scale(1.06);
}

.product-card__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: var(--accent);
  color: white;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.35rem 0.75rem;
  border-radius: 100px;
}

.product-card__body {
  padding: 1.25rem;
}

.product-card__category {
  font-size: 0.75rem;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.product-card__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}

.product-card__title a {
  color: var(--text);
}

.product-card__title a:hover { color: var(--accent-light); }

.product-card__price {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.price-old {
  color: var(--text-muted);
  text-decoration: line-through;
  font-size: 0.9rem;
}

.price-current {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--accent-light);
}

/* ── Product Detail ── */

.product-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}

.product-detail__gallery {
  border-radius: var(--radius-lg);
  overflow: visible;
  border: none;
  background: transparent;
  width: 280px;
  max-width: 100%;
}

.product-detail__gallery img {
  width: 280px;
  height: 280px;
  max-width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.mc-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 280px;
  max-width: 100%;
}

.mc-product-gallery__main {
  width: 280px;
  height: 280px;
  max-width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--bg-card);
}

.mc-product-gallery__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mc-product-gallery__thumb {
  width: 64px;
  height: 64px;
  padding: 0;
  border: 2px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-elevated);
  cursor: pointer;
}

.mc-product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mc-product-gallery__thumb.is-active,
.mc-product-gallery__thumb:hover {
  border-color: var(--gold);
}

.product-detail__info h1 {
  margin-bottom: 1rem;
}

.product-detail__price {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.product-detail__price .price-current {
  font-size: 2rem;
  font-family: var(--font-display);
}

.stock-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: #4ade80;
  margin-bottom: 1.5rem;
}

.stock-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #4ade80;
  border-radius: 50%;
}

.product-meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  font-size: 0.85rem;
  color: var(--text-muted);
}

.product-meta i { color: var(--gold); margin-right: 0.5rem; }

/* ── Tabs ── */

.tabs {
  margin-top: 3rem;
}

.tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 2rem;
  overflow: visible;
}

.tab-btn {
  padding: 0.85rem 1.5rem;
  background: none;
  border: none;
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all var(--transition);
}

.tab-btn:hover { color: var(--text); }

.tab-btn.active {
  color: var(--accent-light);
  border-bottom-color: var(--accent);
}

.tab-panel {
  display: none;
  animation: fadeIn 0.3s ease;
}

.tab-panel.active { display: block; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Blog ── */

.blog-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 3rem;
  align-items: start;
}

.post-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 2rem;
  transition: all var(--transition);
}

.post-card:hover {
  border-color: var(--border-strong);
  box-shadow: var(--shadow);
}

.post-card__image {
  aspect-ratio: 16/9;
  overflow: hidden;
}

.post-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.post-card:hover .post-card__image img {
  transform: scale(1.04);
}

.post-card__body {
  padding: 1.75rem;
}

.post-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.post-card__meta i { color: var(--gold); margin-right: 0.3rem; }

.post-card__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

.post-card__title a { color: var(--text); }
.post-card__title a:hover { color: var(--accent-light); }

.post-card__excerpt {
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.read-more {
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--accent);
}

.read-more:hover { color: var(--accent-light); }

.blog-pagination {
  margin-top: 1rem;
}

.blog-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0.65rem 0.9rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 600;
  transition: all var(--transition);
}

.blog-pagination .page-numbers:hover,
.blog-pagination .page-numbers.current {
  color: var(--text);
  border-color: var(--wax);
}

.sidebar-widget__button {
  display: flex;
  width: 100%;
  margin-top: 1rem;
  justify-content: center;
}

.hero__text--center .lead {
  margin-left: auto;
  margin-right: auto;
}

/* Single Post */
.post-single__meta {
  margin-bottom: 1.5rem;
}

.post-single__image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 2rem;
  border: 1px solid var(--border);
}

.post-single__image img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
}

.post-body {
  color: var(--text-muted);
}

.post-body h3, .post-body h4 {
  margin: 2rem 0 1rem;
  color: var(--text);
}

.post-body p {
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}

.post-body a {
  color: var(--gold-light);
}

/* Comments */
.comments-section {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--border);
}

.comments-title,
.comment-reply-title {
  font-family: var(--font-display);
  color: var(--text);
  margin-bottom: 1rem;
}

.comments-list,
.comment-list,
.comment-list .children {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.comment {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--border);
}

.comment h4,
.comment-author {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--text);
}

.comment h4 small,
.comment-metadata {
  font-weight: 400;
  color: var(--text-muted);
  font-size: 0.85rem;
  margin-bottom: 0.75rem;
}

.comment-metadata a,
.comment-author a {
  color: inherit;
}

.comment-content p,
.comment-body p {
  color: var(--text-muted);
  margin-bottom: 0;
}

.comment .children {
  margin-left: 2rem;
  padding-left: 1.5rem;
  border-left: 2px solid var(--border);
}

.comment-respond {
  margin-top: 2rem;
}

.comment-form {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.comment-notes {
  font-size: 0.85rem;
}

.comment-form label {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 600;
}

.comment-form input:not([type="checkbox"]):not([type="submit"]),
.comment-form textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 0.95rem;
  outline: none;
}

.comment-form input:not([type="checkbox"]):not([type="submit"]):focus,
.comment-form textarea:focus {
  border-color: var(--wax);
}

.comment-form .submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0.85rem 1.75rem;
  background: var(--accent);
  color: white;
  border: none;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--transition);
}

.comment-form .submit:hover {
  background: var(--accent-light);
}

/* ── Sidebar ── */

.sidebar-widget {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.sidebar-widget h4 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin-bottom: 1rem;
  color: var(--text);
}

.sidebar-widget .widget-title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin-bottom: 1rem;
  color: var(--text);
}

.sidebar-widget p {
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}

.sidebar-widget p:last-child {
  margin-bottom: 0;
}

.sidebar-widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-widget li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border);
}

.sidebar-widget li:last-child { border-bottom: none; }

.sidebar-widget a {
  color: var(--text-muted);
  font-size: 0.9rem;
}

.sidebar-widget a:hover { color: var(--text); }

.sidebar-widget .search-form,
.sidebar-widget form {
  margin: 0;
}

.sidebar-widget input[type="search"],
.sidebar-widget input[type="text"],
.sidebar-widget input[type="email"],
.sidebar-widget .search-field,
.sidebar-widget .wp-block-search__input {
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 0.9rem;
  outline: none;
}

.sidebar-widget input[type="search"]:focus,
.sidebar-widget input[type="text"]:focus,
.sidebar-widget input[type="email"]:focus,
.sidebar-widget .search-field:focus,
.sidebar-widget .wp-block-search__input:focus {
  border-color: var(--gold);
}

.sidebar-widget .wp-block-search__button,
.sidebar-widget input[type="submit"],
.sidebar-widget button[type="submit"] {
  margin-top: 0.75rem;
}

.search-input {
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 0.9rem;
  outline: none;
  transition: border-color var(--transition);
}

.search-input:focus {
  border-color: var(--accent);
}

.search-input::placeholder { color: var(--text-muted); }

/* ── 404 Page ── */

.error-404 {
	text-align: center;
}

.error-404__code {
	font-family: var(--font-display);
	font-size: clamp(4rem, 12vw, 6rem);
	line-height: 1;
	margin: 0 0 1rem;
	background: linear-gradient(135deg, var(--text) 20%, var(--gold-light) 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.error-404__text {
	color: var(--text-muted);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 2rem;
}

.error-404__search {
	max-width: 420px;
	margin: 0 auto 2rem;
}

.error-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 2rem;
}

.error-404__recent {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--border);
	text-align: left;
}

.error-404__recent h2 {
	font-family: var(--font-display);
	font-size: 1.25rem;
	color: var(--text);
	margin: 0 0 1rem;
}

.error-404__recent ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.error-404__recent li {
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--border);
}

.error-404__recent li:last-child {
	border-bottom: none;
}

.error-404__recent a {
	color: var(--text-muted);
	font-size: 0.95rem;
	text-decoration: none;
}

.error-404__recent a:hover {
	color: var(--gold);
}

/* ── Forms ── */

.form-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  max-width: 720px;
  margin: 0 auto;
}

.form-grid {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.form-row {
  display: grid;
  gap: 1.25rem;
}

.form-row.two-cols {
  grid-template-columns: 1fr 1fr;
}

.form-group label {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: var(--text);
}

.form-group .required { color: var(--accent); }

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 0.95rem;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

.form-textarea {
  min-height: 140px;
  resize: vertical;
}

.form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239e9890' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

.privacy-notice {
  font-size: 0.8rem;
  color: var(--text-muted);
  padding: 1rem;
  background: var(--bg-elevated);
  border-radius: var(--radius);
  border-left: 3px solid var(--gold);
}

/* ── About ── */

.about-content {
  max-width: 800px;
  margin: 0 auto;
}

.about-content p {
  font-size: 1.05rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}

.about-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 3rem;
  align-items: stretch;
  width: 100%;
}

.wp-block-wicca-wax-crafts-feature-cards {
  margin: 2.5rem 0;
  width: 100%;
}

.wp-block-wicca-wax-crafts-feature-cards .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

body.home .wp-block-wicca-wax-crafts-feature-cards .container,
body.front-page .wp-block-wicca-wax-crafts-feature-cards .container,
body.page-template-page-full-php .wp-block-wicca-wax-crafts-feature-cards .container {
  max-width: 1540px;
}

.wp-block-wicca-wax-crafts-feature-cards .about-features {
  margin-top: 0;
}

.about-features > .wp-block-wicca-wax-crafts-feature-cards {
  grid-column: 1 / -1;
  width: 100%;
}

.feature-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  width: 100%;
  min-width: 0;
  text-align: center;
  padding: 2.5rem 2rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  transition: all var(--transition);
  box-shadow: inset 0 1px 0 rgba(212, 168, 106, 0.06);
}

.feature-card:hover {
  border-color: var(--wax);
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 24px rgba(212, 148, 58, 0.08);
}

.feature-card i {
  display: block;
  font-size: 2.25rem;
  color: var(--wax);
  margin-bottom: 1.25rem;
  filter: drop-shadow(0 0 10px rgba(212, 148, 58, 0.35));
}

.feature-card h4 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  color: var(--text);
}

.feature-card p {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text-muted);
  margin: 0;
  width: 100%;
}

/* ── Account ── */

.account-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 2rem;
  align-items: start;
}

.account-nav {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.account-nav button {
  display: block;
  width: 100%;
  padding: 1rem 1.25rem;
  background: none;
  border: none;
  border-bottom: 1px solid var(--border);
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: 0.9rem;
  text-align: left;
  cursor: pointer;
  transition: all var(--transition);
}

.account-nav button:last-child { border-bottom: none; }

.account-nav button:hover {
  background: var(--bg-elevated);
  color: var(--text);
}

.account-nav button.active {
  background: var(--accent-glow);
  color: var(--accent-light);
  border-left: 3px solid var(--accent);
}

.account-content {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2rem;
}

/* ── Footer ── */

.site-footer {
  position: relative;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 0%, rgba(20, 15, 10, 0.6) 30%),
    var(--bg-elevated);
  border-top: 1px solid var(--border);
  margin-top: auto;
  padding: 4rem 0 2rem;
}

.site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 148, 58, 0.25), transparent);
}

.footer__grid {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 2rem;
  padding-bottom: 2.5rem;
}

.footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer__logo-link {
  display: block;
  margin-bottom: 1rem;
  line-height: 0;
}

.footer__brand img,
.footer__brand .footer__logo {
  display: block;
  width: 64px;
  height: auto;
  max-width: none;
  margin: 0;
}

.footer__tagline {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text-muted);
  max-width: 280px;
  margin: 0;
}

.footer__col h4 {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.25rem;
}

.footer__col ul {
  list-style: none;
}

.footer__col li { margin-bottom: 0.6rem; }

.footer__col a {
  color: var(--text-muted);
  font-size: 0.9rem;
}

.footer__col a:hover { color: var(--text); }

.footer__brand .social-links {
  margin-top: 1.5rem;
}

.social-links {
  display: flex;
  gap: 0.75rem;
}

.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-muted);
  transition: all var(--transition);
}

.social-links a:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: white;
  transform: translateY(-3px);
}

.footer__bottom {
  padding: 1.5rem 0 0;
  border-top: 1px solid var(--border);
  text-align: center;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.footer__bottom b { color: var(--text); }

/* ── Cart ── */

.cart-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 2rem;
  align-items: start;
}

.cart-table {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.cart-table__header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 40px;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.cart-item {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 40px;
  gap: 1rem;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border);
}

.cart-item:last-child { border-bottom: none; }

.cart-item__product {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.cart-item__image {
  width: 80px;
  height: 80px;
  border-radius: var(--radius);
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid var(--border);
}

.cart-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-item__name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--text);
}

.cart-item__name a { color: var(--text); }
.cart-item__name a:hover { color: var(--accent-light); }

.cart-item__sku {
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-top: 0.25rem;
}

.cart-item__price,
.cart-item__total {
  font-weight: 600;
  color: var(--text);
}

.qty-control {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.qty-control button {
  width: 36px;
  height: 36px;
  background: var(--bg-elevated);
  border: none;
  color: var(--text);
  cursor: pointer;
  font-size: 1rem;
  transition: background var(--transition);
}

.qty-control button:hover { background: var(--bg-card-hover); }

.qty-control input {
  width: 44px;
  height: 36px;
  border: none;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text);
  text-align: center;
  font-family: var(--font-body);
  font-size: 0.9rem;
}

.qty-control input::-webkit-outer-spin-button,
.qty-control input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.cart-item__remove {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 1rem;
  padding: 0.5rem;
  transition: color var(--transition);
}

.cart-item__remove:hover { color: var(--accent); }

.cart-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.cart-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}

.cart-empty i {
  font-size: 3rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.cart-empty h3 {
  margin-bottom: 0.5rem;
  color: var(--text);
}

/* ── Order Summary ── */

.order-summary {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  position: sticky;
  top: calc(var(--topbar-h) + var(--header-h) + 1.5rem);
}

.order-summary h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.order-summary__items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.summary-item {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.summary-item__image {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid var(--border);
}

.summary-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.summary-item__details { flex: 1; min-width: 0; }

.summary-item__name {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.summary-item__meta {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.summary-item__price {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--text);
  white-space: nowrap;
}

.order-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.order-summary__row.total {
  margin-top: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text);
}

.order-summary__row.total span:last-child {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--accent-light);
}

.order-summary .btn { width: 100%; margin-top: 1.25rem; justify-content: center; }

.coupon-form {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.coupon-form input {
  flex: 1;
  padding: 0.7rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 0.85rem;
  outline: none;
}

.coupon-form input:focus { border-color: var(--accent); }

/* ── Checkout ── */

.checkout-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 2.5rem;
}

.checkout-step {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--text-muted);
}

.checkout-step.active { color: var(--text); font-weight: 600; }
.checkout-step.completed { color: var(--gold); }

.checkout-step__num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  border: 2px solid var(--border);
  color: var(--text-muted);
}

.checkout-step.active .checkout-step__num {
  background: var(--accent);
  border-color: var(--accent);
  color: white;
}

.checkout-step.completed .checkout-step__num {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--bg);
}

.checkout-step__divider {
  width: 48px;
  height: 2px;
  background: var(--border);
  margin: 0 0.75rem;
}

.checkout-step.completed + .checkout-step__divider,
.checkout-step__divider.completed {
  background: var(--gold);
}

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 2.5rem;
  align-items: start;
}

.checkout-form {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2rem;
}

.checkout-form h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border);
}

.checkout-form section + section {
  margin-top: 2rem;
}

.payment-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.payment-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition);
}

.payment-option:has(input:checked) {
  border-color: var(--accent);
  background: var(--accent-glow);
}

.payment-option input {
  accent-color: var(--accent);
  width: 18px;
  height: 18px;
}

.payment-option label {
  flex: 1;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--text);
}

.payment-option i {
  color: var(--gold);
  font-size: 1.25rem;
}

.checkout-secure {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.checkout-secure i { color: #4ade80; }

/* ── Utilities ── */

.text-center { text-align: center; }
.mt-2 { margin-top: 2rem; }
.mb-3 { margin-bottom: 3rem; }

/* ── Responsive ── */

@media (max-width: 992px) {
  .hero__content { grid-template-columns: 1fr; text-align: center; }
  .hero__text .lead { margin: 0 auto 2rem; }
  .hero__visual { order: -1; }
  .hero__logo { width: 200px; }
  .product-detail { grid-template-columns: 1fr; }
  .blog-layout { grid-template-columns: 1fr; }
  .account-layout { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .about-features { grid-template-columns: 1fr; }
  .cart-layout,
  .checkout-layout { grid-template-columns: 1fr; }
  .order-summary { position: static; }
}

.page-faq .container--narrow {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.page-faq__section {
  padding-top: 0.5rem;
}

.page-faq__intro {
  margin-bottom: 2rem;
  color: var(--text-muted, #a89f92);
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.faq-item {
  border: 1px solid rgba(201, 169, 110, 0.22);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(28, 22, 16, 0.72) 0%, rgba(16, 12, 9, 0.88) 100%);
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.faq-item.is-open {
  border-color: rgba(201, 169, 110, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.faq-item__question {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.faq-item__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--text, #f3ebe0);
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
}

.faq-item__toggle:hover {
  color: var(--gold-light, #e8c98a);
}

.faq-item__toggle:focus-visible {
  outline: 2px solid var(--gold, #c9a96e);
  outline-offset: -2px;
}

.faq-item__question-text {
  flex: 1;
}

.faq-item__icon {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(201, 169, 110, 0.35);
  color: var(--gold, #c9a96e);
  transition: transform 0.28s ease, background 0.28s ease;
}

.faq-item.is-open .faq-item__icon {
  transform: rotate(180deg);
  background: rgba(201, 169, 110, 0.12);
}

.faq-item__answer {
  overflow: hidden;
}

.faq-item__answer-inner {
  padding: 0 1.25rem 1.2rem;
  color: var(--text-muted, #a89f92);
  font-size: 0.98rem;
  line-height: 1.65;
}

.faq-item__answer-inner p {
  margin: 0 0 0.75rem;
}

.faq-item__answer-inner p:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .faq-item__toggle {
    padding: 1rem 1rem;
    font-size: 0.98rem;
  }

  .faq-item__answer-inner {
    padding: 0 1rem 1rem;
  }
}

@media (max-width: 768px) {
  .cart-table__header { display: none; }
  .cart-item {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    position: relative;
    padding: 1.5rem;
  }
  .cart-item__remove {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
  .checkout-steps { flex-wrap: wrap; gap: 0.5rem; }
  .checkout-step__divider { width: 24px; }
  .nav-desktop, .header__actions .btn-text { display: none; }
  .menu-toggle { display: block; }
  .nav-mobile { display: block; }
  .form-row.two-cols { grid-template-columns: 1fr; }
  .form-card { padding: 1.5rem; }
  .footer__grid { grid-template-columns: 1fr; }
  .top-bar__inner { gap: 1rem; font-size: 0.75rem; }
  .tab-list { gap: 0; }
  .tab-btn { padding: 0.75rem 1rem; font-size: 0.8rem; }
}
