/* =============================================
   CREACY SITE — global dark chrome for every page.
   Sits on top of redesign.css (which provides the [data-theme="dark"] tokens)
   and creacy-home.css (homepage-only sections).
   Hardcoded Creacy palette, consistent across the whole site.
   ============================================= */

:root {
    --c-bg: #1a1a1a;
    --c-bg-2: #222222;
    --c-bg-3: #2a2a2a;
    --c-card: #252525;
    --c-olive: #7a7a52;
    --c-olive-2: #8a8a62;
    --c-text: #ffffff;
    --c-muted: #a0a0a0;
    --c-faint: #6a6a6a;
    --c-border: #333333;
    --c-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------------------------------------------
   GLOBAL PAINT
   --------------------------------------------- */
html, body {
    background-color: var(--c-bg) !important;
    color: var(--c-text) !important;
}

body, #wrapper, .wrapper,
.minimal-page, .minimal-blog, .minimal-gallery, .minimal-gallery-tags,
.minimal-contact, .minimal-404, .minimal-auth, .minimal-cart,
.minimal-order-form, .minimal-admin {
    background-color: var(--c-bg) !important;
    color: var(--c-text) !important;
}

body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }

/* Override the redesign.css token values so even token-driven
   rules read the Creacy palette on both the :root and [data-theme="dark"] layers. */
:root,
[data-theme="dark"],
[data-theme="light"] {
    --bg: #1a1a1a;
    --bg-subtle: #222222;
    --bg-scrim: rgba(26,26,26,0.92);
    --text: #ffffff;
    --text-muted: #a0a0a0;
    --text-faint: #6a6a6a;
    --border: #333333;
    --border-strong: #ffffff;
    --accent: #ffffff;
    --on-accent: #1a1a1a;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
}

/* Headings & text inherit white on the dark site */
h1, h2, h3, h4, h5, h6 { color: var(--c-text) !important; }
p, li, span { color: var(--c-muted); }
a { color: var(--c-text); }

/* ---------------------------------------------
   THEME TOGGLE — hidden site-wide
   --------------------------------------------- */
.theme-toggle { display: none !important; }

/* ---------------------------------------------
   HEADER  (unify the page-home header rules globally)
   --------------------------------------------- */
.new-header {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid transparent !important;
    transition: background 0.3s var(--c-ease), border-color 0.3s var(--c-ease),
                backdrop-filter 0.3s var(--c-ease) !important;
}
.new-header,
.new-header * { color: var(--c-text) !important; }
.new-header.header-scrolled {
    background: rgba(26,26,26,0.9) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid var(--c-border) !important;
}
.new-logo a,
.new-nav a { color: var(--c-text) !important; }
.new-logo a::after,
.new-nav a::before { background: var(--c-text) !important; }

/* Offcanvas (mobile menu) */
.offcanvas-navigation,
.offcanvas-navigation * {
    background-color: var(--c-bg) !important;
    color: var(--c-text) !important;
}
.offcanvas-navigation a { color: var(--c-text) !important; }
.shape-overlays path { fill: var(--c-bg) !important; }

/* ---------------------------------------------
   FOOTER  (unify the page-home footer rules globally)
   --------------------------------------------- */
.minimal-footer {
    background: var(--c-bg) !important;
    border-top: 1px solid var(--c-border) !important;
}
.minimal-footer,
.minimal-footer * { color: var(--c-text) !important; }
.footer-tagline,
.footer-col-text,
.footer-links a,
.footer-copyright,
.footer-back-to-top { color: var(--c-muted) !important; }
.footer-col-title { color: var(--c-faint) !important; }
.footer-email,
.footer-links a:hover,
.footer-back-to-top:hover,
.footer-email:hover { color: var(--c-text) !important; }

/* ---------------------------------------------
   SHARED ATOMS (available to every page)
   --------------------------------------------- */

/* Section label: <div class="c-section-label"><span class="num">(01)</span><span class="lbl">About</span></div> */
.c-section-label { display: flex; flex-direction: column; gap: 0.25rem; }
.c-section-label .num { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.05em; color: var(--c-faint); }
.c-section-label .lbl { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.05em; color: var(--c-muted); }

/* Pill button (already styled in creacy-home.css; repeated here so inner
   pages that don't load the homepage class still get it if we promote usage) */
.c-pill-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    border-radius: 999px; padding: 0.6rem 1.5rem;
    font-size: 0.72rem; font-weight: 500; letter-spacing: 0.05em;
    text-decoration: none; cursor: pointer; border: 1px solid transparent; line-height: 1;
    transition: background 0.3s var(--c-ease), color 0.3s var(--c-ease),
                border-color 0.3s var(--c-ease), transform 0.3s var(--c-ease);
}
.c-pill-btn svg { width: 13px; height: 13px; transition: transform 0.3s var(--c-ease); }
.c-pill-btn:hover svg { transform: translateX(3px); }
.c-pill-btn--primary { background: #fff !important; color: #1a1a1a !important; }
.c-pill-btn--primary:hover { background: #f0f0f1; transform: scale(1.02); }
.c-pill-btn--outlined { background: transparent; color: #fff; border-color: rgba(255,255,255,0.3); }
.c-pill-btn--outlined:hover { border-color: #fff; background: rgba(255,255,255,0.05); }

.c-cat-tag {
    display: inline-block; border-radius: 999px;
    background: var(--c-olive); padding: 0.4rem 1rem;
    font-size: 0.7rem; font-weight: 400; letter-spacing: 0.02em; color: #fff;
    transition: background 0.3s var(--c-ease); cursor: pointer; border: none;
}
.c-cat-tag:hover { background: var(--c-olive-2); }

/* ---------------------------------------------
   GENERIC PAGE CONTAINERS (.minimal-page etc.)
   Give them the Creacy rhythm: dark bg, generous spacing, light text.
   --------------------------------------------- */
.minimal-page,
.minimal-blog,
.minimal-gallery,
.minimal-gallery-tags,
.minimal-contact,
.minimal-order-form {
    padding: clamp(4rem, 10vw, 7.5rem) 0;
    background: var(--c-bg);
    color: var(--c-text);
}

.minimal-page .page-content-wrapper,
.minimal-page .page-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2.5rem;
}

/* Page titles */
.minimal-page .page-title,
.minimal-blog .blog-title,
.minimal-gallery .gallery-title,
.minimal-gallery-tags .gallery-tags-title,
.minimal-contact .contact-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: var(--c-text) !important;
}

.minimal-page .page-content,
.minimal-page .page-text,
.minimal-blog .blog-subtitle,
.minimal-gallery .gallery-description,
.minimal-contact .contact-intro {
    color: var(--c-muted) !important;
    line-height: 1.8;
}

.minimal-page .page-content a,
.minimal-page .page-text a { color: var(--c-text); text-decoration: underline; }

/* Default hero block (non-homepage pages share the redesign .hero-portfolio
   when present). Recolour it for the dark site. */
.hero-portfolio,
.new-hero { background: var(--c-bg) !important; }
.hero-portfolio *,
.new-hero * { color: var(--c-text) !important; }
.hero-text, .hero-headline, .hero-tagline { color: var(--c-text) !important; }
.hero-portrait { background: var(--c-bg-2) !important; }
.hero-stat-num { color: var(--c-text) !important; }
.hero-stat-label { color: var(--c-muted) !important; }

/* ---------------------------------------------
   BLOG LISTING  (cards styled like the homepage Work grid)
   --------------------------------------------- */
.minimal-blog .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 991px) { .minimal-blog .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .minimal-blog .blog-grid { grid-template-columns: 1fr; } }

.blog-card {
    background: var(--c-card) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: 0.75rem !important;
    overflow: hidden;
    transition: box-shadow 0.3s var(--c-ease), transform 0.3s var(--c-ease);
}
.blog-card:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
    transform: translateY(-4px);
}

/* Rounded image media, matching the homepage portfolio cards */
.blog-card-image {
    aspect-ratio: 4 / 5 !important;
    border-radius: 0.75rem 0.75rem 0 0 !important;
    margin-bottom: 0 !important;
    background: var(--c-bg-2) !important;
}
.blog-card-image img {
    transition: transform 0.6s var(--c-ease) !important;
}
.blog-card:hover .blog-card-image img {
    transform: scale(1.05) !important;
}

/* Badge sits on the image like the homepage category tags */
.card-badge {
    position: absolute !important;
    top: 1rem !important;
    left: 1rem !important;
    z-index: 2 !important;
    background: var(--c-olive) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 0.3rem 0.7rem !important;
    font-size: 0.6rem !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

/* Content sits in a padded body like the homepage cards */
.blog-card-content {
    padding: 1.5rem !important;
}
.blog-card-title { color: var(--c-text) !important; }
.blog-card-excerpt,
.blog-card-date { color: var(--c-muted) !important; }
.blog-card-read-more,
.readmore-link { color: var(--c-text) !important; }

/* Blog search */
.blog-search-input {
    background: var(--c-bg-2) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
}
.blog-search-input::placeholder { color: var(--c-faint) !important; }
.blog-search-input:focus {
    border-color: var(--c-text) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,0.1) !important;
}
.blog-search-btn { color: var(--c-text) !important; }

/* Blog tags sidebar */
.blog-tags { color: var(--c-text); }
.tags-title { color: var(--c-faint) !important; }
.tags-list a {
    background: var(--c-bg-2) !important;
    color: var(--c-muted) !important;
    border: 1px solid var(--c-border) !important;
    transition: color 0.3s var(--c-ease), border-color 0.3s var(--c-ease);
}
.tags-list a:hover { color: var(--c-text) !important; border-color: var(--c-text) !important; }

/* ---------------------------------------------
   SINGLE BLOG POST
   --------------------------------------------- */
.minimal-blog-post,
.blog-back-link,
.blog-post-header,
.blog-post-footer { background: transparent !important; }
.minimal-blog-post,
.minimal-blog-post * { color: var(--c-muted); }
.blog-post-title { color: var(--c-text) !important; }
.blog-post-intro { color: var(--c-muted) !important; }
.blog-back-link a,
.readmore-link,
.blog-post-footer a { color: var(--c-text) !important; }
.blog-post-image img,
.gallery-item img,
.blog-post-caption,
.gallery-caption,
.gallery-item-description {
    background: var(--c-bg-2) !important;
    color: var(--c-muted) !important;
}
/* Blog post tags → same olive category-pill look as the homepage (.c-cat-tag).
   Legacy markup puts the pill background on the <li>; the <a> holds the text. */
.blog-post-tags .widget-tag ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}
.blog-post-tags .widget-tag ul li {
    display: inline-block !important;
    margin: 0 !important;
    background: var(--c-olive) !important;
    border: none !important;
    border-radius: 999px !important;
    transition: background 0.3s var(--c-ease) !important;
}
.blog-post-tags .widget-tag ul li:hover,
.blog-post-tags .tag:hover {
    background: var(--c-olive-2) !important;
}
.blog-post-tags .widget-tag ul li a,
.blog-post-tags a,
.blog-post-tags .tag {
    display: inline-block !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    padding: 0.4rem 1rem !important;
    margin: 0 !important;
    font-size: 0.7rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}
.blog-post-tags .widget-tag ul li:hover a,
.blog-post-tags a:hover {
    color: #fff !important;
}

/* ---------------------------------------------
   GALLERY
   --------------------------------------------- */
.gallery-header { color: var(--c-text); }
.gallery-title { color: var(--c-text) !important; }
.gallery-description { color: var(--c-muted) !important; }

.gallery-item,
.portfolio-box-layout5,
.layer-block {
    background: var(--c-card) !important;
    border-color: var(--c-border) !important;
}
.item-img { background: var(--c-bg-2) !important; }
.card-badge { background: var(--c-olive) !important; color: #fff !important; }
.layer-block-text h4 { color: var(--c-text) !important; }
.layer-block-text .text-medium { color: var(--c-muted) !important; }

/* Gallery index cards */
.gallery-tag-card {
    background: var(--c-card) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: 0.75rem !important;
    overflow: hidden;
    transition: box-shadow 0.3s var(--c-ease), transform 0.3s var(--c-ease);
}
.gallery-tag-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.4); transform: translateY(-4px); }
.gallery-tag-image { background: var(--c-bg-2) !important; }
.gallery-tag-name { color: var(--c-text) !important; }
.gallery-tag-info { color: var(--c-muted) !important; }

/* ---------------------------------------------
   CONTACT / FORMS
   --------------------------------------------- */
.minimal-contact .contact-item { color: var(--c-muted) !important; }
.minimal-contact .contact-label { color: var(--c-faint) !important; }
.minimal-contact .contact-value { color: var(--c-text) !important; }
.minimal-contact .contact-value a,
.contact-email,
.contact-phone { color: var(--c-text) !important; }

.minimal-form,
.minimal-order-form .minimal-form {
    background: var(--c-card) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: 0.75rem;
}
.form-group label,
.minimal-form label { color: var(--c-muted) !important; }
.form-group input,
.form-group textarea,
.form-group select,
.minimal-form input,
.minimal-form textarea,
.minimal-form select {
    background: var(--c-bg-2) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
}
.form-group input::placeholder,
.form-group textarea::placeholder,
.minimal-form input::placeholder,
.minimal-form textarea::placeholder { color: var(--c-faint) !important; }
.form-group input:focus,
.form-group textarea:focus,
.minimal-form input:focus,
.minimal-form textarea:focus {
    border-color: var(--c-text) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,0.1) !important;
    outline: none !important;
}

/* Buttons in forms / generic */
.btn-primary,
.btn-outline,
input[type="submit"],
button[type="submit"] {
    background: var(--c-text) !important;
    color: var(--c-bg) !important;
    border: 1px solid var(--c-text) !important;
    border-radius: 999px !important;
    padding: 0.75rem 2rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    cursor: pointer;
    transition: background 0.3s var(--c-ease), color 0.3s var(--c-ease), transform 0.3s var(--c-ease);
}
.btn-primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background: #f0f0f1 !important;
    transform: scale(1.02);
}
.btn-outline {
    background: transparent !important;
    color: var(--c-text) !important;
    border-color: rgba(255,255,255,0.3) !important;
}
.btn-outline:hover {
    border-color: var(--c-text) !important;
    background: rgba(255,255,255,0.05) !important;
}

/* ---------------------------------------------
   404
   --------------------------------------------- */
.minimal-404 { text-align: center; }
.error-404-title { color: var(--c-text) !important; font-weight: 300 !important; }
.error-404-subtitle,
.error-404-text { color: var(--c-muted) !important; }

/* ---------------------------------------------
   AUTH / CART / ADMIN  (less-polished but dark-consistent)
   --------------------------------------------- */
.minimal-auth,
.minimal-cart,
.minimal-admin {
    background: var(--c-bg) !important;
    color: var(--c-text) !important;
}
.minimal-auth input,
.minimal-auth textarea,
.minimal-cart input,
.minimal-admin input {
    background: var(--c-bg-2) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
}
.minimal-auth h1, .minimal-auth h2,
.minimal-cart h1, .minimal-cart h2,
.minimal-admin h1, .minimal-admin h2 { color: var(--c-text) !important; }

/* ---------------------------------------------
   FULLSCREEN IMAGE VIEWER (shared by galleries + blog posts)
   --------------------------------------------- */
.fullscreen-viewer { background: rgba(0,0,0,0.92) !important; }
.fullscreen-close,
.fullscreen-nav,
.fullscreen-counter { color: var(--c-text) !important; }
.fullscreen-close:hover,
.fullscreen-prev:hover,
.fullscreen-next:hover { color: var(--c-muted) !important; }

/* ---------------------------------------------
   SCROLLBAR (subtle, on dark)
   --------------------------------------------- */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--c-bg); }
::-webkit-scrollbar-thumb { background: var(--c-border); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #444; }

/* ---------------------------------------------
   SELECTION
   --------------------------------------------- */
::selection { background: var(--c-olive); color: #fff; }
