/*
Theme Name: Forma3D Pro Store
Theme URI: https://3dekorator.xaa.pl
Author: 3Dekorator
Description: Profesjonalny, lekki motyw WooCommerce dla sklepu z produktami z druku 3D.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: forma3d
Tags: e-commerce, block-patterns, full-site-editing, custom-colors, wide-blocks
*/

:root {
  --forma-shadow: 0 20px 55px rgba(15, 23, 42, .10);
  --forma-shadow-hover: 0 24px 65px rgba(15, 23, 42, .16);
  --forma-radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: .18em; }
.wp-site-blocks { overflow: clip; }

.forma3d-announcement { font-size: .82rem; letter-spacing: .02em; }
.forma3d-header { position: relative; z-index: 50; backdrop-filter: blur(14px); }
.forma3d-header .wp-block-navigation-item__content { text-decoration: none; }
.forma3d-header .wp-block-navigation-item__content:hover { opacity: .68; }

.forma3d-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(14,165,233,.18), transparent 29%),
    radial-gradient(circle at 12% 80%, rgba(99,102,241,.17), transparent 32%),
    linear-gradient(135deg,#f8fafc 0%,#eef2ff 55%,#ecfeff 100%);
}
.forma3d-hero:before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .45;
  background-image: linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);
  background-size: 32px 32px;
}
.forma3d-kicker { display:inline-flex; align-items:center; gap:.5rem; border:1px solid rgba(79,70,229,.18); border-radius:999px; padding:.48rem .78rem; background:rgba(255,255,255,.72); box-shadow:0 8px 25px rgba(79,70,229,.08); }
.forma3d-kicker:before { content:""; width:.52rem; height:.52rem; border-radius:999px; background:#10b981; box-shadow:0 0 0 5px rgba(16,185,129,.12); }
.forma3d-hero-actions .wp-block-button__link { min-width: 170px; text-align:center; }
.forma3d-trust-row { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; margin-top:1.35rem; color:#475569; font-size:.92rem; }
.forma3d-trust-row span:before { content:"✓"; color:#059669; font-weight:800; margin-right:.38rem; }

.forma3d-hero-product {
  position: relative; display:flex; min-height:480px; flex-direction:column; justify-content:space-between;
  padding:22px; overflow:hidden; border:1px solid rgba(255,255,255,.82); border-radius:30px;
  background:rgba(255,255,255,.82); box-shadow:var(--forma-shadow); color:#0f172a; text-decoration:none;
}
.forma3d-hero-product:before { content:""; position:absolute; width:260px; height:260px; border-radius:50%; right:-70px; top:-70px; background:linear-gradient(135deg,rgba(79,70,229,.18),rgba(6,182,212,.18)); filter:blur(2px); }
.forma3d-hero-eyebrow { position:relative; z-index:2; align-self:flex-start; padding:.4rem .7rem; border-radius:999px; background:#0f172a; color:white; font-size:.76rem; font-weight:700; }
.forma3d-hero-image { position:relative; z-index:1; display:grid; place-items:center; min-height:320px; }
.forma3d-hero-image img { width:100%; max-height:330px; object-fit:contain; filter:drop-shadow(0 24px 30px rgba(15,23,42,.20)); transition:transform .35s ease; }
.forma3d-hero-product:hover .forma3d-hero-image img { transform:scale(1.035) rotate(-1deg); }
.forma3d-hero-meta { position:relative; z-index:2; display:flex; justify-content:space-between; gap:16px; align-items:end; padding:15px 16px; border-radius:18px; background:rgba(248,250,252,.92); border:1px solid #e2e8f0; }
.forma3d-hero-meta strong { font-size:1.05rem; }
.forma3d-hero-meta > span { color:#4f46e5; font-weight:800; white-space:nowrap; }
.forma3d-hero-fallback { align-items:center; justify-content:center; text-align:center; }
.forma3d-hero-fallback > span { font-size:7rem; font-weight:900; color:#4f46e5; line-height:1; }

.forma3d-section-head { margin-bottom:28px; }
.forma3d-section-head p { max-width:620px; }
.forma3d-category { height:100%; border:1px solid #e2e8f0; border-radius:var(--forma-radius); background:white; padding:28px; transition:.25s ease; }
.forma3d-category:hover { transform:translateY(-4px); border-color:#a5b4fc; box-shadow:var(--forma-shadow); }
.forma3d-category-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:22px; border-radius:15px; background:#eef2ff; color:#4f46e5; font-size:1.4rem; font-weight:800; }

.woocommerce ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0 !important; }
.woocommerce ul.products:before,.woocommerce ul.products:after { display:none !important; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; padding:12px 12px 18px !important; border:1px solid #e2e8f0; border-radius:20px; background:#fff; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-5px); border-color:#c7d2fe; box-shadow:var(--forma-shadow-hover); }
.woocommerce ul.products li.product a img { margin:0 0 15px !important; aspect-ratio:1/1; object-fit:cover; border-radius:14px; background:#f8fafc; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:.15rem 2px !important; font-size:1rem !important; line-height:1.35; color:#0f172a; }
.woocommerce ul.products li.product .price { margin:.35rem 2px .8rem !important; color:#4f46e5 !important; font-size:1rem !important; font-weight:800 !important; }
.woocommerce ul.products li.product .button { display:block; margin:0 !important; text-align:center; border-radius:12px; background:#0f172a; color:white; padding:.8rem .75rem; }
.woocommerce ul.products li.product .button:hover { background:#4f46e5; }
.woocommerce span.onsale { min-width:auto; min-height:auto; margin:.8rem !important; padding:.45rem .65rem; border-radius:999px; line-height:1; background:#ef4444; }

.forma3d-value-grid .wp-block-column { height:100%; }
.forma3d-value { height:100%; padding:24px; border-top:2px solid #4f46e5; background:#fff; }
.forma3d-cta { overflow:hidden; position:relative; }
.forma3d-cta:after { content:"3D"; position:absolute; right:-15px; bottom:-55px; font-size:12rem; line-height:1; font-weight:900; opacity:.055; }

.forma3d-footer { margin-top:0 !important; }
.forma3d-footer-grid { display:grid !important; grid-template-columns:minmax(0,1.7fr) minmax(150px,.7fr) minmax(180px,.9fr); align-items:start !important; gap:42px !important; }
.forma3d-footer-grid > * { min-width:0; }
.forma3d-footer a { color:#cbd5e1; text-decoration:none; }
.forma3d-footer a:hover { color:#fff; }
.forma3d-footer .wp-block-navigation { gap:.6rem !important; }
.forma3d-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }

input,textarea,select { border-radius:12px; }
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.wc-block-components-button { border-radius:12px !important; }
.woocommerce div.product div.images img { border-radius:20px; }

@media (max-width: 980px) {
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .forma3d-footer-grid { grid-template-columns:1fr 1fr; }
  .forma3d-footer-brand { grid-column:1/-1; }
}
@media (max-width: 700px) {
  .forma3d-hero { padding-top:54px !important; padding-bottom:54px !important; }
  .forma3d-hero-product { min-height:390px; margin-top:18px; }
  .forma3d-hero-image { min-height:245px; }
  .forma3d-hero-image img { max-height:250px; }
  .forma3d-hero-actions .wp-block-button { width:100%; }
  .forma3d-hero-actions .wp-block-button__link { width:100%; }
  .woocommerce ul.products { gap:14px; }
  .woocommerce ul.products li.product { padding:8px 8px 14px !important; }
  .forma3d-footer-grid { grid-template-columns:1fr; gap:28px !important; }
  .forma3d-footer-brand { grid-column:auto; }
}
@media (max-width: 430px) {
  .woocommerce ul.products { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
