/*
 * Nakveti Theme — Design System Foundation v1.27.0
 * Final presentation layer: typography, borders, surfaces and day/night consistency.
 * Business data remains owned by Nakveti Core.
 */

:root{
  --nk-weight-body:400;
  --nk-weight-heading:500;
  --nk-border-thin:1px;
  --nk-shadow-soft:0 12px 34px rgba(24,58,44,.065);
  --nk-shadow-float:0 18px 48px rgba(24,58,44,.09);
  --nk-cadastral-line:color-mix(in srgb,var(--nk-green) 5%,transparent);
  --nk-cadastral-node:color-mix(in srgb,var(--nk-green-2) 8%,transparent);
}

/* Typography: intentionally light. Body/UI = 400, headings = 500. */
body{font-weight:var(--nk-weight-body)!important}
body :is(p,li,a,button,label,input,textarea,select,option,small,strong,b,em,time,figcaption,dt,dd,th,td,summary,legend){font-weight:var(--nk-weight-body)!important}
body :is(h1,h2,h3,h4,h5,h6),
body :is(.nk-title,.snw-title,.snw-card-title,.snw-services-head h2,.snw-realtor-public h1){font-weight:var(--nk-weight-heading)!important}

/* Restrained borders. Accent lines may use 2px; panels/cards stay 1px. */
:where(.nk-info-card,.nk-post,.nk-faq-item,.nk-account-control,.nk-tool-popover,.snw-card,.snw-filters,.snw-placement-section,.snw-service-card,.snw-services-upgrades,.snw-services-upgrades__grid article,.snw-profile-stats article,.snw-work-panel,.snw-portal-form,.snw-portal-card,.snw-auth-shell,.snw-auth-panel,.nk-hub-categories,.nk-hub-card,.snw-contact-page__form-card,.nk-document-page,.snw-realtor-card,.snw-realtor-public>header,.snw-realtor-public__grid section,.woocommerce-checkout form.checkout>#order_review,.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2){border-width:var(--nk-border-thin)!important}

/* Quiet cadastral signature for otherwise empty backgrounds. */
body{
  background-color:var(--nk-body-bg,#fff);
  background-image:
    linear-gradient(90deg,transparent 0 95%,var(--nk-cadastral-line) 95% 95.15%,transparent 95.15%),
    linear-gradient(0deg,transparent 0 93%,var(--nk-cadastral-line) 93% 93.15%,transparent 93.15%),
    radial-gradient(circle at 82% 22%,var(--nk-cadastral-node) 0 1.5px,transparent 1.8px),
    radial-gradient(circle at 18% 72%,var(--nk-cadastral-node) 0 1.5px,transparent 1.8px);
  background-size:260px 190px,260px 190px,360px 360px,420px 420px;
  background-attachment:fixed;
}
.nk-section:not(.is-soft),.nk-content{background-color:transparent}

/* Surface consistency in light mode. */
.nk-site-header{background:var(--nk-header-bg)}
.nk-info-card,.nk-step,.nk-post,.nk-account-dropdown,.nk-nav .sub-menu,.nk-account-control,.nk-theme-toggle,.nk-tool-popover{background:var(--nk-surface,#fff)}
.nk-page-head{background:var(--nk-page-head-bg,var(--nk-cream))}

/* Dark mode: one token system for Theme + Core-rendered presentation. */
html[data-nk-theme="dark"]{
  --nk-cadastral-line:color-mix(in srgb,var(--nk-dark-muted,#c5ced3) 4.5%,transparent);
  --nk-cadastral-node:color-mix(in srgb,var(--nk-green-2) 14%,transparent);
}
html[data-nk-theme="dark"] body{
  background-color:var(--nk-surface-2)!important;
  color:var(--nk-text)!important;
}
html[data-nk-theme="dark"] :is(.nk-section-head h2,.nk-title,.nk-offer-copy h2,.nk-info-card h3,.nk-step h3,.nk-post h3,.nk-faq-head h2,.nk-faq-item summary,.snw-services-head h2,.snw-service-card:not(.snw-service-card--realtor) h3,.snw-services-upgrades__head h3,.snw-services-upgrades__grid h4,.snw-profile-head h2,.snw-work-panel h3,.snw-listing-sections-nav a,.snw-placement-section h2,.snw-card h2,.snw-card h3,.snw-seo-location-intro h2,.snw-seo-location-index h2,.nk-listing-single .snw-detail h1,.nk-listing-single .snw-detail h2,.nk-hub-card h2,.nk-hub-categories-head h2,.snw-contact-page__form-card h2,.snw-contact-page__form-card h3,.nk-document-page h1,.nk-document-page h2,.snw-realtor-card h3 a){color:var(--nk-text)!important}
html[data-nk-theme="dark"] :is(.nk-section-head p,.nk-info-card p,.nk-step p,.nk-post time,.nk-faq-answer p,.snw-services-head>p:last-child,.snw-service-card:not(.snw-service-card--realtor)>p,.snw-services-upgrades__head p,.snw-profile-stats span,.snw-card p,.snw-card small,.snw-seo-location-intro p,.snw-seo-location-index p,.nk-hub-card-copy>p,.nk-hub-card-meta,.snw-contact-page__form-card p,.nk-document-page p,.snw-realtor-card small){color:var(--nk-text-2)!important}

html[data-nk-theme="dark"] :is(
  .nk-info-card,.nk-step,.nk-post,.nk-account-dropdown,.nk-nav .sub-menu,.nk-account-control,.nk-theme-toggle,.nk-tool-popover,.nk-home-service:not(.is-realtor),.nk-about-duo article,.nk-about-service-card,
  .snw-listing-sections-nav a,.snw-filters,.snw-smart-select__menu,.snw-placement-section,.snw-card,.snw-empty,.snw-seo-location-intro,.snw-seo-location-index,.snw-pagination .page-numbers,
  .nk-listing-single .snw-detail-grid>section,.nk-listing-single .snw-detail>section:not(.snw-contact):not(.snw-upgrade-panel),.nk-listing-single .snw-owner-contact,
  .snw-service-card:not(.snw-service-card--realtor),.snw-services-upgrades,.snw-services-upgrades__grid article,.snw-services-upgrades__head>.snw-secondary,
  .snw-profile-stats article,.snw-account-workspace>.snw-workspace-nav,.snw-work-panel,.snw-portal-form,.snw-portal-card,.snw-auth-shell,.snw-auth-panel,
  .nk-hub-categories,.nk-hub-card,.nk-hub-category-list a,.nk-hub-pagination .page-numbers,
  .snw-contact-page__cards>a,.snw-contact-page__cards>div,.snw-contact-page__social a,.snw-contact-page__form-card,
  .nk-document-page,.nk-document-meta div,
  .snw-realtor-regions,.snw-realtor-card,.snw-realtor-empty,.snw-realtor-public>header,.snw-realtor-public__grid section,.snw-realtor-contract-box,
  .woocommerce-checkout form.checkout>#order_review,.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2,.snw-checkout-manager,.snw-checkout-trust,.snw-commerce-detail,.snw-commerce-list>article,.snw-contract-list>article,.nkv-order-documents
){background:var(--nk-surface)!important;border-color:var(--nk-line)!important;color:var(--nk-text)!important}

html[data-nk-theme="dark"] :is(.nk-page-head,.nk-section.is-soft,.nk-about-hero,.snw-card-share,.snw-share-actions a,.snw-share-actions button,.snw-review-list article,.snw-realtor-card__facts,.snw-realtor-back,.snw-realtor-flow article,.snw-auth-register-cta,.snw-checkout-flow,.snw-checkout-manager-items>div,.woocommerce-checkout #payment ul.payment_methods>li,.woocommerce-checkout #payment div.payment_box){background:var(--nk-surface-3)!important;border-color:var(--nk-line)!important;color:var(--nk-text)!important}

html[data-nk-theme="dark"] :is(.snw-filters input,.snw-filters select,.snw-smart-select__button,.snw-contact-page__form :is(input,select,textarea),.snw-account-access .snw-auth-form input:not([type=checkbox]):not([type=radio]),.snw-account-access .snw-auth-form select,.snw-account-access .snw-auth-form textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection--single){background:color-mix(in srgb,var(--nk-surface) 78%,var(--nk-surface-3))!important;color:var(--nk-text)!important;border-color:var(--nk-line)!important}
html[data-nk-theme="dark"] :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--nk-text-2) 70%,transparent)!important}

html[data-nk-theme="dark"] :is(.nk-about-lead,.nk-about-duo p,.nk-about-section-head>p:last-child:not(.nk-eyebrow),.nk-about-service-card p,.nk-about-process-grid p,.nk-about-story-body){color:var(--nk-text-2)!important}
html[data-nk-theme="dark"] :is(.nk-about-duo h2,.nk-about-section-head h2,.nk-about-service-card h3,.nk-about-process-grid h3){color:var(--nk-text)!important}

/* Keep semantic brand panels intentionally green, not washed into generic dark cards. */
html[data-nk-theme="dark"] :is(.nk-cta-band,.snw-service-card--realtor,.snw-card-premium,.snw-card-urgent,.nk-home-service.is-realtor){color:#fff}

/* Dark-logo fallback: day logo remains visible unless a dedicated dark logo exists. */
html[data-nk-theme="dark"] .nk-brand-logo:not(.has-dark-logo) .nk-logo-day{display:inline-flex}

/* Focus is accessible but visually lighter than the old 3px ring. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-width:2px!important;outline-offset:2px!important}

@media(max-width:980px){body{background-attachment:scroll;background-size:220px 170px,220px 170px,320px 320px,360px 360px}}
@media(prefers-reduced-motion:reduce){body{background-attachment:scroll}}
