/*
Theme Name: WPWC Atelier
Theme URI: https://wpwc.ru/templates/atelier/
Author: WPWC / ООО «НА ЮГА»
Author URI: https://wpwc.ru/
Description: Official WooCommerce classic theme for WPWC modules. Declares WooCommerce support with product grid settings and gallery features per the WooCommerce classic theme handbook. Uses hooks instead of fragile template overrides to reduce upgrade conflicts with WPWC modules.
Version: 1.1.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: wpwc-atelier
Tags: e-commerce, woocommerce, custom-logo, custom-colors, translation-ready, custom-menu
WPWC Modules: supported
*/

:root {
  --wpwc-accent: #FF4D1C;
  --wpwc-ink: #0B1220;
  --wpwc-muted: #5B6577;
  --wpwc-bg: #F7F4EF;
  --wpwc-card: #ffffff;
  --wpwc-line: rgba(11, 18, 32, 0.08);
  --wpwc-radius: 18px;
  --wpwc-font: "Golos Text", "Segoe UI", sans-serif;
  --wpwc-display: Onest, "Segoe UI", sans-serif;
  --wpwc-container: 1120px;
  --wpwc-cols: 3;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--wpwc-font);
  color: var(--wpwc-ink);
  background: var(--wpwc-bg);
  line-height: 1.55;
  font-size: 16px;
}
a { color: var(--wpwc-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; vertical-align: middle; }
h1,h2,h3,h4 { font-family: var(--wpwc-display); letter-spacing: -.03em; line-height: 1.15; margin: 0 0 .6em; }

.wpwc-shell { width: min(var(--wpwc-container), calc(100% - 32px)); margin-inline: auto; }

.site-promo {
  background: var(--wpwc-ink); color: #fff; font-size: 13px; font-weight: 700;
  text-align: center; padding: 8px 12px;
}
.site-promo a { color: #fff; text-decoration: underline; }

.site-header {
  position: sticky; top: 0; z-index: 40;
  backdrop-filter: blur(12px);
  background: color-mix(in srgb, var(--wpwc-bg) 88%, white);
  border-bottom: 1px solid var(--wpwc-line);
}
.site-header-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0;
}
.site-brand {
  font-family: var(--wpwc-display); font-weight: 800; letter-spacing: -.04em; font-size: 22px;
  color: var(--wpwc-ink); text-decoration: none;
}
.site-brand span { color: var(--wpwc-accent); }
.site-brand:hover { text-decoration: none; }
.custom-logo-link img { max-height: 40px; width: auto; }

.site-nav { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; font-weight: 700; font-size: 14px; }
.site-nav a { color: var(--wpwc-ink); }
.site-nav .menu, .site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; }
.site-nav .current-menu-item > a, .site-nav .current_page_item > a { color: var(--wpwc-accent); }

.site-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cart-link {
  font-weight: 750; font-size: 13px; padding: 8px 12px; border-radius: 999px;
  border: 1px solid var(--wpwc-line); background: #fff; color: var(--wpwc-ink); text-decoration: none;
}
.cart-link:hover { text-decoration: none; }
.cart-link em {
  font-style: normal; background: var(--wpwc-accent); color: #fff; border-radius: 999px;
  padding: 1px 7px; margin-left: 4px; font-size: 11px;
}

.btn, .button, button.button, a.button, input.button,
#respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 18px !important; border-radius: 999px !important;
  border: 1px solid var(--wpwc-line) !important; background: #fff !important;
  color: var(--wpwc-ink) !important; font-weight: 750 !important; font-size: 14px !important;
  line-height: 1.2 !important; text-decoration: none !important; cursor: pointer; box-shadow: none !important;
}
.btn-primary, .button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce #respond input#submit.alt, .woocommerce a.checkout-button {
  background: var(--wpwc-accent) !important; border-color: transparent !important; color: #fff !important;
}

.hero { padding: 48px 0 28px; display: grid; gap: 14px; }
.hero-kicker {
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--wpwc-muted);
  font-weight: 700; margin: 0;
}
.hero h1 { font-size: clamp(32px, 5vw, 52px); max-width: 16ch; margin: 0; }
.hero p { margin: 0; max-width: 52ch; color: var(--wpwc-muted); }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }

.feature-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 8px 0 28px; }
.feature-strip article {
  background: var(--wpwc-card); border: 1px solid var(--wpwc-line); border-radius: var(--wpwc-radius); padding: 16px;
}
.feature-strip h3 { font-size: 15px; margin: 0 0 6px; }
.feature-strip p { margin: 0; color: var(--wpwc-muted); font-size: 14px; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin: 10px 0 14px; }
.section-head h2 { margin: 0; font-size: 28px; }

#wpwc-main, .wpwc-main { padding: 24px 0 56px; }
.woocommerce-products-header__title { margin-bottom: 18px; }

ul.products {
  display: grid !important; grid-template-columns: repeat(var(--wpwc-cols), minmax(0, 1fr));
  gap: 14px; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
ul.products::before, ul.products::after { display: none !important; content: none !important; }
ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important; clear: none !important;
  background: var(--wpwc-card); border: 1px solid var(--wpwc-line); border-radius: var(--wpwc-radius);
  padding: 14px; display: flex; flex-direction: column; gap: 8px;
}
ul.products li.product .woocommerce-loop-product__title { font-size: 16px !important; padding: 0 !important; margin: 0 !important; }
ul.products li.product .price { color: var(--wpwc-ink) !important; font-weight: 800; font-size: 16px !important; }
ul.products li.product .button { align-self: flex-start; margin-top: auto; }
ul.products li.product .onsale {
  background: var(--wpwc-accent); border-radius: 999px; line-height: 1.8; min-height: 0; min-width: 0; padding: 2px 10px;
}

.woocommerce div.product {
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
  background: var(--wpwc-card); border: 1px solid var(--wpwc-line); border-radius: var(--wpwc-radius); padding: 22px;
}
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; }
.woocommerce div.product .summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .product_title { font-size: 34px; }

.woocommerce-cart-form, .cart-collaterals, .woocommerce-checkout, .woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation, .woocommerce-info, .woocommerce-message, .woocommerce-error,
form.checkout, .woocommerce-order, .related.products, .woocommerce-tabs {
  background: var(--wpwc-card); border: 1px solid var(--wpwc-line); border-radius: var(--wpwc-radius);
}
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding: 14px 16px; margin-bottom: 14px; }
.woocommerce-cart-form, .cart-collaterals, .woocommerce-checkout, form.checkout,
.woocommerce-MyAccount-content, .woocommerce-order, .woocommerce-tabs { padding: 18px; }
.woocommerce-MyAccount-navigation { padding: 12px 16px; margin-bottom: 14px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.related.products { padding: 18px; margin-top: 22px; }

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border-radius: 12px; border: 1px solid var(--wpwc-line); padding: 10px 12px;
}

/* Module-safe: do not hide plugin fields; give them room */
.woocommerce-checkout .wpwc-module-slot,
.woocommerce-checkout [class*="wpwc-"],
.woocommerce-cart [class*="wpwc-"] { max-width: 100%; }

.site-footer { border-top: 1px solid var(--wpwc-line); padding: 28px 0 48px; color: var(--wpwc-muted); font-size: 14px; }
.site-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; }
.site-footer a { color: var(--wpwc-ink); font-weight: 700; }

.demo-guide {
  margin: 18px 0 28px; padding: 18px; border-radius: var(--wpwc-radius);
  background: color-mix(in srgb, var(--wpwc-accent) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--wpwc-accent) 25%, transparent);
}
.demo-guide h2 { margin: 0 0 8px; font-size: 22px; }
.demo-guide ol { margin: 8px 0 0; padding-left: 1.2em; color: var(--wpwc-muted); }

@media (max-width: 900px) {
  .feature-strip, .site-footer-grid, .woocommerce div.product { grid-template-columns: 1fr; }
  ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-nav { display: none; }
}
@media (max-width: 560px) {
  ul.products { grid-template-columns: 1fr; }
}
