/**
 * Global tokens + reset + typography.
 *
 * TODO: extract from /../images/../test.html <style> blocks (lines 1-900 approx).
 * For now: minimal tokens + reset until full extraction.
 */

:root {
    /* Brand */
    --limark-navy: #1B2A5B;
    --limark-berry: #9E2A6D;
    --limark-gold: #D4A84B;
    --safease-purple: #4A2366;
    --safease-deep: #3B1053;
    --cta-gold: #F8DC4A;

    /* Neutrals */
    --white: #FFFFFF;
    --off-white: #FAF8F5;
    --warm-gray: #F0EDE8;
    --text-primary: #1A1A1A;
    --text-secondary: #6B6B6B;
    --border-light: #E8E4DD;

    /* Radius */
    --r-card: 14px;
    --r-pill: 999px;
    --r-button: 8px;

    /* Fonts */
    --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-serif: 'Lora', Georgia, serif;

    /* Spacing fluid */
    --sp-xs: clamp(8px, 1vw, 12px);
    --sp-sm: clamp(12px, 1.5vw, 20px);
    --sp-md: clamp(20px, 2.5vw, 32px);
    --sp-lg: clamp(32px, 4vw, 56px);
    --sp-xl: clamp(48px, 6vw, 88px);
    --sp-section: clamp(64px, 8vw, 120px);
}

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

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-primary);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.no-scroll { overflow: hidden; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-serif);
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
}

a { color: inherit; text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--limark-berry); }

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

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
}
.skip-link:focus {
    left: 8px;
    top: 8px;
    background: var(--limark-navy);
    color: #fff;
    padding: 10px 16px;
    z-index: 9999;
}

.visually-hidden {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 3vw, 40px);
}

/* TODO: port ticker, nav-capsule, hero-split, brand-card, FAQ, footer, philosophy sections from test.html */

/* ===== Editorial archive / search / shop / comments / searchform — Spec 1 ===== */

.limark-shop { padding: clamp(40px, 6vw, 80px) 0; }
.limark-shop__hero {
    max-width: 1280px;
    margin: 0 auto clamp(32px, 5vw, 64px);
    padding: 0 clamp(20px, 3vw, 40px);
    text-align: center;
}
.limark-shop__eyebrow {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-secondary);
    margin-bottom: 14px;
}
.limark-shop__title {
    font-family: var(--font-serif);
    font-size: clamp(32px, 5vw, 56px);
    line-height: 1.1;
    margin: 0 0 16px;
}
.limark-shop__sub {
    max-width: 640px;
    margin: 0 auto;
    color: var(--text-secondary);
    font-size: clamp(15px, 1.6vw, 17px);
    line-height: 1.6;
}
.limark-shop__crumb { margin-top: 24px; font-size: 13px; color: #9B9B9B; }
.limark-shop__crumb a { color: inherit; }
.limark-shop__body {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 3vw, 40px);
}

.limark-searchform {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--border-light);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}
.limark-searchform__input {
    flex: 1;
    border: 0;
    padding: 14px 20px;
    font: inherit;
    font-size: 16px;
    background: transparent;
    outline: none;
    min-height: 48px;
}
.limark-searchform__submit {
    border: 0;
    background: var(--limark-navy);
    color: #fff;
    padding: 0 22px;
    cursor: pointer;
    font-size: 16px;
    min-width: 56px;
}
.limark-searchform__submit:hover { background: #0F1D42; }

.limark-comments {
    max-width: 760px;
    margin: clamp(48px, 6vw, 80px) auto 0;
    padding: 0 clamp(20px, 3vw, 40px);
}
.limark-comments__title {
    font-family: var(--font-serif);
    font-size: clamp(22px, 3vw, 30px);
    margin: 0 0 24px;
}
.limark-comments__list { list-style: none; padding: 0; margin: 0 0 32px; }
.limark-comments__list .comment {
    border-top: 1px solid var(--border-light);
    padding: 20px 0;
}
.limark-comments__list .comment:first-child { border-top: 0; }
.limark-comments__list .comment-author { font-weight: 500; }
.limark-comments__list .comment-meta { font-size: 13px; color: #9B9B9B; margin-bottom: 8px; }
.limark-comments__list ol.children { list-style: none; padding-left: 24px; margin-top: 12px; }
.limark-comments__form { display: grid; gap: 16px; margin-top: 32px; }
.limark-comments__form input[type=text],
.limark-comments__form input[type=email],
.limark-comments__form input[type=url],
.limark-comments__form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    font: inherit;
    min-height: 48px;
}
.limark-comments__form textarea { min-height: 120px; resize: vertical; }
.limark-comments__form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; }
.limark-comments__closed { color: #9B9B9B; font-style: italic; }

.limark-cta {
    display: inline-block;
    padding: 14px 28px;
    background: var(--limark-navy);
    color: #fff;
    border-radius: 999px;
    font-size: 14px;
    letter-spacing: 0.05em;
    border: 0;
    cursor: pointer;
    min-height: 48px;
}
.limark-cta:hover { background: #0F1D42; color: #fff; }

.limark-page__pagelinks { margin-top: 24px; font-size: 14px; }
.limark-page__pagelinks a { color: var(--limark-navy); }

/* Product card (content-product.php) */
.limark-pcard {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.25s;
}
.limark-pcard:hover { transform: translateY(-2px); }
.limark-pcard__link { display: block; color: inherit; }
.limark-pcard__media { aspect-ratio: 4 / 5; background: var(--warm-gray); overflow: hidden; }
.limark-pcard__media img { width: 100%; height: 100%; object-fit: contain; padding: 12%; }
.limark-pcard__body { padding: 18px 20px; }
.limark-pcard__brand {
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #9B9B9B;
}
.limark-pcard__title {
    font-family: var(--font-serif);
    font-size: 20px;
    line-height: 1.25;
    margin: 8px 0 10px;
    font-weight: 500;
}
.limark-pcard__price { font-family: var(--font-serif); font-size: 17px; }
.limark-pcard__cta { padding: 0 20px 20px; }
.limark-pcard__cta .button {
    display: inline-block;
    padding: 10px 20px;
    background: var(--limark-navy);
    color: #fff;
    border-radius: 999px;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-decoration: none;
}
