/*
Theme Name: AI Generated Theme
Description: Wygenerowany przez Theme AI Engine. Styl: clean-modern, Układ: magazine. Data: 2026-03-19 12:06
Author: Theme AI Engine
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: taie-generated
*/

/* =============================================
   Theme AI Engine — wygenerowany automatycznie
   Nie edytuj ręcznie — zmiany zostaną nadpisane
   ============================================= */

/* ---- A. Google Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Nunito:wght@300;400;500&display=swap');

/* ---- B. CSS Custom Properties ---- */
:root {
  --taie-primary:        #0EA5E9;
  --taie-primary-dark:   #0C8AC3;
  --taie-primary-light:  #E4F4FB;
  --taie-secondary:      #0369A1;
  --taie-accent:         #BAE6FD;
  --taie-bg:             #FFFFFF;
  --taie-surface:        #F8F9FA;
  --taie-surface-alt:    #F3F4F6;
  --taie-text:           #111827;
  --taie-text-secondary: #4B5563;
  --taie-text-muted:     #9CA3AF;
  --taie-border:         #E5E7EB;
  --taie-border-light:   #F3F4F6;
  --taie-success:        #10B981;
  --taie-error:          #EF4444;

  --taie-font-heading:  'Playfair Display', Georgia, serif;
  --taie-font-body:     'Nunito', system-ui, sans-serif;
  --taie-size-base:     14px;
  --taie-size-sm:       13px;
  --taie-size-xs:       11px;
  --taie-size-h1:       clamp(1.4rem,2.5vw,2rem);
  --taie-size-h2:       clamp(1.1rem,2vw,1.5rem);
  --taie-size-h3:       clamp(1rem,1.5vw,1.2rem);
  --taie-size-h4:       1rem;
  --taie-weight-heading:700;
  --taie-weight-medium: 500;
  --taie-weight-body:   400;
  --taie-line-height:   1.6;
  --taie-ls-heading:    -0.02em;
  --taie-ls-caps:       0.08em;

  --taie-xs:2px; --taie-sm:6px; --taie-md:12px;
  --taie-lg:24px; --taie-xl:48px; --taie-xxl:80px;

  --taie-r-xs:2px; --taie-r-sm:4px;
  --taie-r-md:8px; --taie-r-lg:16px;
  --taie-r-xl:24px; --taie-r-pill:999px;

  --taie-shadow-xs:0 1px 2px rgba(0,0,0,0.05); --taie-shadow-sm:0 2px 8px rgba(0,0,0,0.06);
  --taie-shadow-md:0 4px 20px rgba(0,0,0,0.08); --taie-shadow-lg:0 8px 40px rgba(0,0,0,0.12);
  --taie-shadow-xl:0 20px 60px rgba(0,0,0,0.15);

  --taie-dur-fast:   150ms;
  --taie-dur-normal: 250ms;
  --taie-dur-slow:   400ms;
  --taie-ease:       cubic-bezier(0.4, 0, 0.2, 1);
  --taie-ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ---- C. Reset i base ---- */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

body {
  font-family: 'Nunito', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #111827 !important;
  background-color: #FFFFFF !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---- D. Typografia ---- */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: #111827 !important;
}
h1 { font-size: clamp(1.4rem,2.5vw,2rem) !important; }
h2 { font-size: clamp(1.1rem,2vw,1.5rem) !important; }
h3 { font-size: clamp(1rem,1.5vw,1.2rem) !important; }
h4, h5, h6 { font-size: 1rem !important; }
p { color: #4B5563; margin-bottom: 1.5em; }
a { color: #0EA5E9 !important; text-decoration: none; transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1); }
a:hover, a:focus { color: #0C8AC3 !important; }
strong, b { font-weight: 500; }

/* ---- E. WooCommerce — Karty produktów ---- */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product {
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important;
  transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
  background: #F8F9FA !important;
  border: 1px solid #F3F4F6 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  animation: taie-fade-up 400ms cubic-bezier(0.4, 0, 0.2, 1) both;
}
.woocommerce ul.products li.product:nth-child(2) { animation-delay: 50ms; }
.woocommerce ul.products li.product:nth-child(3) { animation-delay: 100ms; }
.woocommerce ul.products li.product:nth-child(4) { animation-delay: 150ms; }
.woocommerce ul.products li.product:nth-child(n+5) { animation-delay: 200ms; }
.woocommerce ul.products li.product:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important; transform: translateY(-4px) !important; }
.woocommerce ul.products li.product a img { border-radius: 8px !important; transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1) !important; width: 100% !important; display: block; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Playfair Display', Georgia, serif !important; font-size: 1rem !important; font-weight: 700 !important; color: #111827 !important; padding: 12px 12px 2px !important; letter-spacing: -0.02em !important; line-height: 1.3 !important; }
.woocommerce ul.products li.product .price { color: #111827 !important; font-size: 1.25rem !important; font-weight: 600 !important; padding: 0 12px 12px !important; display: block !important; }
.woocommerce ul.products li.product .price del { color: #9CA3AF !important; font-size: 0.9em !important; margin-right: 2px !important; }
.woocommerce ul.products li.product .button { margin: 0 12px 12px !important; width: calc(100% - 24px) !important; }

/* ---- F. WooCommerce — Przyciski ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce-button,
.woocommerce .button.checkout-button,
.woocommerce .checkout-button,
.wc-block-components-button,
.wc-proceed-to-checkout a,
.woocommerce .actions button[type="submit"],
.woocommerce button[name="apply_coupon"],
.woocommerce .return-to-shop a {
  background-color: #0EA5E9 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  font-family: 'Nunito', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: 0 8px 30px rgba(14,165,233,0.30) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .button.checkout-button:hover,
.wc-proceed-to-checkout a:hover { background-color: #0C8AC3 !important; transform: translateY(-1px) !important; box-shadow: 0 8px 40px rgba(0,0,0,0.12) !important; color: #FFFFFF !important; }
.woocommerce a.button:disabled,
.woocommerce button.button:disabled { opacity: 0.55 !important; cursor: not-allowed !important; }

/* ---- G. WooCommerce — Badge, oceny ---- */
.woocommerce span.onsale { background: #EF4444 !important; color: #FFFFFF !important; border-radius: 4px !important; padding: 4px 12px !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; font-family: 'Nunito', system-ui, sans-serif !important; min-height: auto !important; min-width: auto !important; line-height: 1.5 !important; }
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: #F59E0B !important; }
.woocommerce-Price-amount.amount { color: #111827 !important; font-weight: 600 !important; }

/* ---- H. WooCommerce — Pojedynczy produkt ---- */
.woocommerce div.product .product_title { font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(1.1rem,2vw,1.5rem) !important; font-weight: 700 !important; letter-spacing: -0.02em !important; color: #111827 !important; margin-bottom: 12px !important; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: #111827 !important; font-size: 1.5rem !important; font-weight: 700 !important; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #4B5563 !important; line-height: 1.6 !important; }
.woocommerce div.product form.cart .qty { border: 1px solid #E5E7EB !important; border-radius: 8px !important; padding: 10px 12px !important; color: #111827 !important; background: #F8F9FA !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: 'Nunito', system-ui, sans-serif !important; font-weight: 500 !important; font-size: 13px !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; color: #4B5563 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #0EA5E9 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-top: 2px solid #0EA5E9 !important; background: #F8F9FA !important; }

/* ---- I. WooCommerce — Koszyk i kasa ---- */
.woocommerce table.shop_table { border: 1px solid #F3F4F6 !important; border-radius: 16px !important; overflow: hidden !important; border-collapse: separate !important; border-spacing: 0 !important; }
.woocommerce table.shop_table th { background: #F3F4F6 !important; font-family: 'Playfair Display', Georgia, serif !important; font-weight: 500 !important; color: #111827 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; font-size: 13px !important; padding: 12px 24px !important; }
.woocommerce table.shop_table td { padding: 12px 24px !important; border-top: 1px solid #F3F4F6 !important; color: #111827 !important; vertical-align: middle !important; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { background: #F3F4F6 !important; border-radius: 16px !important; padding: 24px !important; border: 1px solid #F3F4F6 !important; }

/* ---- J. WooCommerce — Formularze kasy ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select { border: 2px solid #E5E7EB !important; border-radius: 8px !important; padding: 12px 16px !important; font-family: 'Nunito', system-ui, sans-serif !important; font-size: 14px !important; background: #F8F9FA !important; color: #111827 !important; transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1) !important; width: 100% !important; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-page form .form-row input.input-text:focus { border-color: #0EA5E9 !important; box-shadow: 0 0 0 3px #0EA5E920 !important; outline: none !important; }
.woocommerce form label,
.woocommerce-page form label { font-weight: 500 !important; font-size: 13px !important; color: #4B5563 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; margin-bottom: 6px !important; display: block !important; }

/* ---- K. WooCommerce — Widgety boczne ---- */
.widget_price_filter .ui-slider .ui-slider-range { background: #0EA5E9 !important; }
.widget_price_filter .ui-slider .ui-slider-handle { background: #0EA5E9 !important; border-color: #0C8AC3 !important; }
.widget_price_filter .price_slider_amount .button { background: #0EA5E9 !important; color: #fff !important; border-radius: 8px !important; }

/* ---- L. WooCommerce Blocks ---- */
.wc-block-product-template { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 24px !important; }
.wc-block-grid__product, .wc-block-product { border-radius: 12px !important; overflow: hidden !important; background: #F8F9FA !important; border: 1px solid #F3F4F6 !important; box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important; transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1) !important; }
.wc-block-grid__product:hover, .wc-block-product:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important; transform: translateY(-4px) !important; }
.wc-block-components-button:not(:disabled) { background-color: #0EA5E9 !important; color: #FFFFFF !important; border-radius: 8px !important; border: none !important; font-family: 'Nunito', system-ui, sans-serif !important; font-weight: 500 !important; }
.wc-block-components-button:not(:disabled):hover { background-color: #0C8AC3 !important; }
.woocommerce-message, .wc-block-components-notice-banner { border-left-color: #0EA5E9 !important; }
.woocommerce-error { border-left-color: #EF4444 !important; }

/* ---- M. Formularze z wtyczek (CF7, Gravity Forms, Ninja Forms) ---- */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea,
.gfield input[type="text"], .gfield input[type="email"], .gfield input[type="tel"], .gfield textarea,
.ninja-forms-field { border: 2px solid #E5E7EB !important; border-radius: 8px !important; padding: 12px 16px !important; font-family: 'Nunito', system-ui, sans-serif !important; font-size: 14px !important; background: #F8F9FA !important; color: #111827 !important; width: 100% !important; transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1) !important; }
.wpcf7 input:focus, .wpcf7 textarea:focus, .gfield input:focus, .gfield textarea:focus { border-color: #0EA5E9 !important; box-shadow: 0 0 0 3px #0EA5E920 !important; outline: none !important; }
.wpcf7 input[type="submit"], .gform_button, .ninja-forms-field[type="submit"] { background: #0EA5E9 !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 14px 32px !important; font-family: 'Nunito', system-ui, sans-serif !important; font-weight: 500 !important; font-size: 15px !important; cursor: pointer !important; transition: background 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1) !important; }
.wpcf7 input[type="submit"]:hover, .gform_button:hover { background: #0C8AC3 !important; transform: translateY(-1px) !important; }

/* ---- N. Footer generyczny ---- */
footer, .site-footer, #footer, #colophon { background: #111827 !important; color: rgba(255,255,255,0.70) !important; }
footer a, .site-footer a, #footer a, #colophon a { color: rgba(255,255,255,0.70) !important; }
footer a:hover, .site-footer a:hover { color: #fff !important; }

/* ---- O. Responsywność ---- */
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .woocommerce a.button, .woocommerce button.button { width: 100% !important; justify-content: center !important; }
}

/* ---- P. Animacje ---- */
@keyframes taie-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* === Layout: Magazine === */
.taie-hero-section { background: linear-gradient(135deg, #0EA5E9 0%, #0C8AC3 100%); color: #fff; padding: 5rem 2rem; text-align: center; margin-bottom: 3rem; }
.taie-hero-section h1 { color: #fff !important; font-size: 3rem !important; margin: 0 0 1rem; }
.taie-hero-section p { color: rgba(255,255,255,0.85); font-size: 1.2rem; max-width: 600px; margin: 0 auto 2rem; }
.woocommerce ul.products { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; }
/* =============================================
   Theme AI Engine — Semantic CSS variable aliases
   ============================================= */
:root {
  --taie-color-primary:        var(--taie-primary);
  --taie-color-primary-dark:   var(--taie-primary-dark);
  --taie-color-primary-light:  var(--taie-primary-light);
  --taie-color-secondary:      var(--taie-secondary);
  --taie-color-accent:         var(--taie-accent);
  --taie-color-bg:             var(--taie-bg);
  --taie-color-surface:        var(--taie-surface);
  --taie-color-surface-alt:    var(--taie-surface-alt);
  --taie-color-text:           var(--taie-text);
  --taie-color-text-secondary: var(--taie-text-secondary);
  --taie-color-text-muted:     var(--taie-text-muted);
  --taie-color-border:         var(--taie-border);
  --taie-color-border-light:   var(--taie-border-light);
  --taie-color-success:        var(--taie-success);
  --taie-color-error:          var(--taie-error);

  --taie-space-xs:  var(--taie-xs);
  --taie-space-sm:  var(--taie-sm);
  --taie-space-md:  var(--taie-md);
  --taie-space-lg:  var(--taie-lg);
  --taie-space-xl:  var(--taie-xl);
  --taie-space-xxl: var(--taie-xxl);

  --taie-radius-xs:   var(--taie-r-xs);
  --taie-radius-sm:   var(--taie-r-sm);
  --taie-radius-md:   var(--taie-r-md);
  --taie-radius-lg:   var(--taie-r-lg);
  --taie-radius-xl:   var(--taie-r-xl);
  --taie-radius-pill: var(--taie-r-pill);

  --taie-letter-spacing-heading: var(--taie-ls-heading);
  --taie-letter-spacing-caps:    var(--taie-ls-caps);
}

/* =============================================
   Theme AI Engine — Base Theme Styles
   ============================================= */

/* ---- Layout containers ---- */
.taie-page-wrapper { min-height: 60vh; }
.taie-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--taie-space-lg);
}
.taie-page-layout {
  display: grid;
  gap: var(--taie-space-xl);
  grid-template-columns: 1fr;
  padding: var(--taie-space-xl) 0;
}
.taie-shop-wrapper {
  padding: var(--taie-space-xl) 0;
}

/* ---- Header ---- */
.taie-header {
  background: var(--taie-color-primary);
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: var(--taie-shadow-md);
  transition: box-shadow 0.3s ease;
}
.taie-header.taie-scrolled { box-shadow: var(--taie-shadow-lg); }
.taie-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--taie-space-lg);
  display: flex;
  align-items: center;
  gap: var(--taie-space-md);
  min-height: 64px;
}
.taie-site-branding a,
.taie-site-title {
  font-family: var(--taie-font-heading);
  font-weight: var(--taie-weight-heading);
  font-size: 1.4rem;
  color: #fff !important;
  text-decoration: none;
  letter-spacing: var(--taie-letter-spacing-heading);
  white-space: nowrap;
}
.taie-header .custom-logo-link img { max-height: 48px; width: auto; }

/* ---- Navigation ---- */
.taie-nav { margin-left: auto; }
.taie-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 2px;
  align-items: center;
  flex-wrap: wrap;
}
.taie-nav-menu li { position: relative; }
.taie-nav-menu > li > a {
  display: block;
  color: rgba(255,255,255,0.90) !important;
  font-size: var(--taie-size-sm);
  font-weight: var(--taie-weight-medium);
  padding: 8px var(--taie-space-md);
  border-radius: var(--taie-radius-sm);
  text-decoration: none;
  letter-spacing: var(--taie-letter-spacing-caps);
  text-transform: uppercase;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}
.taie-nav-menu > li > a:hover,
.taie-nav-menu > li.current-menu-item > a,
.taie-nav-menu > li.current-menu-ancestor > a {
  color: #fff !important;
  background: rgba(255,255,255,0.15);
}
.taie-nav-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--taie-color-primary-dark);
  box-shadow: var(--taie-shadow-lg);
  border-radius: var(--taie-radius-md);
  padding: var(--taie-space-xs) 0;
  min-width: 200px;
  z-index: 400;
}
.taie-nav-menu li:hover > .sub-menu { display: block; }
.taie-nav-menu .sub-menu li a {
  display: block;
  padding: var(--taie-space-xs) var(--taie-space-md);
  color: rgba(255,255,255,0.85) !important;
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--taie-size-sm);
  font-weight: var(--taie-weight-medium);
  transition: background 0.15s ease;
  text-decoration: none;
}
.taie-nav-menu .sub-menu li a:hover { color: #fff !important; background: rgba(255,255,255,0.10); }

/* ---- Cart icon ---- */
.taie-header-cart { margin-left: var(--taie-space-sm); }
.taie-cart-link {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.90) !important;
  text-decoration: none;
  position: relative;
  padding: 6px;
  border-radius: var(--taie-radius-sm);
  transition: color 0.15s;
}
.taie-cart-link:hover { color: #fff !important; background: rgba(255,255,255,0.12); }
.taie-cart-count {
  background: var(--taie-color-accent);
  color: #fff;
  border-radius: var(--taie-radius-pill);
  font-size: 11px;
  font-weight: var(--taie-weight-medium);
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  position: absolute;
  top: -4px;
  right: -4px;
  line-height: 1;
}

/* ---- Hamburger ---- */
.taie-menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  margin-left: auto;
}
.taie-menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: rgba(255,255,255,0.90);
  border-radius: 2px;
  transition: all 0.25s ease;
}
.taie-menu-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.taie-menu-toggle.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.taie-menu-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Main content area ---- */
.taie-main { padding: 0; }

/* ---- Post cards grid ---- */
.taie-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--taie-space-lg);
  margin: var(--taie-space-xl) 0;
}
.taie-post-card {
  background: var(--taie-color-surface);
  border-radius: var(--taie-radius-lg);
  overflow: hidden;
  box-shadow: var(--taie-shadow-sm);
  border: 1px solid var(--taie-color-border-light);
  transition: box-shadow 0.25s ease, transform 0.2s ease;
  display: flex;
  flex-direction: column;
}
.taie-post-card:hover { box-shadow: var(--taie-shadow-lg); transform: translateY(-3px); }
.taie-post-thumbnail { overflow: hidden; }
.taie-post-thumbnail img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.taie-post-card:hover .taie-post-thumbnail img { transform: scale(1.04); }
.taie-post-card-body {
  padding: var(--taie-space-lg);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.taie-post-meta {
  font-size: var(--taie-size-xs);
  color: var(--taie-color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--taie-letter-spacing-caps);
  margin-bottom: var(--taie-space-sm);
}
.taie-post-meta a { color: var(--taie-color-primary) !important; }
.taie-post-title {
  font-family: var(--taie-font-heading);
  font-size: var(--taie-size-h3);
  font-weight: var(--taie-weight-heading);
  margin: 0 0 var(--taie-space-sm);
  line-height: 1.3;
  letter-spacing: var(--taie-letter-spacing-heading);
}
.taie-post-title a { color: var(--taie-color-text) !important; text-decoration: none; }
.taie-post-title a:hover { color: var(--taie-color-primary) !important; }
.taie-post-excerpt {
  color: var(--taie-color-text-secondary);
  font-size: var(--taie-size-sm);
  line-height: var(--taie-line-height);
  margin-bottom: var(--taie-space-md);
  flex: 1;
}
.taie-post-excerpt p { margin: 0; }

/* ---- Buttons ---- */
.taie-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  border-radius: var(--taie-radius-md);
  padding: 10px 20px;
  font-family: var(--taie-font-body);
  font-weight: var(--taie-weight-medium);
  font-size: var(--taie-size-sm);
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  line-height: 1.4;
  white-space: nowrap;
}
.taie-btn-primary {
  background: var(--taie-color-primary);
  color: #fff !important;
  box-shadow: var(--taie-shadow-sm);
}
.taie-btn-primary:hover {
  background: var(--taie-color-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: var(--taie-shadow-md);
}
.taie-btn-secondary {
  background: transparent;
  color: var(--taie-color-primary) !important;
  border: 1px solid var(--taie-color-primary);
}
.taie-btn-secondary:hover {
  background: var(--taie-color-primary);
  color: #fff !important;
}

/* ---- Archive title ---- */
.taie-archive-title {
  font-family: var(--taie-font-heading);
  font-size: var(--taie-size-h1);
  font-weight: var(--taie-weight-heading);
  margin: 0 0 var(--taie-space-lg);
  padding-bottom: var(--taie-space-md);
  border-bottom: 2px solid var(--taie-color-border-light);
  letter-spacing: var(--taie-letter-spacing-heading);
}

/* ---- Page content ---- */
.taie-page-article { max-width: 860px; }
.taie-page-header { margin-bottom: var(--taie-space-xl); }
.taie-page-header-title,
.taie-page-title {
  font-family: var(--taie-font-heading);
  font-size: var(--taie-size-h1);
  font-weight: var(--taie-weight-heading);
  margin: 0 0 var(--taie-space-md);
  line-height: 1.15;
  letter-spacing: var(--taie-letter-spacing-heading);
  padding-bottom: var(--taie-space-md);
  border-bottom: 2px solid var(--taie-color-border-light);
}
.taie-page-content,
.taie-single-content,
.entry-content {
  font-size: var(--taie-size-base);
  line-height: var(--taie-line-height);
  color: var(--taie-color-text-secondary);
}
.taie-page-content > * + *,
.taie-single-content > * + *,
.entry-content > * + * { margin-top: 1.5em; }
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
  margin-top: 2em;
  margin-bottom: 0.6em;
}
.entry-content ul, .entry-content ol {
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}
.entry-content li { margin-bottom: 0.4em; }
.entry-content blockquote {
  border-left: 4px solid var(--taie-color-primary);
  padding: var(--taie-space-md) var(--taie-space-lg);
  margin: var(--taie-space-xl) 0;
  background: var(--taie-color-surface-alt);
  border-radius: 0 var(--taie-radius-md) var(--taie-radius-md) 0;
  font-style: italic;
  color: var(--taie-color-text);
}
.entry-content img { border-radius: var(--taie-radius-md); max-width: 100%; height: auto; }
.entry-content a { color: var(--taie-color-primary) !important; }
.entry-content a:hover { color: var(--taie-color-primary-dark) !important; }
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--taie-space-lg) 0;
}
.entry-content th {
  background: var(--taie-color-surface-alt);
  padding: var(--taie-space-sm) var(--taie-space-md);
  text-align: left;
  font-weight: var(--taie-weight-medium);
  border-bottom: 2px solid var(--taie-color-border);
}
.entry-content td {
  padding: var(--taie-space-sm) var(--taie-space-md);
  border-bottom: 1px solid var(--taie-color-border-light);
}
.entry-content pre {
  background: var(--taie-color-surface-alt);
  border-radius: var(--taie-radius-md);
  padding: var(--taie-space-lg);
  overflow-x: auto;
  font-size: var(--taie-size-sm);
}
.entry-content code {
  background: var(--taie-color-surface-alt);
  border-radius: var(--taie-radius-xs);
  padding: 2px 6px;
  font-size: 0.9em;
}

/* ---- Forms inside entry-content (shortcodes from plugins) ---- */
.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="password"],
.entry-content input[type="tel"],
.entry-content input[type="number"],
.entry-content input[type="url"],
.entry-content textarea,
.entry-content select {
  border: 1px solid var(--taie-color-border) !important;
  border-radius: var(--taie-radius-md) !important;
  padding: 10px 14px !important;
  font-family: var(--taie-font-body) !important;
  font-size: var(--taie-size-base) !important;
  width: 100%;
  display: block;
  background: var(--taie-color-surface) !important;
  color: var(--taie-color-text) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  margin-bottom: var(--taie-space-sm);
}
.entry-content input:focus,
.entry-content textarea:focus,
.entry-content select:focus {
  border-color: var(--taie-color-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.05) !important;
}
.entry-content label {
  display: block;
  font-weight: var(--taie-weight-medium) !important;
  font-size: var(--taie-size-sm) !important;
  color: var(--taie-color-text-secondary) !important;
  margin-bottom: 5px !important;
  text-transform: uppercase;
  letter-spacing: var(--taie-letter-spacing-caps);
}
.entry-content input[type="submit"],
.entry-content button[type="submit"] {
  background: var(--taie-color-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--taie-radius-md) !important;
  padding: 12px 28px !important;
  font-family: var(--taie-font-body) !important;
  font-size: var(--taie-size-sm) !important;
  font-weight: var(--taie-weight-medium) !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  letter-spacing: var(--taie-letter-spacing-caps);
  text-transform: uppercase;
}
.entry-content input[type="submit"]:hover,
.entry-content button[type="submit"]:hover {
  background: var(--taie-color-primary-dark) !important;
  transform: translateY(-1px) !important;
}

/* ---- Single post ---- */
.taie-single-post { max-width: 860px; margin: 0 auto; }
.taie-single-thumbnail {
  margin-bottom: var(--taie-space-xl);
  border-radius: var(--taie-radius-lg);
  overflow: hidden;
}
.taie-single-thumbnail img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  display: block;
}
.taie-single-header { margin-bottom: var(--taie-space-lg); }
.taie-single-title {
  font-family: var(--taie-font-heading);
  font-size: var(--taie-size-h1);
  font-weight: var(--taie-weight-heading);
  line-height: 1.15;
  letter-spacing: var(--taie-letter-spacing-heading);
  margin: var(--taie-space-md) 0 0;
}
.taie-single-footer {
  margin-top: var(--taie-space-xl);
  padding-top: var(--taie-space-lg);
  border-top: 1px solid var(--taie-color-border-light);
}
.taie-post-tags { margin-bottom: var(--taie-space-md); font-size: var(--taie-size-sm); color: var(--taie-color-text-muted); }
.taie-post-tags a { color: var(--taie-color-primary) !important; }
.taie-post-nav {
  display: flex;
  justify-content: space-between;
  gap: var(--taie-space-md);
  flex-wrap: wrap;
}
.taie-post-nav a {
  color: var(--taie-color-primary) !important;
  font-weight: var(--taie-weight-medium);
  font-size: var(--taie-size-sm);
  text-decoration: none;
}
.taie-post-nav a:hover { color: var(--taie-color-primary-dark) !important; }
.nav-prev, .nav-next { max-width: 48%; }

/* ---- Shop wrappers ---- */
.taie-shop-sidebar { padding-right: var(--taie-space-lg); }
.taie-shop-main { min-width: 0; }

/* ---- WooCommerce shop page layout ---- */
.woocommerce-breadcrumb {
  font-size: var(--taie-size-sm);
  color: var(--taie-color-text-muted);
  margin-bottom: var(--taie-space-lg);
}
.woocommerce-breadcrumb a { color: var(--taie-color-primary) !important; }
.woocommerce-result-count { font-size: var(--taie-size-sm); color: var(--taie-color-text-muted); margin-bottom: var(--taie-space-md); }
.woocommerce-ordering { margin-bottom: var(--taie-space-md); }
.woocommerce-ordering select {
  border: 1px solid var(--taie-color-border) !important;
  border-radius: var(--taie-radius-md) !important;
  padding: 8px 14px !important;
  background: var(--taie-color-surface) !important;
  color: var(--taie-color-text) !important;
  font-family: var(--taie-font-body) !important;
  font-size: var(--taie-size-sm) !important;
}

/* ---- WooCommerce — Moje Konto / Logowanie ---- */
.woocommerce-account .woocommerce,
.woocommerce-page .woocommerce { max-width: 1000px; margin: var(--taie-space-xl) auto; padding: 0 var(--taie-space-lg); }
.woocommerce-form-login,
.woocommerce-form-register {
  background: var(--taie-color-surface);
  border: 1px solid var(--taie-color-border-light);
  border-radius: var(--taie-radius-xl);
  padding: var(--taie-space-xl);
  box-shadow: var(--taie-shadow-md);
  max-width: 480px;
}
.woocommerce-form-login .woocommerce-form__label,
.woocommerce-form-register .woocommerce-form__label {
  font-weight: var(--taie-weight-medium) !important;
  font-size: var(--taie-size-sm) !important;
  color: var(--taie-color-text-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--taie-letter-spacing-caps) !important;
  margin-bottom: 5px !important;
  display: block !important;
}
.woocommerce-MyAccount-content { flex: 1; min-width: 0; }
.woocommerce-MyAccount-navigation {
  background: var(--taie-color-surface-alt);
  border-radius: var(--taie-radius-lg);
  padding: var(--taie-space-md);
  min-width: 200px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 16px;
  border-radius: var(--taie-radius-md);
  color: var(--taie-color-text) !important;
  text-decoration: none;
  font-weight: var(--taie-weight-medium);
  font-size: var(--taie-size-sm);
  transition: background 0.15s, color 0.15s;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--taie-color-primary);
  color: #fff !important;
}
.woocommerce-account .woocommerce { display: flex; gap: var(--taie-space-xl); align-items: flex-start; flex-wrap: wrap; }

/* ---- Pagination ---- */
.taie-pagination,
.woocommerce nav.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin: var(--taie-space-xl) 0;
}
.taie-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.taie-pagination a,
.taie-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border-radius: var(--taie-radius-md);
  border: 1px solid var(--taie-color-border);
  color: var(--taie-color-text) !important;
  text-decoration: none;
  font-size: var(--taie-size-sm);
  font-weight: var(--taie-weight-medium);
  transition: all 0.15s ease;
}
.taie-pagination .current,
.taie-pagination a:hover {
  background: var(--taie-color-primary) !important;
  border-color: var(--taie-color-primary) !important;
  color: #fff !important;
}
.taie-pagination .dots { border: none; background: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { border-radius: var(--taie-radius-md) !important; color: var(--taie-color-text) !important; border-color: var(--taie-color-border) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--taie-color-primary) !important; color: #fff !important; border-color: var(--taie-color-primary) !important; }

/* ---- Footer ---- */
.taie-footer {
  background: var(--taie-color-text);
  color: rgba(255,255,255,0.70);
  padding: var(--taie-space-xxl) 0 var(--taie-space-lg);
  margin-top: var(--taie-space-xxl);
}
.taie-footer-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--taie-space-lg);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--taie-space-xl);
}
.taie-footer a { color: rgba(255,255,255,0.70) !important; transition: color 0.15s; }
.taie-footer a:hover { color: #fff !important; }
.taie-footer-bottom {
  max-width: 1200px;
  margin: var(--taie-space-lg) auto 0;
  padding: var(--taie-space-md) var(--taie-space-lg) 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--taie-space-md);
  font-size: var(--taie-size-sm);
}
.taie-footer-nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--taie-space-sm); }
.widget-title,
.taie-footer .widget-title {
  color: #fff !important;
  font-family: var(--taie-font-heading);
  font-size: var(--taie-size-sm);
  font-weight: var(--taie-weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--taie-letter-spacing-caps);
  margin: 0 0 var(--taie-space-md);
}

/* ---- Sidebar widgets ---- */
.taie-sidebar .widget,
.taie-shop-sidebar .widget {
  background: var(--taie-color-surface);
  border-radius: var(--taie-radius-lg);
  padding: var(--taie-space-lg);
  margin-bottom: var(--taie-space-lg);
  border: 1px solid var(--taie-color-border-light);
}
.taie-sidebar .widget-title,
.taie-shop-sidebar .widget-title {
  color: var(--taie-color-text) !important;
  font-size: var(--taie-size-sm);
  font-weight: var(--taie-weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--taie-letter-spacing-caps);
  margin-bottom: var(--taie-space-md);
  padding-bottom: var(--taie-space-xs);
  border-bottom: 2px solid var(--taie-color-primary);
}
.taie-sidebar ul, .taie-shop-sidebar ul { list-style: none; margin: 0; padding: 0; }
.taie-sidebar li, .taie-shop-sidebar li { border-bottom: 1px solid var(--taie-color-border-light); }
.taie-sidebar li:last-child, .taie-shop-sidebar li:last-child { border-bottom: none; }
.taie-sidebar li a, .taie-shop-sidebar li a {
  display: block;
  padding: var(--taie-space-xs) 0;
  color: var(--taie-color-text-secondary) !important;
  font-size: var(--taie-size-sm);
  text-decoration: none;
  transition: color 0.15s, padding-left 0.15s;
}
.taie-sidebar li a:hover, .taie-shop-sidebar li a:hover { color: var(--taie-color-primary) !important; padding-left: 4px; }

/* ---- Comments ---- */
.comments-area { margin-top: var(--taie-space-xxl); padding-top: var(--taie-space-xl); border-top: 1px solid var(--taie-color-border-light); }
.comments-title, .comment-reply-title { font-family: var(--taie-font-heading); font-size: var(--taie-size-h3); margin-bottom: var(--taie-space-lg); }
.comment-body { background: var(--taie-color-surface); border-radius: var(--taie-radius-lg); padding: var(--taie-space-lg); margin-bottom: var(--taie-space-md); border: 1px solid var(--taie-color-border-light); }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
  border: 1px solid var(--taie-color-border) !important;
  border-radius: var(--taie-radius-md) !important;
  padding: 10px 14px !important;
  font-family: var(--taie-font-body) !important;
  width: 100% !important;
  background: var(--taie-color-surface) !important;
  font-size: var(--taie-size-base) !important;
}
.comment-form input#submit {
  background: var(--taie-color-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--taie-radius-md) !important;
  padding: 10px 24px !important;
  font-family: var(--taie-font-body) !important;
  font-weight: var(--taie-weight-medium) !important;
  cursor: pointer !important;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .taie-menu-toggle { display: flex; }
  .taie-nav { margin-left: 0; order: 3; width: 100%; }
  .taie-nav-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--taie-color-primary-dark);
    flex-direction: column;
    padding: var(--taie-space-md);
    box-shadow: var(--taie-shadow-lg);
    z-index: 300;
  }
  .taie-nav-menu.is-open { display: flex; }
  .taie-nav-menu > li > a { width: 100%; }
  .taie-nav-menu > li > a:hover { background: rgba(255,255,255,0.15); }
  .taie-nav-menu li:hover > .sub-menu,
  .taie-nav-menu li.is-open > .sub-menu { display: block; position: static; box-shadow: none; border-radius: 0; background: rgba(0,0,0,0.2); }
  .taie-header-inner { flex-wrap: wrap; min-height: auto; padding: var(--taie-space-sm) var(--taie-space-md); position: relative; }
  .taie-header-cart { margin-left: auto; }
  .taie-posts-grid { grid-template-columns: 1fr; }
  .taie-footer-grid { grid-template-columns: 1fr 1fr; }
  .taie-footer-bottom { flex-direction: column; text-align: center; }
  .taie-post-nav { flex-direction: column; }
  .nav-prev, .nav-next { max-width: 100%; }
}
@media (max-width: 480px) {
  .taie-footer-grid { grid-template-columns: 1fr; }
}
