/*
Theme Name:        GoldSystem Aura
Theme URI:         https://goldsystem.io/aura
Author:            GoldSystem.io
Author URI:        https://goldsystem.io
Description:       An elegant boutique theme made for the GoldSystem jewellery POS plugin. Shares GoldSystem's design tokens, so the plugin's light/dark toggle and White-Label brand colours style the whole site — storefront, Members portal and registry included. Warm ivory by day, deep ink by night, gold hairlines throughout.
Version:           1.5.0
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      7.4
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       goldsystem-aura
Tags:              e-commerce, blog, one-column, custom-logo, custom-menu, rtl-language-support, translation-ready
*/

/* ---------- Tokens — identical names to the GoldSystem plugin ---------- */
:root {
	--gsys-bg: #faf9f6;
	--gsys-surface: #ffffff;
	--gsys-surface-2: #f4f1ea;
	--gsys-text: #1c1917;
	--gsys-muted: #6b6257;
	--gsys-border: #e7e2d8;
	--gsys-gold: #b8860b;
	--gsys-link: #8a6417;
	--gsys-focus: #b8860b;
	--gsa-serif: Georgia, 'Times New Roman', 'Noto Serif', serif;
	--gsa-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans', 'Noto Naskh Arabic', 'Noto Nastaliq Urdu', sans-serif;
	--gsa-max: 1080px;
}
[data-gsys-theme="dark"] {
	--gsys-bg: #0b0e13;
	--gsys-surface: #12161d;
	--gsys-surface-2: #1a1f28;
	--gsys-text: #e8e6e1;
	--gsys-muted: #9aa3af;
	--gsys-border: #2a3140;
	--gsys-gold: #d4af37;
	--gsys-link: #e0b84e;
	--gsys-focus: #e0b84e;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-gsys-theme="light"]):not([data-gsys-theme="dark"]) {
		--gsys-bg: #0b0e13;
		--gsys-surface: #12161d;
		--gsys-surface-2: #1a1f28;
		--gsys-text: #e8e6e1;
		--gsys-muted: #9aa3af;
		--gsys-border: #2a3140;
		--gsys-gold: #d4af37;
		--gsys-link: #e0b84e;
		--gsys-focus: #e0b84e;
	}
}

/* --------------------------------- Base -------------------------------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body {
	margin: 0;
	background: var(--gsys-bg);
	color: var(--gsys-text);
	font-family: var(--gsa-sans);
	font-size: 16.5px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--gsys-link); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--gsys-focus); outline-offset: 3px; border-radius: 2px; }
h1, h2, h3, h4 {
	font-family: var(--gsa-serif);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.01em;
	margin: 0 0 0.5em;
}
h1 { font-size: clamp(30px, 5vw, 44px); }
h2 { font-size: clamp(23px, 3.4vw, 30px); }
h3 { font-size: 20px; }
.gsa-wrap { max-width: var(--gsa-max); margin-inline: auto; padding-inline: 22px; }
.gsa-skip {
	position: absolute; inset-inline-start: -9999px; top: 0;
	background: var(--gsys-gold); color: #fff; padding: 10px 16px; z-index: 10000; border-radius: 0 0 8px 8px;
}
.gsa-skip:focus { inset-inline-start: 16px; }

/* -------------------------------- Header ------------------------------- */
.gsa-header {
	background: color-mix(in srgb, var(--gsys-surface) 88%, transparent);
	backdrop-filter: blur(8px);
	border-block-end: 1px solid var(--gsys-border);
	position: sticky; top: 0; z-index: 900;
}
.gsa-header-in { display: flex; align-items: center; gap: 20px; min-height: 74px; }
.gsa-brand { display: flex; align-items: center; gap: 12px; color: var(--gsys-text); }
.gsa-brand:hover { text-decoration: none; }
.gsa-brand img { max-height: 46px; width: auto; }
.gsa-brand .gsa-mark { color: var(--gsys-gold); font-size: 20px; }
.gsa-brand .gsa-name { font-family: var(--gsa-serif); font-size: 23px; letter-spacing: 0.04em; }
.gsa-brand .gsa-tag { display: block; font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gsys-muted); }
.gsa-nav { margin-inline-start: auto; }
.gsa-nav ul { list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; flex-wrap: wrap; }
.gsa-nav a { color: var(--gsys-text); font-size: 14.5px; letter-spacing: 0.05em; padding-block: 6px; border-block-end: 1px solid transparent; }
.gsa-nav a:hover, .gsa-nav .current-menu-item > a, .gsa-nav .current_page_item > a {
	text-decoration: none; color: var(--gsys-gold); border-block-end-color: var(--gsys-gold);
}
@media (max-width: 720px) {
	.gsa-header-in { flex-wrap: wrap; padding-block: 12px; }
	.gsa-nav { margin-inline-start: 0; width: 100%; }
	.gsa-nav ul { gap: 16px; }
}

/* --------------------------------- Hero -------------------------------- */
.gsa-hero { text-align: center; padding-block: clamp(64px, 12vw, 130px); position: relative; }
.gsa-hero::after {
	content: ""; display: block; width: 72px; height: 1px; margin: 30px auto 0;
	background: linear-gradient(90deg, transparent, var(--gsys-gold), transparent);
}
.gsa-hero .gsa-eyebrow { letter-spacing: 0.3em; text-transform: uppercase; font-size: 12px; color: var(--gsys-gold); margin-bottom: 18px; }
.gsa-hero h1 { margin-bottom: 14px; }
.gsa-hero p { max-width: 560px; margin: 0 auto; color: var(--gsys-muted); font-size: 18px; }
.gsa-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 34px; }
.gsa-btn {
	display: inline-block; padding: 13px 30px; border-radius: 999px;
	border: 1px solid var(--gsys-gold); color: var(--gsys-gold);
	letter-spacing: 0.08em; font-size: 14px; text-transform: uppercase; transition: background 0.2s, color 0.2s;
}
.gsa-btn:hover { background: var(--gsys-gold); color: var(--gsys-surface); text-decoration: none; }
.gsa-btn.gsa-solid { background: var(--gsys-gold); color: #fff; }
.gsa-btn.gsa-solid:hover { filter: brightness(1.08); }

/* ------------------------------ Rate band ------------------------------ */
.gsa-rates { border-block: 1px solid var(--gsys-border); background: var(--gsys-surface); }
.gsa-rates-in { display: flex; align-items: center; gap: 10px 34px; flex-wrap: wrap; justify-content: center; padding-block: 16px; }
.gsa-rates .gsa-rates-title { letter-spacing: 0.2em; text-transform: uppercase; font-size: 11.5px; color: var(--gsys-muted); }
.gsa-rate { font-family: var(--gsa-serif); font-size: 18px; }
.gsa-rate b { color: var(--gsys-gold); font-weight: 600; }
.gsa-rate small { color: var(--gsys-muted); font-size: 12.5px; margin-inline-start: 6px; }

/* ------------------------------- Features ------------------------------ */
.gsa-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 22px; padding-block: clamp(46px, 8vw, 84px); }
.gsa-card {
	background: var(--gsys-surface); border: 1px solid var(--gsys-border); border-radius: 14px;
	padding: 30px 26px; text-align: center;
}
.gsa-card .gsa-ic { font-size: 26px; color: var(--gsys-gold); }
.gsa-card h3 { margin-top: 12px; }
.gsa-card p { color: var(--gsys-muted); font-size: 15px; margin: 0; }

/* ----------------------------- Posts / pages --------------------------- */
.gsa-main { padding-block: clamp(40px, 7vw, 70px); }
.gsa-entry { max-width: 760px; margin-inline: auto; }
.gsa-entry-header { text-align: center; margin-bottom: 34px; }
.gsa-entry-header .gsa-meta { color: var(--gsys-muted); font-size: 13.5px; letter-spacing: 0.08em; text-transform: uppercase; }
.gsa-entry-content { font-size: 17px; }
.gsa-entry-content h2 { margin-top: 1.6em; }
.gsa-entry-content blockquote {
	margin: 1.6em 0; padding-inline-start: 20px; border-inline-start: 2px solid var(--gsys-gold);
	color: var(--gsys-muted); font-family: var(--gsa-serif); font-size: 19px;
}
.gsa-entry-content img { border-radius: 12px; }
.gsa-loop { display: grid; gap: 26px; max-width: 760px; margin-inline: auto; }
.gsa-loop-item { background: var(--gsys-surface); border: 1px solid var(--gsys-border); border-radius: 14px; padding: 28px; }
.gsa-loop-item h2 { font-size: 24px; margin-bottom: 6px; }
.gsa-loop-item h2 a { color: var(--gsys-text); }
.gsa-loop-item h2 a:hover { color: var(--gsys-gold); text-decoration: none; }
.gsa-loop-item .gsa-meta { color: var(--gsys-muted); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; }
.gsa-more { color: var(--gsys-gold); letter-spacing: 0.06em; font-size: 14px; }
.gsa-pager { display: flex; justify-content: space-between; max-width: 760px; margin: 34px auto 0; }
.gsa-notfound { text-align: center; padding-block: 90px; }

/* ----------------------- Plugin surfaces on pages ----------------------- */
.gsa-entry-content #gsys-shop,
.gsa-entry-content .gsysp { font-family: var(--gsa-sans); }
.page .gsa-entry { max-width: 980px; }

/* -------------------------------- Footer ------------------------------- */
.gsa-footer { border-block-start: 1px solid var(--gsys-border); background: var(--gsys-surface); margin-block-start: 60px; }
.gsa-footer-in { padding-block: 34px; display: flex; gap: 12px 30px; flex-wrap: wrap; align-items: center; justify-content: space-between; color: var(--gsys-muted); font-size: 14px; }
.gsa-footer a { color: var(--gsys-muted); }
.gsa-footer a:hover { color: var(--gsys-gold); }
.gsa-footer .gsa-fnav ul { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; flex-wrap: wrap; }
.gsa-powered { letter-spacing: 0.06em; }

/* ------------------------- The Assay refinements ------------------------ */
.gsa-hero::after { transform-origin: center; }
@media (prefers-reduced-motion: no-preference) {
	.gsa-hero::after { animation: gsaAssay 0.7s ease-out both; }
	@keyframes gsaAssay { from { width: 0; opacity: 0; } to { width: 72px; opacity: 1; } }
}
.gsa-loop-item, .gsa-card { transition: transform 0.15s ease, box-shadow 0.15s ease; }
.gsa-loop-item:hover, .gsa-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 1px 2px rgba(24, 18, 8, 0.05), 0 14px 34px rgba(24, 18, 8, 0.1);
}
.gsa-entry-content a { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--gsys-gold) 55%, transparent); text-underline-offset: 3px; }
.gsa-entry-content a:hover { text-decoration-color: var(--gsys-gold); }

/* --------------------------- Live rate ticker --------------------------- */
.gsa-rate span[data-k] { transition: color 0.5s ease; }
.gsa-rate span.gsa-up { color: #15803d; }
.gsa-rate span.gsa-dn { color: #b91c1c; }

/* -------------------------------- Print -------------------------------- */
@media print { .gsa-header, .gsa-footer, .gsa-cta { display: none; } body { background: #fff; color: #000; } }


/* ═══════════════ v1.5.0 — Marketing site design layer ═══════════════ */

/* Cinematic hero */
.gsa-hero-lead{position:relative;text-align:center;padding-block:88px 60px;overflow:hidden}
.gsa-hero-lead::before{content:"";position:absolute;inset:0;z-index:-1;background:
	radial-gradient(1200px 420px at 50% -10%, color-mix(in srgb,var(--gsys-gold) 22%,transparent), transparent 70%),
	linear-gradient(180deg, var(--gsys-surface-2), var(--gsys-bg));}
.gsa-hero-lead .gsa-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--gsys-muted)}
.gsa-hero-lead h1{font-family:var(--gsa-serif);font-size:clamp(40px,7vw,78px);line-height:1.02;margin:.24em 0 .28em;font-weight:600}
.gsa-shimmer{background:linear-gradient(92deg,var(--gsys-gold),#f3d98b 30%,var(--gsys-gold) 55%,#e9c766 80%,var(--gsys-gold));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:gsa-sheen 6s linear infinite}
@keyframes gsa-sheen{to{background-position:200% center}}
@media (prefers-reduced-motion:reduce){.gsa-shimmer{animation:none}}
.gsa-hero-sub-line{max-width:640px;margin:0 auto;font-size:clamp(16px,2.2vw,20px);color:var(--gsys-muted);line-height:1.6}
.gsa-hero-lead .gsa-cta{justify-content:center;margin-top:30px}

/* Sub-page hero */
.gsa-hero-sub{text-align:center;padding-block:64px 34px}
.gsa-hero-sub h1{font-family:var(--gsa-serif);font-size:clamp(30px,5vw,52px);margin:.2em 0 .3em}

/* Buttons */
.gsa-btn{display:inline-block;padding:13px 26px;border-radius:999px;border:1px solid var(--gsys-border);color:var(--gsys-text);text-decoration:none;font-weight:600;font-size:15px;transition:transform .15s ease,box-shadow .15s ease}
.gsa-btn:hover{transform:translateY(-1px)}
.gsa-btn.gsa-solid{background:var(--gsys-gold);border-color:var(--gsys-gold);color:#1a1400;box-shadow:0 10px 24px -12px var(--gsys-gold)}

/* Showcase trio */
.gsa-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding-block:52px}
.gsa-show{background:var(--gsys-surface);border:1px solid var(--gsys-border);border-radius:16px;padding:26px 22px;text-align:center}
.gsa-show-ic{font-size:30px}
.gsa-show h3{font-family:var(--gsa-serif);margin:.5em 0 .3em;font-size:19px}
.gsa-show p{color:var(--gsys-muted);font-size:14.5px;line-height:1.6;margin:0}

/* Pull-quote band */
.gsa-quote-band{background:linear-gradient(180deg,var(--gsys-surface-2),var(--gsys-bg));padding-block:56px;margin-block:8px}
.gsa-quote{font-family:var(--gsa-serif);font-size:clamp(22px,3.6vw,34px);line-height:1.35;text-align:center;max-width:900px;margin:0 auto;color:var(--gsys-text);border:0;position:relative}
.gsa-quote::before{content:"“";color:var(--gsys-gold);font-size:1.4em;line-height:0;vertical-align:-.35em;margin-right:.06em}

/* Numbers band */
.gsa-numbers{background:var(--gsys-surface);border-block:1px solid var(--gsys-border);padding-block:40px;margin-block:24px}
.gsa-numbers-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;text-align:center}
.gsa-num b{display:block;font-family:var(--gsa-serif);font-size:clamp(28px,4vw,42px);color:var(--gsys-gold);line-height:1}
.gsa-num span{display:block;margin-top:8px;color:var(--gsys-muted);font-size:13.5px}

/* Feature list (product page) */
.gsa-featurelist{display:grid;gap:20px;padding-block:44px 20px}
.gsa-feature{display:flex;gap:20px;align-items:flex-start;background:var(--gsys-surface);border:1px solid var(--gsys-border);border-radius:16px;padding:24px}
.gsa-feature-ic{font-size:30px;flex:0 0 auto;line-height:1}
.gsa-feature-body h2{font-family:var(--gsa-serif);font-size:21px;margin:0 0 .4em}
.gsa-feature-body p{color:var(--gsys-muted);line-height:1.65;margin:0 0 .8em}
.gsa-feature-body ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px}
.gsa-feature-body li{position:relative;padding-left:20px;font-size:14px}
.gsa-feature-body li::before{content:"✦";position:absolute;left:0;color:var(--gsys-gold)}

/* Packages (theme fallback cards) */
.gsa-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:start}
.gsa-pkg{position:relative;background:var(--gsys-surface);border:1px solid var(--gsys-border);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column}
.gsa-pkg-featured{border-color:var(--gsys-gold);box-shadow:0 24px 60px -34px var(--gsys-gold);transform:translateY(-6px)}
.gsa-pkg-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gsys-gold);color:#1a1400;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border-radius:999px}
.gsa-pkg h3{font-family:var(--gsa-serif);font-size:24px;margin:.1em 0 .1em}
.gsa-pkg-tag{color:var(--gsys-muted);font-size:13px;margin:0 0 14px}
.gsa-pkg-price b{font-family:var(--gsa-serif);font-size:38px;color:var(--gsys-text)}
.gsa-pkg-price small{color:var(--gsys-muted)}
.gsa-pkg-year{color:var(--gsys-muted);font-size:12.5px;margin:2px 0 16px}
.gsa-pkg ul{list-style:none;margin:0 0 20px;padding:0;flex:1}
.gsa-pkg li{position:relative;padding:7px 0 7px 24px;border-bottom:1px solid color-mix(in srgb,var(--gsys-border) 60%,transparent);font-size:14px}
.gsa-pkg li::before{content:"✓";position:absolute;left:0;color:var(--gsys-gold);font-weight:700}
.gsa-pkg-cta{text-align:center}
.gsa-pkg-note{text-align:center;color:var(--gsys-muted);font-size:12.5px;margin-top:20px;max-width:640px;margin-inline:auto}

/* CTA band */
.gsa-cta-band{background:linear-gradient(180deg,var(--gsys-surface-2),var(--gsys-bg));border-top:1px solid var(--gsys-border);padding-block:60px;margin-top:32px}
.gsa-cta-band h2{font-family:var(--gsa-serif);font-size:clamp(26px,4vw,40px);margin:0 0 .3em}
.gsa-cta-band p{color:var(--gsys-muted);margin:0 0 24px}

/* Legal / long-form docs */
.gsa-doc{max-width:820px;margin-inline:auto;padding-block:12px 56px}
.gsa-doc h2{font-family:var(--gsa-serif);font-size:22px;margin:1.4em 0 .4em}
.gsa-doc p{line-height:1.75;color:var(--gsys-text);margin:0 0 1em}
.gsa-doc strong{color:var(--gsys-text)}

/* Contact form */
.gsa-form{max-width:560px;margin-inline:auto;background:var(--gsys-surface);border:1px solid var(--gsys-border);border-radius:16px;padding:26px}
.gsa-form p{margin:0 0 14px}
.gsa-form label{display:block;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--gsys-muted);margin-bottom:5px}
.gsa-form input,.gsa-form select,.gsa-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--gsys-border);border-radius:10px;padding:11px 13px;background:var(--gsys-bg);color:var(--gsys-text);font-size:15px}
.gsa-form input:focus,.gsa-form select:focus,.gsa-form textarea:focus{outline:2px solid var(--gsys-gold);outline-offset:1px}
.gsa-note{max-width:560px;margin:0 auto 18px;padding:12px 16px;border-radius:12px;text-align:center}
.gsa-note.gsa-ok{background:color-mix(in srgb,var(--gsys-gold) 14%,transparent);border:1px solid var(--gsys-gold);color:var(--gsys-text)}
