/* =====================================================================
   Artificial Legend of Mir II — Modern theme layer
   Loaded after twentyseventeen-style + colors-dark so it wins on equal
   specificity. Pure CSS (no images beyond brand assets). Dark + gold.
   ===================================================================== */

:root {
	/* Surfaces (warm near-black) */
	--am-bg:       #0c0a07;
	--am-bg-1:     #131009;   /* panel            */
	--am-bg-2:     #1a150d;   /* raised panel     */
	--am-bg-3:     #221a10;   /* hover / inputs   */
	--am-ink:      #0a0805;   /* text on gold     */

	/* Gold + accents */
	--am-gold:     #caa14a;
	--am-gold-lt:  #eccd7e;
	--am-gold-dk:  #8a6a2d;
	--am-amber:    #e6a23c;
	--am-grad-gold: linear-gradient(135deg, #f3da97 0%, #caa14a 45%, #9c7a32 100%);

	/* Text */
	--am-text:     #ece4d3;
	--am-head:     #f6efdd;
	--am-muted:    #a89f8b;
	--am-muted-2:  #80796a;

	/* Lines / shadows */
	--am-line:     rgba(202,161,74,.22);
	--am-line-2:   rgba(255,255,255,.07);
	--am-shadow:   0 22px 48px -22px rgba(0,0,0,.82);
	--am-glow:     0 0 0 1px rgba(202,161,74,.30), 0 18px 40px -18px rgba(202,161,74,.22);

	--am-radius:    14px;
	--am-radius-sm: 10px;
	--am-bar-h:     76px;
	--am-wrap:      1200px;

	--am-ease: cubic-bezier(.22,.61,.36,1);

	/* Neutral sans display face for headings + brand */
	--am-font-display: "Outfit", "Libre Franklin", -apple-system, system-ui, sans-serif;

	/* Colour palette — category tags & future button tints */
	--am-c-gold:    #caa14a; --am-c-gold-lt:    #e8d5a0;
	--am-c-blue:    #5e8fbc; --am-c-blue-lt:    #8fb8de;
	--am-c-ember:   #c4654a; --am-c-ember-lt:   #dfa090;
	--am-c-purple:  #9678b8; --am-c-purple-lt:  #bca4d5;
	--am-c-pink:    #bf6f96; --am-c-pink-lt:    #d9a3be;
	--am-c-green:   #6aac72; --am-c-green-lt:   #9dcea3;
	--am-c-teal:    #52a69e; --am-c-teal-lt:    #88c8c3;
	--am-c-crimson: #b85555; --am-c-crimson-lt: #d48f8f;
	--am-c-amber:   #d4943a; --am-c-amber-lt:   #e8be82;
	--am-c-slate:   #7488a8; --am-c-slate-lt:   #a2b4cb;
	--am-c-rose:    #c9787e; --am-c-rose-lt:    #dfa8ac;
	--am-c-sage:    #88a67a; --am-c-sage-lt:    #b3c8a8;
}

/* ---------- Base ---------------------------------------------------- */
html { scroll-behavior: smooth; }

body,
body.colors-dark {
	background-color: var(--am-bg);
	color: var(--am-text);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
/* faint warm glow anchored top-centre */
body::before {
	content: "";
	position: fixed;
	inset: 0 0 auto 0;
	height: 70vh;
	background: radial-gradient(120% 80% at 50% -10%, rgba(202,161,74,.10), transparent 60%);
	pointer-events: none;
	z-index: 0;
}
#page { position: relative; z-index: 1; background: transparent; }
.colors-dark #page { background: transparent; }

::selection { background: rgba(202,161,74,.30); color: #fff; }

/* Wider, breathing wraps */
.wrap { max-width: var(--am-wrap); padding-left: 28px; padding-right: 28px; }

/* Headings */
h1, h2, h3, h4, h5,
.entry-title, .page-title, .widget-title,
.am-hero-title, .woocommerce-loop-product__title,
.product_title, .cart_totals h2, .cross-sells > h2 {
	font-family: var(--am-font-display);
	color: var(--am-head);
	letter-spacing: -.01em;
	font-weight: 600;
}
.colors-dark h1, .colors-dark h2, .colors-dark h3,
.colors-dark h4, .colors-dark h5, .colors-dark h6 { color: var(--am-head); }

/* Links */
a { color: var(--am-gold); transition: color .2s var(--am-ease); }
a:hover, a:focus { color: var(--am-gold-lt); }
.colors-dark a { color: var(--am-gold); }
.colors-dark a:hover { color: var(--am-gold-lt); }

/* Custom scrollbar (subtle) */
* { scrollbar-color: var(--am-gold-dk) transparent; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #0a0805; }
::-webkit-scrollbar-thumb { background: #4a3c1d; border-radius: 8px; border: 2px solid #0a0805; }
::-webkit-scrollbar-thumb:hover { background: var(--am-gold-dk); }

/* ---------- Buttons ------------------------------------------------- */
.am-btn,
.colors-dark .am-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	font-family: "Libre Franklin", -apple-system, sans-serif;
	font-weight: 600; font-size: 14px; line-height: 1; letter-spacing: .04em;
	padding: 13px 22px; border-radius: var(--am-radius-sm);
	border: 1px solid transparent; cursor: pointer; text-decoration: none;
	transition: transform .22s var(--am-ease), box-shadow .22s var(--am-ease),
	            background-color .22s var(--am-ease), color .22s var(--am-ease), border-color .22s;
	will-change: transform;
}
.am-btn-lg { padding: 17px 30px; font-size: 15px; }

.am-btn-gold,
.colors-dark .am-btn-gold {
	background: var(--am-grad-gold); color: var(--am-ink);
	box-shadow: 0 10px 26px -12px rgba(202,161,74,.6);
}
.am-btn-gold:hover, .am-btn-gold:focus {
	color: var(--am-ink); transform: translateY(-2px);
	box-shadow: 0 16px 34px -12px rgba(236,205,126,.7);
	filter: saturate(1.08) brightness(1.05);
}
.am-btn-outline,
.colors-dark .am-btn-outline {
	background: rgba(202,161,74,.04); color: var(--am-gold-lt);
	border-color: var(--am-line); box-shadow: inset 0 0 0 1px rgba(202,161,74,.06);
}
.am-btn-outline:hover, .am-btn-outline:focus {
	background: rgba(202,161,74,.12); color: var(--am-gold-lt);
	border-color: var(--am-gold); transform: translateY(-2px);
}
.am-btn-ghost,
.colors-dark .am-btn-ghost {
	background: transparent; color: var(--am-text); border-color: var(--am-line-2);
	padding: 10px 16px; font-size: 13px;
}
.am-btn-ghost:hover, .am-btn-ghost:focus {
	color: var(--am-gold-lt); border-color: var(--am-gold); background: rgba(202,161,74,.08);
}

/* ---------- Resource buttons (multi-line, tinted glass) ------------- */
/* Derived from the gold CTA: dark glass body, tinted edge + colour glow.
   Each colour only sets two vars (--rb = rgb triplet, --rb-lt = light text). */
.am-rbtn {
	--rb: 202,161,74;
	--rb-lt: var(--am-c-gold-lt);
	display: flex; align-items: center; gap: 14px;
	width: 100%; max-width: 320px; margin: 0 auto 12px;
	padding: 13px 16px; border-radius: 12px; text-decoration: none;
	background: linear-gradient(180deg, #1a150d, #120e08);
	border: 1px solid rgba(var(--rb), .40);
	box-shadow: 0 0 0 1px rgba(var(--rb), .12), 0 8px 26px -12px rgba(var(--rb), .5);
	transition: box-shadow .25s var(--am-ease), border-color .25s var(--am-ease), filter .25s var(--am-ease);
}
/* Beat the parent theme's link styling in both widget AND page-content contexts
   (.entry-content a / .widget a apply an inset underline box-shadow + decoration). */
.colors-dark .entry-content a.am-rbtn,
.colors-dark .entry-summary a.am-rbtn,
.colors-dark .widget a.am-rbtn,
.entry-content a.am-rbtn,
.widget a.am-rbtn,
.am-rbtn {
	text-decoration: none;
	box-shadow: 0 0 0 1px rgba(var(--rb), .12), 0 8px 26px -12px rgba(var(--rb), .5);
}
.am-rbtn .am-rbtn-title, .am-rbtn .am-rbtn-desc { text-decoration: none; }
.colors-dark .entry-content a.am-rbtn:hover, .colors-dark .entry-content a.am-rbtn:focus,
.colors-dark .widget a.am-rbtn:hover, .colors-dark .widget a.am-rbtn:focus,
.entry-content a.am-rbtn:hover, .entry-content a.am-rbtn:focus,
.widget a.am-rbtn:hover, .widget a.am-rbtn:focus,
.am-rbtn:hover, .am-rbtn:focus {
	border-color: rgba(var(--rb), .6);
	box-shadow: 0 0 0 1px rgba(var(--rb), .28),
	            0 0 12px rgba(var(--rb), .3),
	            0 16px 34px -12px rgba(var(--rb), .65);
	filter: brightness(1.08);
}
.am-rbtn-ico {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 9px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(var(--rb), .14); overflow: hidden;
	color: var(--rb-lt); font-size: 22px;
}
.am-rbtn-ico img { width: 100%; height: 100%; object-fit: contain; display: block; }
.am-rbtn-svg { width: 24px; height: 24px; display: block; }
.am-rbtn-txt { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.am-rbtn-title {
	font-family: var(--am-font-display); font-weight: 600; font-size: 14px;
	letter-spacing: .01em; color: var(--rb-lt);
}
.am-rbtn-desc { font-weight: 500; font-size: 11.5px; margin-top: 2px; color: var(--am-muted); }

.am-rbtn.am-rbtn-gold    { --rb: 202,161,74;  --rb-lt: var(--am-c-gold-lt); }
.am-rbtn.am-rbtn-blue    { --rb: 94,143,188;  --rb-lt: var(--am-c-blue-lt); }
.am-rbtn.am-rbtn-ember   { --rb: 196,101,74;  --rb-lt: var(--am-c-ember-lt); }
.am-rbtn.am-rbtn-purple  { --rb: 150,120,184; --rb-lt: var(--am-c-purple-lt); }
.am-rbtn.am-rbtn-pink    { --rb: 191,111,150; --rb-lt: var(--am-c-pink-lt); }
.am-rbtn.am-rbtn-green   { --rb: 106,172,114; --rb-lt: var(--am-c-green-lt); }
.am-rbtn.am-rbtn-teal    { --rb: 82,166,158;  --rb-lt: var(--am-c-teal-lt); }
.am-rbtn.am-rbtn-crimson { --rb: 184,85,85;   --rb-lt: var(--am-c-crimson-lt); }
.am-rbtn.am-rbtn-amber   { --rb: 212,148,58;  --rb-lt: var(--am-c-amber-lt); }
.am-rbtn.am-rbtn-slate   { --rb: 116,136,168; --rb-lt: var(--am-c-slate-lt); }
.am-rbtn.am-rbtn-rose    { --rb: 201,120,126; --rb-lt: var(--am-c-rose-lt); }
.am-rbtn.am-rbtn-sage    { --rb: 136,166,122; --rb-lt: var(--am-c-sage-lt); }

/* ---------- Header bar --------------------------------------------- */
.am-header,
.colors-dark .am-header { position: relative; z-index: 50; background: transparent; }
.colors-dark .single-featured-image-header { background-color: transparent; border-bottom: 1px solid var(--am-line); }

.am-bar {
	position: sticky; top: 0; z-index: 60;
	background: rgba(14,11,7,.60);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
	backdrop-filter: blur(18px) saturate(145%);
	border-bottom: 1px solid var(--am-line);
	transition: background .3s var(--am-ease), box-shadow .3s var(--am-ease), border-color .3s;
}
.am-bar-inner {
	display: flex; align-items: center; gap: 24px;
	min-height: var(--am-bar-h); padding-top: 8px; padding-bottom: 8px;
	transition: min-height .3s var(--am-ease);
}
/* Transparent over the hero/banner until scrolled */
body.am-front .am-bar,
body.am-has-banner .am-bar {
	background: linear-gradient(180deg, rgba(8,6,4,.72) 0%, rgba(8,6,4,0) 100%);
	border-bottom-color: transparent;
}
body.am-front .am-bar.is-stuck,
body.am-has-banner .am-bar.is-stuck,
.am-bar.is-stuck {
	background: rgba(11,8,5,.82);
	box-shadow: 0 10px 34px -14px rgba(0,0,0,.85);
	border-bottom-color: var(--am-line);
}
.am-bar.is-stuck .am-bar-inner { min-height: 62px; }

/* Brand / logo */
.am-brand { flex: 1 1 0; display: flex; align-items: center; justify-content: flex-start; }
.am-brand .custom-logo-link { display: block; margin: 0; padding: 0; width: auto; background: none; border: 0; }
.am-brand .custom-logo {
	height: 46px; width: auto; max-width: none; display: block;
	transition: height .3s var(--am-ease), filter .3s var(--am-ease);
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.6));
}
.am-bar.is-stuck .am-brand .custom-logo { height: 38px; }
.am-brand-text { font-family: var(--am-font-display); color: var(--am-gold-lt); font-size: 20px; font-weight: 600; letter-spacing: -.01em; text-decoration: none; }

/* Primary nav — links float on the glass (no pills); footer-clean styling */
.am-nav { flex: 0 0 auto; display: flex; justify-content: center; }
.am-nav .menu-toggle { display: none; }
.am-nav > div { width: auto; }
.am-nav ul#top-menu,
.am-nav .menu > ul,
.am-nav div > ul {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px;
}
/* Strip the legacy child-theme dark fill (#222) behind the top menu so the links
   float on the glass bar. Scoped to the top list only — the dropdown ul keeps its panel. */
.am-header .am-nav > div > ul,
.am-header .am-nav ul#top-menu { background: transparent; border: 0; box-shadow: none; }
.am-nav li { margin: 0; position: relative; }
.am-nav a {
	position: relative; display: block; color: var(--am-text); text-decoration: none;
	font-size: 14px; font-weight: 600; letter-spacing: .02em;
	padding: 11px 18px; border-radius: 8px; line-height: 1.1;
	text-shadow: 0 1px 2px rgba(0,0,0,.45);
	transition: color .2s var(--am-ease);
}
.am-nav a:hover, .am-nav .current-menu-item > a, .am-nav .current_page_item > a {
	color: var(--am-gold-lt);
}
/* underline flourish — absolutely placed so the link text stays vertically centred */
.am-nav > div > ul > li > a::after {
	content: ""; position: absolute; left: 18px; right: 18px; bottom: 7px; height: 2px;
	background: var(--am-grad-gold); border-radius: 2px;
	transform: scaleX(0); transform-origin: left center;
	transition: transform .25s var(--am-ease);
}
.am-nav > div > ul > li > a:hover::after,
.am-nav > div > ul > li.current-menu-item > a::after { transform: scaleX(1); }

/* Dropdown sub-menus */
.am-nav ul ul {
	position: absolute; top: calc(100% + 10px); left: 0; z-index: 80;
	min-width: 232px; flex-direction: column; align-items: stretch; gap: 0;
	background: rgba(16,13,8,.98);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	border: 1px solid var(--am-line); border-radius: 12px; padding: 8px;
	box-shadow: var(--am-shadow);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .2s var(--am-ease), transform .2s var(--am-ease), visibility .2s;
}
.am-nav li:hover > ul,
.am-nav li.focus > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.am-nav ul ul a { padding: 10px 12px; border-radius: 8px; font-weight: 500; }
.am-nav ul ul a:hover { background: rgba(202,161,74,.12); }
.am-nav ul ul li { width: 100%; }
.am-nav .dropdown-toggle { display: none; } /* desktop: hover only */
/* Beat the parent colors-dark.css #222/#333 sub-menu fill (its 0,2,2 selector
   outranks our .am-nav ul ul). Raise to 0,3,2 so our glass panel wins. */
.colors-dark .main-navigation.am-nav ul ul {
	background: rgba(16,13,8,.98); border-color: var(--am-line);
}
.colors-dark .main-navigation.am-nav ul ul a { color: var(--am-text); }
.colors-dark .main-navigation.am-nav li li a:hover,
.colors-dark .main-navigation.am-nav li li a:focus { color: var(--am-gold-lt); background: rgba(202,161,74,.12); }

/* Header actions */
.am-actions { flex: 1 1 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
/* Match the two header buttons to one vertical size */
.am-actions .am-btn { height: 44px; padding: 0 20px; font-size: 13px; letter-spacing: .05em; }
.am-bar.is-stuck .am-actions .am-btn { height: 40px; }

/* Logged-in / login indicator (header + footer) */
.am-user { font-size: 12px; color: var(--am-muted); white-space: nowrap; }
.am-user::before {
  content: '';
  display: inline-block;
  width: 12px; height: 12px;
  margin-right: 4px;
  vertical-align: -1.5px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='5' r='3.2'/%3E%3Cpath d='M2.5 15.5a5.5 5.5 0 0 1 11 0' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='5' r='3.2'/%3E%3Cpath d='M2.5 15.5a5.5 5.5 0 0 1 11 0' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.am-user a { color: var(--am-gold-lt); text-decoration: none; font-size: inherit; }
.am-user a:hover { text-decoration: underline; }
/* Header: floats in the right-hand viewport gutter, fully out of the flex
   flow, so it never shifts the brand / nav / action buttons. It only appears
   once that gutter is wide enough to seat it clear of the buttons; on
   narrower screens the footer label takes over. */
.am-bar > .am-user { position: absolute; top: 50%; right: 28px; transform: translateY(-50%); }
@media (max-width: 1499px) { .am-bar > .am-user { display: none; } }
.am-user--footer { padding: 14px 0 4px; text-align: right; }

/* ---------- Hero --------------------------------------------------- */
.am-hero {
	position: relative; overflow: hidden;
	min-height: 100vh;
	margin-top: calc(-1 * var(--am-bar-h));   /* pull up under the sticky bar */
	display: flex; align-items: center;
	border-bottom: 1px solid var(--am-line);
}
.am-hero-bg {
	position: absolute; inset: 0; z-index: 0;
	background-image: var(--am-hero-img, none);
	background-size: cover; background-position: 50% 20%;
	transform: scale(1.06);
	animation: am-kenburns 28s ease-in-out infinite alternate;
}
.am-hero-veil {
	position: absolute; inset: 0; z-index: 1;
	background:
		linear-gradient(180deg, rgba(8,6,4,.55) 0%, rgba(8,6,4,.10) 32%, rgba(8,6,4,.55) 72%, var(--am-bg) 100%),
		radial-gradient(120% 90% at 18% 80%, rgba(8,6,4,.7), transparent 60%);
}
.am-hero-inner {
	position: relative; z-index: 2; width: 100%;
	padding-top: calc(var(--am-bar-h) + 36px); padding-bottom: 64px;
	max-width: 880px;
}
.am-hero-kicker {
	margin: 0 0 14px; font-size: 13px; font-weight: 700;
	letter-spacing: .26em; text-transform: uppercase; color: var(--am-gold-lt);
}
.am-hero-title {
	margin: 0 0 18px; line-height: 1.02; font-weight: 600;
	font-size: clamp(36px, 5vw, 64px);
	background: linear-gradient(180deg, #fbf2d6 0%, #e7c878 48%, #b98f3e 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	text-shadow: 0 4px 28px rgba(0,0,0,.45);
}
.am-hero-sub {
	margin: 0 0 30px; max-width: 620px;
	font-size: clamp(16px, 2vw, 20px); line-height: 1.6; color: #e7ddca;
	text-shadow: 0 2px 14px rgba(0,0,0,.6);
}
.am-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; }

/* Scroll cue */
.am-scroll-cue {
	position: absolute; left: 50%; bottom: 22px; z-index: 3; transform: translateX(-50%);
	width: 26px; height: 42px; border: 2px solid rgba(236,205,126,.6); border-radius: 14px;
}
.am-scroll-cue span {
	position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px;
	background: var(--am-gold-lt); border-radius: 2px;
	animation: am-scroll 1.8s var(--am-ease) infinite;
}
@keyframes am-kenburns { from { transform: scale(1.04) translateY(0); } to { transform: scale(1.12) translateY(-2%); } }
@keyframes am-scroll { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

/* ---------- Content area ------------------------------------------- */
.site-content { padding: 56px 0 24px; }
.colors-dark .site-content { background: transparent; }


/* Inner-page featured image banner — full-viewport hero treatment */
.single-featured-image-header {
	position: relative; max-width: 100%; margin: 0;
	margin-top: calc(-1 * var(--am-bar-h));
	height: 100vh; min-height: 500px; overflow: hidden;
	display: flex; align-items: center;
	border-bottom: 1px solid var(--am-line);
}
.single-featured-image-header::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background:
		linear-gradient(180deg, rgba(12,10,7,.45) 0%, transparent 35%, transparent 70%, var(--am-bg) 100%);
}
.single-featured-image-header img {
	position: absolute; inset: 0; width: 100%; height: 100%;
	display: block; border-radius: 0;
	object-fit: cover; object-position: center 30%;
}
.am-banner-inner {
	position: relative; z-index: 2; width: 100%;
	padding: calc(var(--am-bar-h) + 36px) 0 64px;
	max-width: 880px; margin: 0 auto;
	display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
}
.am-banner-title {
	margin: 0 0 24px; line-height: 1.02; font-weight: 600;
	font-size: clamp(36px, 5vw, 64px);
	font-family: var(--am-font-display);
	background: linear-gradient(180deg, #fbf2d6 0%, #e7c878 48%, #b98f3e 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	text-shadow: 0 4px 28px rgba(0,0,0,.45);
}
.am-banner-cta { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------- Blog / archive cards ----------------------------------- */
.blog .hentry, .archive .hentry, .search .hentry, .home .hentry {
	background: linear-gradient(180deg, var(--am-bg-1), var(--am-bg));
	border: 1px solid var(--am-line-2); border-radius: var(--am-radius);
	padding: 0; margin-bottom: 36px; overflow: hidden;
	box-shadow: var(--am-shadow);
	transition: transform .3s var(--am-ease), box-shadow .3s var(--am-ease), border-color .3s;
}
.blog .hentry:hover, .archive .hentry:hover, .home .hentry:hover {
	border-color: var(--am-line);
	box-shadow: 0 28px 56px -24px rgba(0,0,0,.9), 0 0 0 1px rgba(202,161,74,.18);
}
.blog .hentry .post-thumbnail, .home .hentry .post-thumbnail, .archive .hentry .post-thumbnail {
	display: block; margin: 0 0 28px; overflow: hidden; border-radius: 0;
}
.blog .hentry .post-thumbnail img, .home .hentry .post-thumbnail img, .archive .hentry .post-thumbnail img {
	width: 100%; height: auto; display: block;
	transition: transform .6s var(--am-ease), filter .6s var(--am-ease);
}
.blog .hentry:hover .post-thumbnail img, .home .hentry:hover .post-thumbnail img { transform: scale(1.04); }

body:not(.twentyseventeen-front-page) .blog .hentry .entry-header,
body:not(.twentyseventeen-front-page) .home .hentry .entry-header,
body.blog .hentry .entry-header,
body.home .hentry .entry-header,
body.archive .hentry .entry-header {
	padding: 72px 48px 56px;
}
body:not(.twentyseventeen-front-page) .blog .hentry .entry-content,
body:not(.twentyseventeen-front-page) .blog .hentry .entry-summary,
body:not(.twentyseventeen-front-page) .blog .hentry .entry-footer,
body.blog .hentry .entry-content, body.blog .hentry .entry-summary, body.blog .hentry .entry-footer,
body.home .hentry .entry-content, body.home .hentry .entry-summary, body.home .hentry .entry-footer,
body.archive .hentry .entry-content, body.archive .hentry .entry-summary, body.archive .hentry .entry-footer {
	padding-left: 48px; padding-right: 48px;
}
body.blog .hentry .entry-footer,
body.home .hentry .entry-footer,
body.archive .hentry .entry-footer { padding-bottom: 38px; border: 0; }

.entry-title { line-height: 1.18; }
.blog .entry-title, .home .entry-title, .archive .entry-title { font-size: 26px; margin: 0; }

body.blog .hentry .entry-header .entry-meta,
body.home .hentry .entry-header .entry-meta,
body.archive .hentry .entry-header .entry-meta {
	margin-bottom: 22px;
}
.entry-title a { color: var(--am-head); text-decoration: none; }
.entry-title a:hover { color: var(--am-gold-lt); }

.entry-meta { font-size: 12.5px; letter-spacing: .04em; color: var(--am-muted-2); text-transform: uppercase; }
.entry-meta a { color: var(--am-muted); }
.entry-meta a:hover { color: var(--am-gold-lt); }

/* Category tags inside post card headers */
.am-cat-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.am-cat-tag {
	display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .03em;
	padding: 4px 12px; border-radius: 99px; text-decoration: none;
	transition: opacity .2s var(--am-ease);
}
.am-cat-tag:hover { opacity: .78; }
.am-cat-tag.cat-gold    { color: var(--am-c-gold-lt);    background: rgba(202,161,74,.12); }
.am-cat-tag.cat-blue    { color: var(--am-c-blue-lt);    background: rgba(94,143,188,.12); }
.am-cat-tag.cat-ember   { color: var(--am-c-ember-lt);   background: rgba(196,101,74,.12); }
.am-cat-tag.cat-purple  { color: var(--am-c-purple-lt);  background: rgba(150,120,184,.12); }
.am-cat-tag.cat-pink    { color: var(--am-c-pink-lt);    background: rgba(191,111,150,.12); }
.am-cat-tag.cat-green   { color: var(--am-c-green-lt);   background: rgba(106,172,114,.12); }
.am-cat-tag.cat-teal    { color: var(--am-c-teal-lt);    background: rgba(82,166,158,.12); }
.am-cat-tag.cat-crimson { color: var(--am-c-crimson-lt); background: rgba(184,85,85,.12); }
.am-cat-tag.cat-amber   { color: var(--am-c-amber-lt);   background: rgba(212,148,58,.12); }
.am-cat-tag.cat-slate   { color: var(--am-c-slate-lt);   background: rgba(116,136,168,.12); }
.am-cat-tag.cat-rose    { color: var(--am-c-rose-lt);    background: rgba(201,120,126,.12); }
.am-cat-tag.cat-sage    { color: var(--am-c-sage-lt);    background: rgba(136,166,122,.12); }

/* Category chips in the single-post footer */
.am-cat-tags--footer { margin-top: 0; margin-bottom: 12px; }
.single .entry-footer { border-top: 1px solid var(--am-line); padding-top: 24px; margin-top: 32px; }
.colors-dark .single .entry-footer { border-color: var(--am-line); }

/* Sidebar category widget — show coloured chips inside list items */
.widget_categories .cat-item .am-cat-tag {
	box-shadow: none !important;
}

/* "Continue reading" as a gold pill */
.more-link, .read-more {
	display: inline-flex; align-items: center; gap: .4em; margin-top: 14px;
	font-weight: 700; font-size: 13px; letter-spacing: .03em; text-decoration: none;
	color: var(--am-gold-lt);
}
.more-link::after { content: "→"; transition: transform .2s var(--am-ease); }
.more-link:hover::after { transform: translateX(4px); }

/* Sticky/featured first post emphasis */
.blog .hentry.sticky, .home .hentry.sticky { border-color: var(--am-line); box-shadow: var(--am-glow); }

/* ---------- Pagination --------------------------------------------- */
.navigation.pagination .nav-links,
.posts-navigation .nav-links { display: flex; gap: 10px; flex-wrap: wrap; }
.navigation.pagination .page-numbers,
.posts-navigation a, .posts-navigation .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 14px;
	border: 1px solid var(--am-line-2); border-radius: 10px;
	color: var(--am-text); text-decoration: none; background: var(--am-bg-1);
	transition: all .2s var(--am-ease);
}
.navigation.pagination .page-numbers:hover,
.navigation.pagination .page-numbers.current {
	border-color: var(--am-gold); color: var(--am-gold-lt); background: rgba(202,161,74,.10);
}

/* ---------- Single post / page panel ------------------------------- */
/* These inner pages inherit the parent's "two-column" page template, which
   floats the title into a narrow left column beside the body. Collapse it to a
   single column: the title becomes a kicker above the content, which then
   flows full-width beneath it. */
body.page-two-column:not(.archive) #primary .entry-header,
body.page-two-column:not(.archive) #primary .entry-content {
	float: none;
	width: 100%;
}
.single .entry-header,
.page:not(.am-front) .entry-header { margin-bottom: 18px; }

/* Banner pages render the title in the hero overlay — drop the duplicate in the
   panel below so the content starts cleanly. */
body.am-has-banner #main > article > .entry-header { display: none; }
.single .site-main > article, .page:not(.home) .site-main > article {
	background: var(--am-bg-1);
	border: 1px solid var(--am-line-2); border-radius: var(--am-radius);
	padding: 40px clamp(24px, 4vw, 52px); box-shadow: var(--am-shadow);
}
/* WooCommerce pages manage their own cards (tables/forms) — drop the big wrapper
   panel. The `.page` keeps specificity above the `.page:not(.home)` panel rule. */
.woocommerce-page.page .site-main > article,
.woocommerce-account.page .site-main > article,
.woocommerce-cart.page .site-main > article,
.woocommerce-checkout.page .site-main > article {
	background: none; border: 0; box-shadow: none; padding: 0;
}
.single .entry-title, .page .entry-title { font-size: clamp(28px, 3.6vw, 42px); }
.entry-content { line-height: 1.75; color: var(--am-text); }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(202,161,74,.4); }
.entry-content h2 { margin-top: 1.6em; }
.entry-content blockquote {
	border-left: 3px solid var(--am-gold); background: rgba(202,161,74,.05);
	margin: 1.6em 0; padding: 14px 22px; border-radius: 0 10px 10px 0; color: #e9e0cd;
}
.entry-content hr { border: 0; height: 1px; background: var(--am-line); margin: 2em 0; }
.entry-content img { border-radius: var(--am-radius-sm); }
.entry-content code, .entry-content pre {
	background: #0a0805; border: 1px solid var(--am-line-2); border-radius: 8px;
}

/* ---------- Inner-page editorial typography ------------------------ */
/* Lead paragraph (first line of body copy) reads larger + brighter. */
.single .entry-content > p:first-of-type,
.page:not(.am-front):not(.woocommerce-page) .entry-content > p:first-of-type {
	font-size: 1.15em; line-height: 1.65; color: var(--am-head);
}
/* Content headings: display face, gold underline flourish on section heads. */
.entry-content h1 { font-size: clamp(26px, 3vw, 36px); margin: 1.4em 0 .5em; }
.entry-content h1:first-child { margin-top: 0; }
.entry-content h2 {
	font-size: clamp(21px, 2.4vw, 28px); color: var(--am-head); margin: 1.8em 0 .7em;
}
.entry-content h2::after {
	content: ""; display: block; width: 46px; height: 3px; margin-top: .55em;
	background: var(--am-grad-gold); border-radius: 2px;
}
/* Gold diamond list markers. */
.single .entry-content ul,
.page:not(.am-front):not(.woocommerce-page) .entry-content ul {
	list-style: none; padding-left: 2px;
}
.single .entry-content ul > li,
.page:not(.am-front):not(.woocommerce-page) .entry-content ul > li {
	position: relative; padding-left: 24px; margin: .5em 0;
}
.single .entry-content ul > li::before,
.page:not(.am-front):not(.woocommerce-page) .entry-content ul > li::before {
	content: ""; position: absolute; left: 3px; top: .56em;
	width: 7px; height: 7px; background: var(--am-grad-gold);
	transform: rotate(45deg); border-radius: 1px;
}

/* ---------- Inner-page reading layout (desktop) -------------------- */
/* A measured left margin gives the panel structure back: the kicker title sits
   in that margin like an editorial side-label, the body keeps a tidy measure,
   and a hairline rule makes the indent purposeful (incl. banner pages where the
   title lives in the hero and the margin reads as clean negative space). */
@media (min-width: 980px) {
	body.page-two-column:not(.archive) #primary .entry-header {
		float: left; width: 140px; margin: 0; padding-top: 4px;
	}
	body.page-two-column:not(.archive) #primary .entry-content {
		float: none; width: auto; max-width: 760px;
		margin-left: 180px; padding-left: 40px;
		border-left: 1px solid var(--am-line);
	}
}

/* ---------- Sidebar widgets ---------------------------------------- */
#secondary .widget,
.colors-dark #secondary .widget {
	background: linear-gradient(180deg, var(--am-bg-1), var(--am-bg));
	border: 1px solid var(--am-line-2); border-radius: var(--am-radius);
	padding: 22px 22px; margin-bottom: 26px; box-shadow: var(--am-shadow);
}
.widget-title, #secondary .widget .widget-title {
	font-size: 14px; letter-spacing: .14em; text-transform: uppercase;
	color: var(--am-gold-lt); margin: 0 0 16px; padding-bottom: 12px;
	border-bottom: 1px solid var(--am-line); position: relative;
}
.widget ul, .widget ol { margin: 0; padding: 0; list-style: none; }
/* override old child-theme white borders on widget LIs */
.widget ul li, .widget ol li {
	border: 0 !important; border-radius: 8px; padding: 9px 10px 9px 14px !important;
	font-family: inherit !important; font-size: 14px !important;
	border-bottom: 1px solid var(--am-line-2) !important;
	position: relative; transition: background .2s, padding .2s;
}
.widget ul li:last-child, .widget ol li:last-child { border-bottom: 0 !important; }
.widget ul li:hover { background: rgba(202,161,74,.06); padding-left: 18px !important; }
.widget a { text-decoration: none; }
.colors-dark .widget ul li { border-color: var(--am-line-2) !important; }
.textwidget { border: 0 !important; padding-top: 0 !important; }

/* search field */
.widget .search-field, .search-field {
	background: var(--am-bg-3); border: 1px solid var(--am-line-2); color: var(--am-text);
	border-radius: 10px; padding: 12px 14px; width: 100%;
}
.search-submit { display: none; }

/* ---------- Footer ------------------------------------------------- */
.site-footer, .colors-dark .site-footer {
	background: linear-gradient(180deg, var(--am-bg), #080603);
	border-top: 1px solid var(--am-line); margin-top: 72px;
	position: relative;
}
.site-footer::before {
	content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--am-gold), transparent); opacity: .5;
}
.site-footer .ats-wrap1 { padding-top: 56px; }
.site-footer .widget-title { color: var(--am-gold-lt); border-bottom-color: var(--am-line); }
.site-footer .widget { background: none; border: 0; box-shadow: none; padding: 0; margin-bottom: 28px; }
.colors-dark .site-footer .widget-area { display: flex; flex-wrap: wrap; gap: 24px 48px; }
.site-footer .widget-column { float: none !important; padding: 0 !important; }
.site-footer .footer-widget-1 { flex: 1 1 320px; }
.site-footer .footer-widget-2 { flex: 1 1 420px; }
/* Footer link contrast (beats colors-dark) */
.colors-dark .site-footer .widget a,
.site-footer .widget ul li a { color: var(--am-muted) !important; }
.colors-dark .site-footer .widget a:hover,
.site-footer .widget ul li a:hover { color: var(--am-gold-lt) !important; }
.site-footer .widget ul li { background: none; border-bottom: 1px solid var(--am-line-2) !important; }

/* Custom footer bottom bar */
.am-footer-bottom {
	border-top: 1px solid var(--am-line-2); margin-top: 8px;
	padding: 22px 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
}
.am-footer-bottom p { margin: 0; color: var(--am-muted-2); font-size: 13px; }
.am-footer-bottom .am-foot-links { display: flex; gap: 18px; flex-wrap: wrap; }
.am-footer-bottom a { color: var(--am-muted); text-decoration: none; font-size: 13px; }
.am-footer-bottom a:hover { color: var(--am-gold-lt); }
.social-navigation a { color: var(--am-muted); transition: color .2s, transform .2s; display: inline-block; }
.social-navigation a:hover { color: var(--am-gold-lt); transform: translateY(-2px); }

/* =====================================================================
   WooCommerce — consistent "Game Shop" styling
   ===================================================================== */

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-size: 12.5px !important; letter-spacing: .04em; color: var(--am-muted-2);
	border: 0 !important; padding: 0 0 18px !important; margin: 0 0 28px !important;
	border-bottom: 1px solid var(--am-line-2) !important;
}
.woocommerce-breadcrumb a { color: var(--am-muted); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--am-gold-lt); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	background: var(--am-bg-1); border: 1px solid var(--am-line-2);
	border-left: 3px solid var(--am-gold); border-radius: 10px;
	color: var(--am-text); padding: 14px 18px; box-shadow: var(--am-shadow);
}
.woocommerce-error { border-left-color: #c0533b; }
.woocommerce-message a, .woocommerce-info a { color: var(--am-gold-lt); }

/* Result count + ordering */
.woocommerce .woocommerce-result-count { color: var(--am-muted); font-size: 13px; }
.woocommerce .woocommerce-ordering select,
.woocommerce select, .select2-container--default .select2-selection--single {
	background: var(--am-bg-3); border: 1px solid var(--am-line-2) !important;
	color: var(--am-text); border-radius: 10px; padding: 10px 14px; height: auto;
}

/* Product grid */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin: 0 0 40px; list-style: none;
}
/* WooCommerce uses ::before/::after as a clearfix — as a grid they'd steal cells */
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after { content: none; display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; text-align: center;
	background: linear-gradient(180deg, var(--am-bg-2), var(--am-bg-1));
	border: 1px solid var(--am-line-2); border-radius: var(--am-radius);
	padding: 30px 24px 28px; box-shadow: var(--am-shadow); position: relative; overflow: hidden;
	transition: transform .3s var(--am-ease), box-shadow .3s var(--am-ease), border-color .3s;
}
.woocommerce ul.products li.product::before {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background: radial-gradient(120% 70% at 50% -10%, rgba(202,161,74,.14), transparent 55%);
	opacity: 0; transition: opacity .3s var(--am-ease);
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-6px); border-color: var(--am-gold);
	box-shadow: 0 30px 60px -26px rgba(0,0,0,.9), var(--am-glow);
}
.woocommerce ul.products li.product:hover::before { opacity: 1; }
.woocommerce ul.products li.product a img {
	width: 116px; height: 116px; object-fit: contain; margin: 0 auto 18px;
	filter: drop-shadow(0 8px 18px rgba(0,0,0,.6));
	transition: transform .4s var(--am-ease);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.06) rotate(-2deg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 20px; padding: 0; margin: 0 0 8px; color: var(--am-head);
}
.woocommerce ul.products li.product .price {
	color: var(--am-gold-lt) !important; font-size: 22px; font-weight: 700;
	display: block; margin-bottom: 16px; font-family: "Libre Franklin", sans-serif;
}
.woocommerce ul.products li.product .price del { color: var(--am-muted-2); font-weight: 400; font-size: 16px; }
.woocommerce ul.products li.product .button { margin-top: 4px; width: 100%; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { text-align: center !important; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: block; text-align: center;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link img {
	display: block; margin: 0 auto;
}

/* Best-value flag — applied by JS to the highest-priced product in each grid */
.woocommerce ul.products li.product.am-best-value {
	border-color: var(--am-line);
	box-shadow: 0 30px 60px -28px rgba(0,0,0,.9), 0 0 0 1px rgba(202,161,74,.25);
	overflow: hidden;
}
.woocommerce ul.products li.product.am-best-value::after {
	content: "Best value"; position: absolute; top: 16px; right: -34px;
	transform: rotate(45deg); background: var(--am-grad-gold); color: var(--am-ink);
	font: 700 11px/1 "Libre Franklin", sans-serif; letter-spacing: .08em; text-transform: uppercase;
	padding: 6px 40px; box-shadow: 0 6px 16px -6px rgba(0,0,0,.6);
}

/* Star rating / wishlist heart spacing tidy */
.woocommerce ul.products li.product .star-rating { margin: 0 auto 10px; color: var(--am-gold); }

/* WooCommerce buttons → gold system */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce #place_order,
.wc-block-components-button, .woocommerce-page a.button {
	background: var(--am-grad-gold) !important; color: var(--am-ink) !important;
	border: 0 !important; border-radius: var(--am-radius-sm) !important;
	font-family: "Libre Franklin", sans-serif !important; font-weight: 700 !important;
	letter-spacing: .03em; padding: 13px 22px !important; text-shadow: none;
	box-shadow: 0 10px 26px -12px rgba(202,161,74,.6) !important;
	transition: transform .22s var(--am-ease), box-shadow .22s var(--am-ease), filter .22s !important;
	cursor: pointer;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce #place_order:hover {
	transform: translateY(-2px); filter: brightness(1.06) saturate(1.06);
	box-shadow: 0 16px 34px -12px rgba(236,205,126,.7) !important; color: var(--am-ink) !important;
}
.woocommerce a.added_to_cart {
	display: inline-block; margin-top: 8px; color: var(--am-gold-lt); font-weight: 600; text-decoration: none;
}

/* Single product */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.single-product div.product .woocommerce-product-gallery {
	background: var(--am-bg-1); border: 1px solid var(--am-line-2); border-radius: var(--am-radius);
	padding: 24px; box-shadow: var(--am-shadow); float: none !important; width: auto !important;
}
.single-product div.product .summary { float: none !important; width: auto !important; margin: 0 !important; }
.single-product .product_title { font-size: clamp(28px, 3.4vw, 40px); margin: 0 0 12px; }
.single-product div.product p.price, .single-product div.product span.price {
	color: var(--am-gold-lt) !important; font-size: 30px; font-weight: 700; font-family: "Libre Franklin", sans-serif;
}
.single-product .woocommerce-product-details__short-description { color: var(--am-muted); line-height: 1.7; }
.single-product .quantity input.qty {
	background: var(--am-bg-3); border: 1px solid var(--am-line-2); color: var(--am-text);
	border-radius: 8px; padding: 12px; width: 76px;
}
.woocommerce-tabs ul.tabs { border: 0; padding: 0; display: flex; gap: 8px; margin-bottom: 28px; }
.woocommerce-tabs ul.tabs::before { border-color: var(--am-line-2); }
.woocommerce-tabs ul.tabs li {
	background: var(--am-bg-1); border: 1px solid var(--am-line-2) !important; border-radius: 10px 10px 0 0;
	padding: 0 !important; margin: 0 !important;
}
.woocommerce-tabs ul.tabs li a { color: var(--am-text); padding: 12px 22px !important; display: block; }
.woocommerce-tabs ul.tabs li.active { background: var(--am-bg-2); border-bottom-color: var(--am-bg-2) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--am-gold-lt); }
.woocommerce-tabs .woocommerce-Tabs-panel { padding: 0 8px; }

/* Spacing between Add to cart and product meta (Category line) */
.woocommerce div.product form.cart { margin-bottom: 28px; }

/* Related/cross-sell product buttons — prevent text wrapping */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.added_to_cart {
	white-space: nowrap; padding: 10px 18px !important; font-size: 13px !important;
	width: auto !important; max-width: 100%; min-width: 0; display: inline-block !important;
	text-align: center; margin: 4px auto 0 !important; float: none !important;
}

/* Tables: cart, account orders, totals */
.woocommerce table.shop_table {
	background: var(--am-bg-1); border: 1px solid var(--am-line-2) !important;
	border-radius: var(--am-radius) !important; border-collapse: separate; overflow: hidden;
}
.woocommerce table.shop_table th { color: var(--am-gold-lt); border-color: var(--am-line-2); }
.woocommerce table.shop_table td { border-color: var(--am-line-2); color: var(--am-text); }
.woocommerce table.shop_table tbody tr:hover td { background: rgba(202,161,74,.04); }
.cart_totals h2, .woocommerce-checkout #order_review_heading { color: var(--am-gold-lt); }

/* ---- Basket page: consistent, inset button + control alignment ---- */
.woocommerce table.cart, .woocommerce table.shop_table.cart { border-spacing: 0 !important; }
/* Remove (×): a small round button, centred and kept inside the panel */
.woocommerce table.cart td.product-remove,
.woocommerce-cart table.shop_table td.product-remove {
	width: 56px; text-align: center !important; vertical-align: middle; padding: 8px !important;
}
.woocommerce table.cart td.product-remove a.remove {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 26px; height: 26px; margin: 0 auto !important; border-radius: 50%;
	background: rgba(255,255,255,.06); color: var(--am-muted) !important;
	font-size: 17px; line-height: 1; text-decoration: none;
}
.woocommerce table.cart td.product-remove a.remove:hover {
	background: rgba(184,85,85,.3); color: #fff !important;
}
/* Actions row: buttons inset from the panel edge, never overhanging */
.woocommerce table.cart td.actions { padding: 18px 20px !important; text-align: right; }
.woocommerce table.cart td.actions .button,
.woocommerce table.cart td.actions button,
.woocommerce table.cart td.actions input.button {
	float: none !important; margin: 0 0 0 12px !important; display: inline-block;
}
.woocommerce table.cart td.actions .coupon { float: left !important; margin: 0 !important; }
/* "Added to basket" notice: message text + button on one tidy row */
.woocommerce-cart .woocommerce-message {
	display: flex !important; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap;
}
.woocommerce-cart .woocommerce-message .button {
	float: none !important; margin: 0 !important; flex: 0 0 auto;
}
/* Tame the gold glow on in-panel cart buttons so it doesn't bleed past the edge */
.woocommerce table.cart td.actions .button,
.woocommerce table.cart td.actions button,
.woocommerce-cart .woocommerce-message .button {
	box-shadow: 0 6px 16px -10px rgba(202,161,74,.45) !important;
}
.woocommerce table.cart td.actions .button:hover,
.woocommerce table.cart td.actions button:hover,
.woocommerce-cart .woocommerce-message .button:hover {
	box-shadow: 0 10px 22px -12px rgba(236,205,126,.55) !important;
}

/* Forms (cart/checkout/account/login) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-account .woocommerce form input,
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="number"], input[type="search"], textarea, select {
	background: var(--am-bg-3) !important; border: 1px solid var(--am-line-2) !important;
	color: var(--am-text) !important; border-radius: 10px !important; padding: 12px 14px !important;
	transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus,
.woocommerce form .form-row input.input-text:focus {
	outline: 0; border-color: var(--am-gold) !important;
	box-shadow: 0 0 0 3px rgba(202,161,74,.18) !important;
}
::placeholder { color: var(--am-muted-2); }

/* Coupon / cart layout panels */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	background: linear-gradient(180deg, var(--am-bg-1), var(--am-bg)); border: 1px solid var(--am-line-2);
	border-radius: var(--am-radius); padding: 22px; box-shadow: var(--am-shadow);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 10px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 14px; border-radius: 8px; text-decoration: none; color: var(--am-text); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: rgba(202,161,74,.1); color: var(--am-gold-lt); }

/* WooCommerce pages use Twenty Seventeen's two-column page layout (title floats
   left, content floats right) — force a single, full-width column instead. */
.woocommerce-account .entry-header, .woocommerce-cart .entry-header, .woocommerce-checkout .entry-header,
.woocommerce-account .entry-content, .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content {
	float: none !important; width: auto !important;
}
/* Account (logged-out): present ONLY the external Identity (OIDC) login.
   Login/accounts are managed off-site by identity.artificialmir.com, so the
   native WordPress username/password form is hidden to keep everyone on the
   Identity flow (presentation only — WP auth itself is untouched). */
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account .woocommerce > h2,
.woocommerce-account .woocommerce-form-login-toggle { display: none !important; }
.entry-content p:has(.openid-connect-login-button),
.entry-content code:has(.openid-connect-login-button) { display: block; text-align: center; }
.openid-connect-login-button { margin: 1.5em auto !important; }
/* Logged-out login view: centred, with a short explanation (logged-in dashboard untouched) */
.woocommerce-account:not(.logged-in) .entry-header { text-align: center; }
.woocommerce-account:not(.logged-in) .entry-content {
	max-width: 560px; margin-left: auto !important; margin-right: auto !important;
	text-align: center; padding: 20px 0 52px;
}
.woocommerce-account:not(.logged-in) .entry-content::after {
	content: "Sign in with your Artificial identity to manage your account, orders and game credits.";
	display: block; max-width: 440px; margin: 16px auto 0; color: var(--am-muted); font-size: 14px; line-height: 1.65;
}

/* External OpenID Connect login button is an image button — leave it intact
   (login is hosted off-site, so we must not restyle it into a broken box). */
.openid-connect-login-button { margin-left: auto !important; margin-right: auto !important; overflow: hidden; }
.openid-connect-login-button a,
.woocommerce .openid-connect-login-button a.button,
.woocommerce-page .openid-connect-login-button a.button {
	background: transparent !important; background-image: none !important;
	box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
	padding: 0 !important; margin: 0 !important; color: transparent !important;
	transform: none !important; filter: none !important;
	width: 100% !important; height: 100% !important;
	text-indent: 100% !important; white-space: nowrap !important; overflow: hidden !important;
}
/* the page wraps that button in <code> (incl. empty sliver fragments) — strip
   the code-box styling entirely within the account content so no stray bars show */
.entry-content code:has(.openid-connect-login-button) { background: none; border: 0; padding: 0; }
.woocommerce-account .entry-content code { background: none !important; border: 0 !important; padding: 0 !important; }

/* =====================================================================
   Motion: scroll-reveal + reduced motion
   ===================================================================== */
.am-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--am-ease), transform .6s var(--am-ease); }
.am-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	.am-hero-bg { animation: none; transform: scale(1.04); }
	.am-reveal { opacity: 1; transform: none; }
}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width: 980px) {
	:root { --am-bar-h: 64px; }
	.am-actions-shop { display: none !important; }

	/* Mobile menu: toggle button + collapsible panel */
	.am-nav { flex: 0 0 auto; }
	.am-brand { flex: 1 1 auto; }
	.am-actions { flex: 0 0 auto; }
	.am-nav .menu-toggle {
		display: inline-flex; align-items: center; justify-content: center;
		width: 46px; height: 46px; padding: 0; background: transparent;
		border: 1px solid var(--am-line-2); border-radius: 10px; cursor: pointer;
	}
	.am-burger { position: relative; width: 20px; height: 14px; display: block; }
	.am-burger i { position: absolute; left: 0; width: 100%; height: 2px; background: var(--am-gold-lt); border-radius: 2px; transition: transform .25s var(--am-ease), opacity .2s; }
	.am-burger i:nth-child(1) { top: 0; } .am-burger i:nth-child(2) { top: 6px; } .am-burger i:nth-child(3) { top: 12px; }
	.main-navigation.toggled-on .am-burger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.main-navigation.toggled-on .am-burger i:nth-child(2) { opacity: 0; }
	.main-navigation.toggled-on .am-burger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

	.am-nav > div, .am-nav .menu { display: none; }
	.main-navigation.toggled-on > div {
		display: block; position: absolute; top: calc(var(--am-bar-h) + 6px); left: 16px; right: 16px; width: auto; z-index: 90;
		background: rgba(14,11,7,.99); border: 1px solid var(--am-line); border-radius: 14px;
		padding: 10px; box-shadow: var(--am-shadow); max-height: 78vh; overflow-y: auto;
	}
	.main-navigation.toggled-on ul#top-menu, .main-navigation.toggled-on div > ul { flex-direction: column; align-items: stretch; gap: 2px; }
	.am-nav > div > ul > li > a::after { display: none; }
	.am-nav li a { padding: 12px 14px; }
	.am-nav ul ul {
		position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
		border: 0; border-left: 1px solid var(--am-line); border-radius: 0; margin: 0 0 4px 12px; padding: 0 0 0 6px;
		min-width: 0; background: transparent; display: none;
	}
	.am-nav ul ul.toggled-on { display: block; }
	/* mobile accordion: transparent panel with the gold left rule (override parent #222) */
	.colors-dark .main-navigation.am-nav ul ul {
		background: transparent; border: 0; border-left: 1px solid var(--am-line);
	}
	.am-nav .dropdown-toggle { display: inline-flex; position: absolute; right: 6px; top: 4px; width: 40px; height: 40px; background: transparent; border: 0; color: var(--am-gold-lt); align-items: center; justify-content: center; }
	.am-nav .dropdown-toggle.toggled-on { transform: rotate(180deg); }

	.am-hero { min-height: 100vh; }
}

@media (max-width: 860px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.single-product div.product { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 600px) {
	.wrap { padding-left: 18px; padding-right: 18px; }
	.am-hero-inner { padding-bottom: 48px; }
	.am-hero-cta .am-btn { width: 100%; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; }
	.blog .entry-header, .blog .entry-content, .blog .entry-summary, .blog .entry-footer,
	.home .entry-header, .home .entry-content, .home .entry-summary, .home .entry-footer { padding-left: 20px; padding-right: 20px; }
}
