/* ============================================================
   ARTKINS DARK MODE
   ============================================================ */

/* Base colors */
body {
    --artkins-dark-bg: #0f0f0f;
    --artkins-dark-surface: #1a1a1a;
    --artkins-dark-surface-2: #242424;
    --artkins-dark-border: #2e2e2e;
    --artkins-dark-text: #f0ece6;
    --artkins-dark-text-muted: #9a9590;
    --artkins-dark-accent: #c9a87c;

    background-color: var(--artkins-dark-bg) !important;
    color: var(--artkins-dark-text) !important;
}

/* Override WordPress/theme background variables */
body {
    --wp--preset--color--theme-1: var(--artkins-dark-bg) !important;
    --wp--preset--color--theme-2: var(--artkins-dark-surface) !important;
    --wp--preset--color--theme-3: var(--artkins-dark-border) !important;
    --wp--preset--color--theme-4: var(--artkins-dark-text) !important;
    --wp--preset--color--theme-5: var(--artkins-dark-text-muted) !important;
}

/* Main content area */
main, .wp-site-blocks, .wp-block-group,
.entry-content, .site-main {
    background-color: transparent !important;
    color: var(--artkins-dark-text) !important;
}

/* Header */
.wc-blocks-header-pattern,
.wc-blocks-header-pattern .wp-block-group {
    background-color: var(--artkins-dark-bg) !important;
    color: var(--artkins-dark-text) !important;
}
.wc-blocks-header-pattern a,
.wc-blocks-header-pattern .wp-block-navigation a {
    color: var(--artkins-dark-text) !important;
}
.wc-blocks-header-pattern svg,
.wc-blocks-header-pattern .wc-block-mini-cart__button {
    color: var(--artkins-dark-text) !important;
    fill: var(--artkins-dark-text) !important;
}

/* Announcement bar */
.is-style-section-1,
.is-style-section-1 p,
.is-style-section-1 a {
    background-color: var(--artkins-dark-surface) !important;
    color: var(--artkins-dark-text) !important;
}

/* Navigation */
.wp-block-navigation a {
    color: var(--artkins-dark-text) !important;
}
.wp-block-navigation__responsive-container {
    background-color: var(--artkins-dark-bg) !important;
}
.wp-block-navigation__responsive-container-open svg {
    fill: var(--artkins-dark-text) !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    color: var(--artkins-dark-text) !important;
}

/* Paragraphs and text — exclude footer (has its own inline colors) */
:not(footer) > p, :not(footer) > span,
main p, main span, main li, main label, main td, main th,
.wp-site-blocks > :not(.wp-block-template-part) p,
.wp-site-blocks > :not(.wp-block-template-part) span,
.wp-site-blocks > :not(.wp-block-template-part) li {
    color: var(--artkins-dark-text) !important;
}

/* Links — exclude footer */
:not(footer) a { color: var(--artkins-dark-accent) !important; }
:not(footer) a:hover { color: #e0c9a0 !important; }

/* WooCommerce product cards */
.wc-block-grid__product,
.wp-block-post,
.product {
    color: var(--artkins-dark-text) !important;
}
.wc-block-grid__product-title,
.woocommerce-loop-product__title {
    color: var(--artkins-dark-text) !important;
}
.wc-block-grid__product-price,
.woocommerce-Price-amount {
    color: var(--artkins-dark-accent) !important;
}

/* Product images — soft corners, let them glow */
.wc-block-grid__product-image img,
.woocommerce-product-gallery img,
.wp-block-woocommerce-product-image img,
.wc-block-product-gallery-large-image img,
.woocommerce ul.products li.product img,
.wp-block-post-featured-image img,
.artkins-guide-card img,
.artkins-guide-img,
.wp-block-image img {
    border-radius: 12px;
}

/* Pagination buttons (reviews, shop) */
.artkins-button,
.artkins-button-secondary,
.artkins-reviews-pagination button,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous,
.page-numbers {
    background-color: var(--artkins-dark-surface-2) !important;
    color: var(--artkins-dark-text) !important;
    border: 1px solid var(--artkins-dark-border) !important;
}
.artkins-button:hover,
.artkins-button-secondary:hover,
.artkins-reviews-pagination button:hover {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
    border-color: var(--artkins-dark-accent) !important;
}
.artkins-page-info {
    color: var(--artkins-dark-text-muted) !important;
}

/* Product gallery thumbnails */
.wc-block-product-gallery-thumbnails img {
    border-radius: 8px;
    border: 2px solid transparent;
}
.wc-block-product-gallery-thumbnails img:hover {
    border-color: var(--artkins-dark-accent);
}

/* Buttons — primary */
.wp-block-button__link,
.wp-element-button,
.wc-block-components-button,
button.single_add_to_cart_button,
.wc-block-add-to-cart-form__submit {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
    border-color: var(--artkins-dark-accent) !important;
}
.wp-block-button__link:hover,
.wp-element-button:hover {
    background-color: #e0c9a0 !important;
}

/* Outline buttons */
.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--artkins-dark-accent) !important;
    border: 2px solid var(--artkins-dark-accent) !important;
}
.is-style-outline .wp-block-button__link:hover {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
}

/* Variation pills */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill {
    background-color: var(--artkins-dark-surface-2) !important;
    border-color: var(--artkins-dark-border) !important;
    color: var(--artkins-dark-text) !important;
}
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input:checked) {
    background-color: var(--artkins-dark-accent) !important;
    border-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
    background-color: var(--artkins-dark-surface-2) !important;
    border-color: var(--artkins-dark-border) !important;
}
.wc-block-components-quantity-selector input {
    color: var(--artkins-dark-text) !important;
    background: transparent !important;
}
.wc-block-components-quantity-selector button {
    color: var(--artkins-dark-text) !important;
}

/* Shop sidebar */
.artkins-shop-sidebar {
    background: var(--artkins-dark-surface) !important;
    border-color: var(--artkins-dark-border) !important;
}
.artkins-sidebar-link {
    color: var(--artkins-dark-text) !important;
}
.artkins-sidebar-link.is-active,
.artkins-sidebar-link:hover {
    background-color: var(--artkins-dark-surface-2) !important;
    color: var(--artkins-dark-accent) !important;
}
.artkins-sidebar-group-label {
    color: var(--artkins-dark-text-muted) !important;
}
.artkins-sidebar-group + .artkins-sidebar-group {
    border-color: var(--artkins-dark-border) !important;
}
.artkins-shop-sidebar-toggle {
    color: var(--artkins-dark-text) !important;
}

/* Product details accordion */
.wp-block-woocommerce-product-details,
.wp-block-woocommerce-accordion-item {
    border-color: var(--artkins-dark-border) !important;
}
.accordion-item__toggle {
    color: var(--artkins-dark-text) !important;
}
.accordion-item__toggle-icon svg {
    fill: var(--artkins-dark-text) !important;
    color: var(--artkins-dark-text) !important;
}

/* Trust signals */
.artkins-trust-signals {
    color: var(--artkins-dark-text-muted) !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a,
.wp-block-woocommerce-breadcrumbs a {
    color: var(--artkins-dark-text-muted) !important;
}

/* Product meta (SKU, categories) */
.wp-block-woocommerce-product-meta,
.wp-block-woocommerce-product-meta a {
    color: var(--artkins-dark-text-muted) !important;
}

/* Shop filter bar */
.artkins-shop-filter-bar select,
.artkins-shop-filter-bar button {
    background-color: var(--artkins-dark-surface-2) !important;
    color: var(--artkins-dark-text) !important;
    border-color: var(--artkins-dark-border) !important;
}

/* Footer — keep its own gradient bg and inline text colors */
footer .wp-block-group,
footer .wp-block-columns {
    background-color: transparent !important;
}

/* Cards / cover blocks with background colors */
.wp-block-cover,
.wp-block-cover .wp-block-cover__inner-container {
    color: var(--artkins-dark-text) !important;
}

/* Category cards on homepage */
.wp-block-column[style*="background-color"] {
    background-color: var(--artkins-dark-surface) !important;
}

/* Featured section background */
div[style*="background-color:#faf9f7"] {
    background-color: var(--artkins-dark-surface) !important;
}

/* Reviews section */
.artkins-reviews-grid,
.artkins-review-card {
    background-color: var(--artkins-dark-surface) !important;
    border-color: var(--artkins-dark-border) !important;
    color: var(--artkins-dark-text) !important;
}

/* Star ratings — product cards */
.wc-block-components-product-rating svg {
    fill: var(--artkins-dark-accent) !important;
}
/* Review form star rating — WooCommerce Blocks uses <button> inside <span class="stars"> */
.stars-wrapper .stars button,
span.stars button {
    color: rgba(255,255,255,0.5) !important;
}
.stars-wrapper .stars button.is-hovered,
span.stars button.is-hovered {
    color: #fff !important;
}
.stars-wrapper .stars button.is-selected,
span.stars button.is-selected {
    color: var(--artkins-dark-accent) !important;
}
/* Classic WooCommerce stars (fallback) */
p.stars a {
    color: rgba(255,255,255,0.5) !important;
}
p.stars a::before {
    color: rgba(255,255,255,0.5) !important;
}
p.stars.selected a.active::before {
    color: var(--artkins-dark-accent) !important;
}

/* Input fields — force dark on ALL inputs including review form */
input, select, textarea,
input[type="text"], input[type="email"], input[type="search"],
input[type="number"], input[type="tel"], input[type="url"],
.comment-form textarea, .comment-form input,
#comment, #author, #email {
    background-color: var(--artkins-dark-surface-2) !important;
    color: var(--artkins-dark-text) !important;
    border-color: var(--artkins-dark-border) !important;
}

/* WooCommerce review form */
.woocommerce-Reviews,
.comment-respond,
#review_form_wrapper {
    background-color: transparent !important;
}
.comment-form label {
    color: var(--artkins-dark-text-muted) !important;
}
.comment-form .submit,
.form-submit input[type="submit"] {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
    border-color: var(--artkins-dark-accent) !important;
}

/* PayPal messages — force light text */
.ppcp-messages,
.ppcp-messages * ,
div[data-pp-message],
div[data-pp-message] * {
    color: var(--artkins-dark-text-muted) !important;
}
/* PayPal renders in iframe — can't style inside, but hide dark-on-dark text */
.ppcp-messages iframe {
    filter: invert(1) hue-rotate(180deg) !important;
    opacity: 0.85;
}

/* FiboSearch overlay */
.artkins-search-panel {
    background: var(--artkins-dark-surface) !important;
}
.artkins-search-panel .dgwt-wcas-search-wrapp {
    border: none !important;
}
.artkins-search-panel .dgwt-wcas-sf-wrapp {
    border: 1px solid var(--artkins-dark-border) !important;
    border-radius: 8px !important;
}
.artkins-search-panel .dgwt-wcas-sf-wrapp input[type="search"] {
    padding-left: 40px !important;
}
.dgwt-wcas-search-icon,
.dgwt-wcas-ico-magnifier {
    left: 12px !important;
}
.dgwt-wcas-suggestions-wrapp {
    background: var(--artkins-dark-surface) !important;
    border-color: var(--artkins-dark-border) !important;
}
.dgwt-wcas-suggestion {
    color: var(--artkins-dark-text) !important;
    border-color: var(--artkins-dark-border) !important;
}
.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected {
    background-color: var(--artkins-dark-surface-2) !important;
}

/* Social icons */
.wp-block-social-links a {
    color: var(--artkins-dark-text) !important;
}
.wp-block-social-links svg {
    fill: var(--artkins-dark-text) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--artkins-dark-bg); }
::-webkit-scrollbar-thumb { background: var(--artkins-dark-border); border-radius: 4px; }

/* Hide Google Pay / express checkout on product pages (keep PayPal messages) */
.single-product #ppc-button-ppcp-gateway,
.single-product .ppcp-button-apm,
.single-product .ppc-button-wrapper,
.single-product div[id*="ppcp"][id*="gateway"],
.single-product #ppcp-recaptcha-v2-container {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

/* Shop by occasion — 2x2 grid on mobile */
@media (max-width: 781px) {
    .artkins-occasions-section .wp-block-columns {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }
    .artkins-occasions-section .wp-block-columns > .wp-block-column {
        flex-basis: auto !important;
        width: auto !important;
    }
}

/* Mini-cart badge — gold dot with dark text */
.wc-block-mini-cart__badge {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
}

/* Gift guide cards — equal height (cards are wp-block-group with inline border) */
.wp-block-columns:has(.wp-block-group[style*="border-color"]) {
    align-items: stretch !important;
}
.wp-block-columns:has(.wp-block-group[style*="border-color"]) > .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
}
.wp-block-columns:has(.wp-block-group[style*="border-color"]) > .wp-block-column > .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    border-color: var(--artkins-dark-border) !important;
}
.wp-block-columns:has(.wp-block-group[style*="border-color"]) .wp-block-image img {
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    width: 100% !important;
}
.wp-block-columns:has(.wp-block-group[style*="border-color"]) > .wp-block-column > .wp-block-group > p:last-of-type {
    margin-top: auto !important;
}

/* Lifestyle mosaic — no rounded corners, zero gap to footer */
.artkins-lifestyle-mosaic img {
    border-radius: 0 !important;
}
.artkins-lifestyle-mosaic {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Parent wrappers — kill all spacing down to footer */
.artkins-lifestyle-section,
.artkins-lifestyle-mosaic.wp-block-group,
.wp-block-group:has(> .artkins-lifestyle-mosaic),
.wp-block-group:has(.artkins-lifestyle-mosaic) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background-color: var(--artkins-dark-bg) !important;
}
/* Main content area, entry-content — no bottom spacing */
.wp-site-blocks > main,
.wp-site-blocks > .is-layout-constrained,
.wp-site-blocks > .entry-content,
.site-main,
.page .entry-content,
.home .entry-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Footer — no top spacing */
footer.wp-block-template-part,
.wp-block-template-part:has(footer) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Kill wp-site-blocks flex gap globally */
.wp-site-blocks {
    row-gap: 0 !important;
    gap: 0 !important;
}

/* Color swatch dots — visible ring so dark colors show on dark bg */
.artkins-color-dot {
    box-shadow: 0 0 0 1.5px rgba(255,255,255,0.4) !important;
}

/* Customer review cards */
.artkins-store-review-card {
    background: var(--artkins-dark-surface) !important;
    border: 1px solid var(--artkins-dark-border) !important;
}
.artkins-store-review-card .artkins-store-review-message,
.artkins-store-review-card .artkins-store-review-rating,
.artkins-store-review-card .artkins-store-review-author,
.artkins-store-review-card .artkins-store-review-date,
.artkins-store-review-card .artkins-store-review-meta {
    color: var(--artkins-dark-text) !important;
}
.artkins-store-review-source-chip,
.artkins-review-badge--etsy {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
}
.artkins-store-reviews-block {
    background-color: transparent !important;
}

/* MailPoet popup — lighter background so it pops against the dark page */
.mailpoet_form,
.mailpoet_popup_overlay .mailpoet_form,
div[data-automation-id="form_element"],
.mailpoet_form_popup {
    background: #2a2a2a !important;
    color: var(--artkins-dark-text) !important;
    border: none !important;
    outline: none !important;
}
/* Remove internal outline/border inside the popup */
.mailpoet_form .mailpoet_form_columns,
.mailpoet_form .mailpoet_form_column,
.mailpoet_form > div,
.mailpoet_form fieldset,
.mailpoet_form_popup > div,
div[data-automation-id="form_element"] > div,
.mailpoet_form .mailpoet_form_columns .mailpoet_form_column {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.mailpoet_popup_overlay {
    background: rgba(0,0,0,0.7) !important;
}
.mailpoet_form h1, .mailpoet_form h2, .mailpoet_form h3,
.mailpoet_form p, .mailpoet_form label, .mailpoet_form span,
.mailpoet_paragraph {
    color: var(--artkins-dark-text) !important;
}
.mailpoet_form input[type="email"],
.mailpoet_form input[type="text"],
.mailpoet_text_input {
    background-color: var(--artkins-dark-surface-2) !important;
    color: var(--artkins-dark-text) !important;
    border-color: var(--artkins-dark-border) !important;
}
.mailpoet_form input::placeholder,
.mailpoet_text_input::placeholder {
    color: var(--artkins-dark-text-muted) !important;
}
.mailpoet_form .mailpoet_submit,
.mailpoet_form input[type="submit"],
.mailpoet_submit {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
    margin-bottom: 16px !important;
}
/* Close button */
.mailpoet_form_close_icon {
    fill: var(--artkins-dark-text) !important;
}

/* Footer logo */
footer .wp-block-site-logo img,
footer .custom-logo {
    background: transparent !important;
    max-width: 60px !important;
    height: auto !important;
    width: 60px !important;
    object-fit: contain !important;
}
footer .wp-block-group,
footer .wp-block-columns {
    background-color: transparent !important;
}
/* Secure checkout / payment icons bar */
.artkins-payment-icons {
    background: var(--artkins-dark-bg) !important;
    border-top: 1px solid var(--artkins-dark-border) !important;
    color: var(--artkins-dark-text-muted) !important;
}
.artkins-payment-icons__label {
    color: var(--artkins-dark-text-muted) !important;
}
.artkins-payment-icons img {
    box-shadow: 0 0 0 1px rgba(255,255,255,0.1) !important;
}
/* Trust signals on product pages */
.artkins-trust-signals,
.artkins-trust-signals span {
    color: var(--artkins-dark-text-muted) !important;
}

/* Cover blocks — keep images, make "Shop now" links pop */
.wp-block-cover a {
    color: #fff !important;
    background-color: rgba(0,0,0,0.5) !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    display: inline-block !important;
}
.wp-block-cover a:hover {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
}

/* Blog post cards — override any inline background colors */
.wp-block-post, article {
    background-color: transparent !important;
}
.wp-block-post-featured-image img {
    border-radius: 12px;
}

/* Gift guide cards */
.artkins-guide-card,
div[class*="guide-card"],
.wp-block-group:has(.artkins-guide-card) {
    background-color: var(--artkins-dark-surface) !important;
    border-color: var(--artkins-dark-border) !important;
}
.artkins-guide-card a,
.artkins-guide-card p {
    color: var(--artkins-dark-text) !important;
}

/* #MadeForUs mosaic — remove colored background */
div[style*="background: linear-gradient"],
div[style*="background-color: rgb"] {
    background: var(--artkins-dark-bg) !important;
}

/* Select options / Add to cart button on product cards */
.woocommerce-loop-product__link + a,
a.button.product_type_variable,
a.button.product_type_simple,
.wp-block-button__link.add_to_cart_button,
.add_to_cart_button {
    background-color: transparent !important;
    color: var(--artkins-dark-accent) !important;
    border: 1.5px solid var(--artkins-dark-accent) !important;
}
a.button.product_type_variable:hover,
a.button.product_type_simple:hover,
.add_to_cart_button:hover {
    background-color: var(--artkins-dark-accent) !important;
    color: var(--artkins-dark-bg) !important;
    border-color: var(--artkins-dark-accent) !important;
}

/* Hero section and occasions — override light backgrounds */
.wp-block-group[style*="background-color:#ffffff"],
.wp-block-group[style*="background-color:#faf8f5"] {
    background-color: var(--artkins-dark-bg) !important;
}
/* Reduce gap between hero and shop by occasion */
.artkins-occasions-section {
    padding-top: var(--wp--preset--spacing--30) !important;
}
/* Occasion card backgrounds + spacing */
.artkins-occasions-section .wp-block-group[style*="background-color:#ffffff"] {
    background-color: var(--artkins-dark-surface) !important;
    border: 1px solid var(--artkins-dark-border) !important;
}
.artkins-occasions-section .wp-block-buttons {
    margin-top: 8px !important;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner {
    background-color: var(--artkins-dark-surface) !important;
    color: var(--artkins-dark-text) !important;
    border-color: var(--artkins-dark-border) !important;
}

/* Category archive description + FAQ section */
.artkins-archive-copy-inner {
    background: var(--artkins-dark-surface) !important;
    border-color: var(--artkins-dark-border) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.3) !important;
}
.artkins-archive-intro,
.artkins-archive-intro p,
.artkins-archive-faq p,
.artkins-archive-faq-item p {
    color: var(--artkins-dark-text) !important;
}
.artkins-archive-faq h2,
.artkins-archive-faq h3 {
    color: var(--artkins-dark-accent) !important;
}
