/*
Theme Name: Tortowa Pracownia
Theme URI: https://example.com/
Author: OpenAI
Description: Elegancki, responsywny motyw blokowy WordPress dla pracowni tortów okolicznościowych.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: tortowa-pracownia
*/

:root {
  --tp-cream: #fff8f2;
  --tp-rose: #eaa7ad;
  --tp-rose-dark: #b85f69;
  --tp-choco: #442e2b;
  --tp-gold: #c59b62;
  --tp-white: #ffffff;
  --tp-soft: #f7e8e7;
  --tp-muted: #7d6966;
  --tp-border: rgba(68,46,43,.12);
  --tp-shadow: 0 18px 55px rgba(68,46,43,.12);
}

html { scroll-behavior: smooth; }
body { background: var(--tp-cream); color: var(--tp-choco); }
* { box-sizing: border-box; }

a { transition: .2s ease; }

.tp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(16px);
  background: rgba(255,248,242,.88);
  border-bottom: 1px solid var(--tp-border);
}
.tp-header .wp-block-navigation a:hover { color: var(--tp-rose-dark); }

.tp-hero {
  position: relative;
  overflow: hidden;
  padding-top: clamp(70px, 10vw, 130px) !important;
  padding-bottom: clamp(70px, 9vw, 120px) !important;
}
.tp-hero:before,
.tp-hero:after {
  content: "";
  position: absolute;
  border-radius: 999px;
  filter: blur(1px);
  pointer-events: none;
}
.tp-hero:before {
  width: 340px; height: 340px; right: -120px; top: 40px;
  background: rgba(234,167,173,.28);
}
.tp-hero:after {
  width: 220px; height: 220px; left: -80px; bottom: 20px;
  background: rgba(197,155,98,.15);
}
.tp-eyebrow {
  display: inline-block;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 700;
  color: var(--tp-rose-dark);
  margin-bottom: 14px;
}
.tp-hero h1 { max-width: 820px; }
.tp-hero-copy { max-width: 650px; color: var(--tp-muted); }
.tp-hero-art { min-height: 470px; display: grid; place-items: center; }
.tp-cake-illustration { width: min(100%, 480px); filter: drop-shadow(0 30px 40px rgba(68,46,43,.16)); }

.tp-button .wp-block-button__link,
.wp-block-button.tp-button .wp-block-button__link {
  background: var(--tp-choco);
  color: #fff;
  border-radius: 999px;
  padding: 15px 26px;
  box-shadow: 0 12px 28px rgba(68,46,43,.18);
}
.tp-button .wp-block-button__link:hover,
.wp-block-button.tp-button .wp-block-button__link:hover { transform: translateY(-2px); background: #2f211f; }
.tp-button-outline .wp-block-button__link {
  background: transparent;
  color: var(--tp-choco);
  border: 1px solid rgba(68,46,43,.25);
  border-radius: 999px;
  padding: 14px 24px;
}
.tp-button-outline .wp-block-button__link:hover { background: var(--tp-white); }

.tp-section { padding-top: clamp(65px, 8vw, 100px) !important; padding-bottom: clamp(65px, 8vw, 100px) !important; }
.tp-section-title { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }
.tp-section-title p { color: var(--tp-muted); }

.tp-card {
  background: rgba(255,255,255,.82);
  border: 1px solid var(--tp-border);
  border-radius: 28px;
  padding: 28px !important;
  box-shadow: var(--tp-shadow);
  height: 100%;
}
.tp-card h3 { margin-top: 12px; }
.tp-icon {
  width: 52px; height: 52px; border-radius: 16px;
  background: var(--tp-soft);
  display: grid; place-items: center;
  font-size: 26px;
}

.tp-gallery-card {
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid var(--tp-border);
  box-shadow: var(--tp-shadow);
}
.tp-gallery-card .wp-block-group { padding: 22px !important; }
.tp-artbox {
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #fae8e7, #fff8f2 60%, #f5e8d4);
}
.tp-artbox svg { width: 72%; max-height: 250px; }

.tp-process { counter-reset: step; }
.tp-step { position: relative; padding-left: 74px !important; }
.tp-step:before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 0; top: 0;
  width: 52px; height: 52px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--tp-choco); color: #fff;
  font-size: .8rem; font-weight: 700;
}

.tp-quote {
  background: #fff;
  border: 1px solid var(--tp-border);
  border-radius: 28px;
  padding: 30px !important;
  box-shadow: var(--tp-shadow);
}
.tp-stars { color: #c59b62; letter-spacing: .18em; }

.tp-cta {
  background: var(--tp-choco);
  color: #fff;
  border-radius: 36px;
  padding: clamp(34px, 6vw, 70px) !important;
  overflow: hidden;
  position: relative;
}
.tp-cta:after {
  content: "";
  position: absolute;
  width: 280px; height: 280px; border-radius: 50%;
  background: rgba(234,167,173,.2);
  right: -90px; top: -100px;
}
.tp-cta p { color: rgba(255,255,255,.74); }
.tp-cta .wp-block-button__link { background: var(--tp-rose); color: var(--tp-choco); }

.tp-form-wrap {
  background: #fff;
  border-radius: 28px;
  border: 1px solid var(--tp-border);
  padding: 30px;
  box-shadow: var(--tp-shadow);
}
.tp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tp-form-field { display: flex; flex-direction: column; gap: 8px; }
.tp-form-field.full { grid-column: 1 / -1; }
.tp-form-field label { font-weight: 650; font-size: .92rem; }
.tp-form-field input,
.tp-form-field textarea,
.tp-form-field select {
  width: 100%;
  border: 1px solid rgba(68,46,43,.18);
  border-radius: 14px;
  padding: 13px 14px;
  background: #fffdfb;
  color: var(--tp-choco);
  font: inherit;
}
.tp-form-field textarea { min-height: 130px; resize: vertical; }
.tp-form-submit {
  border: 0;
  border-radius: 999px;
  background: var(--tp-choco);
  color: white;
  padding: 14px 24px;
  font-weight: 700;
  cursor: pointer;
}
.tp-form-submit:hover { background: #2f211f; }
.tp-form-notice { padding: 12px 14px; border-radius: 12px; margin-bottom: 18px; background: #eef8ef; }
.tp-hp { position:absolute !important; left:-10000px !important; opacity:0 !important; }

.tp-footer { border-top: 1px solid var(--tp-border); }
.tp-footer small { color: var(--tp-muted); }

@media (max-width: 900px) {
  .tp-hero-art { min-height: 360px; margin-top: 26px; }
}
@media (max-width: 700px) {
  .tp-form-grid { grid-template-columns: 1fr; }
  .tp-form-field.full { grid-column: auto; }
  .tp-card, .tp-quote { padding: 22px !important; }
  .wp-block-navigation__responsive-container.is-menu-open { padding: 28px; background: var(--tp-cream); }
}
