/*
Theme Name: Deviking Demo
Theme URI: https://deviking.net/
Author: Deviking
Author URI: https://deviking.net/
Description: Lightweight, modern and responsive WooCommerce theme for Deviking plugin demo sites.
Version: 1.0.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deviking-demo
Tags: e-commerce, woocommerce, responsive-layout, custom-logo, featured-images
*/

:root {
  --dv-bg: #f6f8fb;
  --dv-surface: #ffffff;
  --dv-text: #152033;
  --dv-muted: #68758a;
  --dv-border: #e7ebf1;
  --dv-accent: #1677ff;
  --dv-accent-dark: #0d5fd1;
  --dv-radius: 18px;
  --dv-shadow: 0 12px 36px rgba(24, 39, 75, .08);
  --dv-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--dv-bg);
  color: var(--dv-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--dv-accent); text-decoration: none; }
a:hover { color: var(--dv-accent-dark); }
button, input, select, textarea { font: inherit; }

.dv-container { width: min(calc(100% - 40px), var(--dv-container)); margin: 0 auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(231,235,241,.9);
}
.admin-bar .site-header { top: 32px; }
.header-row {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.site-branding { display:flex; align-items:center; min-width:0; }
.custom-logo-link { display:flex; align-items:center; }
.custom-logo { width:auto; max-width:min(300px, 34vw); max-height:46px; object-fit:contain; }
.site-logo-placeholder { display:block; width:44px; height:32px; }
.primary-nav { margin-left:auto; }
.primary-nav ul { list-style:none; display:flex; gap:28px; padding:0; margin:0; align-items:center; }
.primary-nav a { color:#334057; font-weight:600; font-size:14px; }
.primary-nav a:hover { color: var(--dv-accent); }
.header-actions { display:flex; gap:10px; align-items:center; flex:0 0 auto; }
.header-action {
  min-width:42px; height:42px; padding:0 14px;
  border:1px solid var(--dv-border); border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--dv-text); background:#fff; font-weight:700; font-size:14px;
}
.header-action:hover { border-color:#cfd7e3; color:var(--dv-accent); }
.menu-toggle { display:none; }

.site-main { padding: 42px 0 70px; }
.content-card {
  background: var(--dv-surface);
  border: 1px solid var(--dv-border);
  border-radius: var(--dv-radius);
  padding: 36px;
  box-shadow: var(--dv-shadow);
}
.entry-title, .page-title { margin:0 0 20px; line-height:1.15; letter-spacing:-.035em; }
.entry-content > *:first-child { margin-top:0; }
.entry-content > *:last-child { margin-bottom:0; }

.demo-intro p { margin:0; font-size:16px; }

.demo-section { margin-top:0; }
.content-card + .demo-section { margin-top:34px; }
.demo-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.demo-section-head h1, .demo-section-head h2 { margin:0; font-size:28px; line-height:1.15; letter-spacing:-.035em; }
.demo-section-head p { margin:0; color:var(--dv-muted); }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color:var(--dv-muted); font-size:13px; margin:0 0 20px; }
.woocommerce .woocommerce-breadcrumb a { color:#4c5a70; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { float:none; width:auto; margin:0; background:#fff; border:1px solid var(--dv-border); border-radius:18px; padding:14px; transition:.2s ease; box-shadow:0 8px 26px rgba(24,39,75,.04); }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:var(--dv-shadow); }
.woocommerce ul.products li.product a img { margin:0 0 14px; border-radius:13px; aspect-ratio:1/1; object-fit:cover; background:#f3f5f8; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--dv-text); font-size:16px; font-weight:800; padding:0; margin:0 0 7px; line-height:1.35; }
.woocommerce ul.products li.product .price { color:var(--dv-text); font-weight:800; font-size:15px; margin-bottom:11px; }
.woocommerce span.onsale { min-width:auto; min-height:auto; line-height:1; padding:7px 9px; border-radius:999px; background:#101827; font-size:11px; top:22px; left:22px; }
.woocommerce .star-rating { color:#ffb21a; }
.woocommerce div.product { background:#fff; border:1px solid var(--dv-border); border-radius:22px; padding:28px; box-shadow:var(--dv-shadow); }
.woocommerce div.product div.images img { border-radius:16px; }
.woocommerce div.product .product_title { font-size:clamp(30px,4vw,46px); line-height:1.06; letter-spacing:-.045em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--dv-text); font-size:23px; font-weight:900; }
.woocommerce div.product form.cart .variations select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single {
  width:100%; border:1px solid #dfe5ee; border-radius:11px; background:#fff; min-height:46px; padding:10px 12px; color:var(--dv-text); box-shadow:none;
}
.woocommerce .quantity .qty { min-height:46px; border:1px solid #dfe5ee; border-radius:11px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background:#fff; border-radius:14px; border:1px solid var(--dv-border); box-shadow:none; }
.woocommerce-message { border-top:3px solid #2e9d67; }
.woocommerce-info { border-top:3px solid var(--dv-accent); }
.woocommerce-error { border-top:3px solid #dc4d55; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce form.checkout, .woocommerce form.login, .woocommerce form.register, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {
  background:#fff; border:1px solid var(--dv-border); border-radius:18px; padding:22px;
}
.woocommerce table.shop_table { border-color:var(--dv-border); border-radius:14px; overflow:hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color:var(--dv-border); padding:14px; }
.woocommerce-checkout #payment { background:#f7f9fc; border-radius:14px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:11px 12px; border-radius:9px; color:#41506a; font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:#edf5ff; color:var(--dv-accent); }

.site-footer { padding:26px 0 34px; color:var(--dv-muted); font-size:13px; }
.footer-row { display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid var(--dv-border); padding-top:24px; }
.footer-nav ul { display:flex; gap:18px; list-style:none; padding:0; margin:0; }
.footer-nav a { color:var(--dv-muted); }

@media (max-width: 980px) {
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .primary-nav { position:absolute; top:76px; left:0; right:0; display:none; background:#fff; border-bottom:1px solid var(--dv-border); padding:18px 20px 22px; }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { flex-direction:column; align-items:flex-start; gap:14px; }
  .menu-toggle { display:inline-flex; }
}
@media (max-width: 782px) { .admin-bar .site-header { top:46px; } }
@media (max-width: 720px) {
  .dv-container { width:min(calc(100% - 24px), var(--dv-container)); }
  .header-row { min-height:68px; gap:12px; }
  .primary-nav { top:68px; }
  .header-action.cart-link { display:none; }
  .site-main { padding:24px 0 48px; }
  .content-card { padding:22px; border-radius:16px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woocommerce ul.products li.product { padding:10px; }
  .woocommerce div.product { padding:18px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; overflow-x:auto; padding:0 !important; }
  .footer-row { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 420px) {
  .woocommerce ul.products { grid-template-columns:1fr 1fr; }
}

/* Shared demo header */
.cart-count {
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:7px;
  background:#eef4ff;
  color:var(--dv-accent);
  font-size:11px;
  font-weight:900;
}

@media (max-width: 980px) {
  .site-branding { margin-right:auto; }
  .primary-nav { margin-left:0; }
  .primary-nav.is-open ul { flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav.is-open li + li { border-top:1px solid var(--dv-border); }
  .primary-nav.is-open a { display:block; padding:13px 2px; }
}

@media (max-width: 720px) {
  .custom-logo { max-width:52vw; max-height:38px; }
  .header-action.cart-link { display:inline-flex; padding:0 11px; }
}

@media (max-width: 420px) {
  .custom-logo { max-width:46vw; }
  .header-action.cart-link { font-size:0; min-width:42px; padding:0 9px; }
  .header-action.cart-link::before { content:'Cart'; font-size:12px; }
  .cart-count { font-size:10px; margin-left:5px; }
}

/* WooCommerce Blocks */
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar-layout {
  --wc-block-components-color-accent: var(--dv-accent);
}
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  min-width: 0;
}
.wc-block-components-sidebar,
.wc-block-components-main,
.wc-block-checkout__form,
.wc-block-cart-items {
  border-color: var(--dv-border) !important;
}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-address-form__country .wc-block-components-combobox-control input {
  border-radius: 11px !important;
}
.wc-block-components-button:not(.is-link) {
  border-radius: 12px !important;
  font-weight: 800 !important;
}
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-panel {
  border-color: var(--dv-border) !important;
}

@media (max-width: 720px) {
  .wc-block-components-sidebar-layout {
    display: block !important;
  }
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
