/*
Theme Name: Audyt Trawnika Pro (Child of Storefront)
Template: storefront
Description: Motyw potomny Storefront przygotowany pod one-page z ofertą audytu trawnika i checkoutem WooCommerce.
Version: 1.0
Text Domain: audyt-trawnika-pro
*/

:root{
  --ink:#1F2420;
  --paper:#F3EFE3;
  --paper-dim:#ECE6D4;
  --forest:#1B2E22;
  --forest-2:#26402F;
  --sage:#6B8F71;
  --amber:#C9A24B;
  --amber-dark:#A9832E;
  --line: rgba(31,36,32,0.14);
  --line-on-dark: rgba(243,239,227,0.22);
  --radius: 3px;
  --maxw: 1120px;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@media (prefers-reduced-motion: no-preference){
  .atp-reveal{ animation: atpFade .6s ease both; }
  @keyframes atpFade{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }
}

*{ box-sizing:border-box; }

body.atp-onepage{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.atp-onepage img{ max-width:100%; display:block; }

.atp-onepage a{ color:inherit; }

.atp-onepage :focus-visible{
  outline:2px solid var(--amber-dark);
  outline-offset:3px;
}

.atp-wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 28px;
}

/* ---------- NAV ---------- */
.atp-nav{
  position:sticky; top:0; z-index:40;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.atp-nav .atp-wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:72px;
}
.atp-logo{
  font-family:var(--serif);
  font-size:20px;
  font-weight:600;
  letter-spacing:.2px;
  text-decoration:none;
  color:var(--forest);
}
.atp-logo span{ color:var(--amber-dark); }
.atp-nav-cta{
  font-family:var(--sans);
  font-size:15px;
  font-weight:600;
  background:var(--forest);
  color:var(--paper);
  padding:11px 20px;
  border-radius:var(--radius);
  text-decoration:none;
  border:1px solid var(--forest);
  transition:background .15s ease, color .15s ease;
}
.atp-nav-cta:hover{ background:transparent; color:var(--forest); }

/* ---------- HERO ---------- */
.atp-hero{
  background:var(--forest);
  color:var(--paper);
  padding:76px 0 92px;
  position:relative;
  overflow:hidden;
}
.atp-hero .atp-wrap{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap:56px;
  align-items:center;
}
.atp-eyebrow-line{
  font-family:var(--sans);
  font-size:14px;
  color:var(--sage);
  margin:0 0 18px;
  padding-left:14px;
  border-left:2px solid var(--amber);
}
.atp-hero h1{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(34px, 4.6vw, 52px);
  line-height:1.12;
  margin:0 0 22px;
  max-width:15ch;
}
.atp-hero p.lead{
  font-size:18px;
  color:rgba(243,239,227,0.82);
  max-width:46ch;
  margin:0 0 32px;
}
.atp-btn{
  display:inline-block;
  font-family:var(--sans);
  font-weight:600;
  font-size:16px;
  padding:15px 28px;
  border-radius:var(--radius);
  text-decoration:none;
  border:1px solid var(--amber);
  transition:transform .15s ease, background .15s ease, color .15s ease;
}
.atp-btn-primary{
  background:var(--amber);
  color:var(--forest);
}
.atp-btn-primary:hover{ background:var(--amber-dark); border-color:var(--amber-dark); }
.atp-btn-ghost{
  background:transparent;
  color:var(--paper);
  border-color:var(--line-on-dark);
}
.atp-btn-ghost:hover{ border-color:var(--amber); color:var(--amber); }
.atp-hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.atp-trust{
  margin-top:30px;
  font-size:14px;
  color:rgba(243,239,227,0.6);
}

/* soil cross-section illustration */
.atp-soil-fig{ width:100%; height:auto; }
.atp-soil-fig text{
  font-family:var(--sans);
  fill:var(--paper);
}

/* ---------- SECTION SHELL ---------- */
.atp-section{ padding:88px 0; }
.atp-section-alt{ background:var(--paper-dim); }
.atp-kicker{
  font-family:var(--sans);
  font-size:14px;
  color:var(--sage);
  margin:0 0 10px;
}
.atp-h2{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(26px, 3.2vw, 36px);
  margin:0 0 20px;
  max-width:20ch;
}
.atp-section-intro{
  max-width:62ch;
  color:rgba(31,36,32,0.75);
  font-size:16.5px;
  margin-bottom:44px;
}

/* ---------- PROBLEMS LIST ---------- */
.atp-problems{
  list-style:none; margin:0; padding:0;
  border-top:1px solid var(--line);
}
.atp-problems li{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap:28px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.atp-problems dt, .atp-problem-name{
  font-family:var(--serif);
  font-size:19px;
  font-weight:600;
  color:var(--forest);
}
.atp-problem-desc{ color:rgba(31,36,32,0.75); }

/* ---------- REPORT MOCKUP ---------- */
.atp-report{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: 4px 4px 0 var(--forest);
  padding:0;
  overflow:hidden;
}
.atp-report-head{
  background:var(--forest);
  color:var(--paper);
  padding:18px 26px;
  font-family:var(--serif);
  font-size:15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.atp-report-head span{ color:var(--sage); font-family:var(--sans); font-size:13px; }
.atp-report-row{
  display:grid;
  grid-template-columns: 44px 1fr;
  gap:18px;
  padding:22px 26px;
  border-bottom:1px solid var(--line);
}
.atp-report-row:last-child{ border-bottom:none; }
.atp-report-mark{
  font-family:var(--serif);
  color:var(--amber-dark);
  font-size:22px;
}
.atp-report-row h3{
  font-family:var(--sans);
  font-size:16.5px;
  font-weight:600;
  margin:0 0 4px;
  color:var(--forest);
}
.atp-report-row p{ margin:0; color:rgba(31,36,32,0.72); font-size:15.5px; }

/* ---------- PROCESS (genuinely sequential) ---------- */
.atp-process{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  counter-reset: step;
}
.atp-step{ border-top:2px solid var(--forest); padding-top:18px; }
.atp-step-num{
  font-family:var(--serif);
  font-size:34px;
  color:var(--amber-dark);
  display:block;
  margin-bottom:10px;
}
.atp-step h3{
  font-family:var(--sans);
  font-size:17px;
  margin:0 0 8px;
  color:var(--forest);
}
.atp-step p{ margin:0; color:rgba(31,36,32,0.72); font-size:15.5px; }

/* ---------- CALENDAR / TIMELINE ---------- */
.atp-timeline{
  border-left:2px solid var(--line);
  margin-left:6px;
  padding-left:34px;
  display:flex;
  flex-direction:column;
  gap:26px;
}
.atp-timeline-item{ position:relative; }
.atp-timeline-item::before{
  content:"";
  position:absolute; left:-40px; top:4px;
  width:11px; height:11px;
  background:var(--amber);
  border:2px solid var(--forest);
  border-radius:50%;
}
.atp-timeline-month{
  font-family:var(--serif);
  font-size:17px;
  color:var(--forest);
  margin-bottom:4px;
}
.atp-timeline-item p{ margin:0; color:rgba(31,36,32,0.72); }

/* ---------- PRICING / OFFER ---------- */
.atp-offer{
  background:var(--forest);
  color:var(--paper);
  border-radius:var(--radius);
  padding:48px;
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:44px;
  align-items:center;
}
.atp-offer h2{
  font-family:var(--serif);
  font-size:28px;
  margin:0 0 16px;
}
.atp-offer ul{ margin:0; padding:0; list-style:none; }
.atp-offer li{
  padding:9px 0 9px 24px;
  position:relative;
  color:rgba(243,239,227,0.85);
  border-bottom:1px solid var(--line-on-dark);
}
.atp-offer li:last-child{ border-bottom:none; }
.atp-offer li::before{
  content:"";
  position:absolute; left:0; top:17px;
  width:8px; height:8px;
  background:var(--amber);
}
.atp-price-box{
  background:var(--paper);
  color:var(--ink);
  border-radius:var(--radius);
  padding:30px;
  text-align:center;
}
.atp-price-label{ font-size:14px; color:rgba(31,36,32,0.6); margin-bottom:6px; }
.atp-price{
  font-family:var(--serif);
  font-size:44px;
  font-weight:600;
  color:var(--forest);
  margin-bottom:4px;
}
.atp-price-note{ font-size:13px; color:rgba(31,36,32,0.55); margin-bottom:22px; }

/* ---------- CHECKOUT ANCHOR ---------- */
.atp-checkout-section .atp-wrap{ max-width:760px; }
#atp-checkout-box{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:8px;
}
#atp-checkout-box .woocommerce{
  padding:28px;
}
.atp-checkout-empty{
  padding:44px 28px;
  text-align:center;
  color:rgba(31,36,32,0.65);
}

/* ---------- FAQ ---------- */
.atp-faq{ max-width:760px; }
.atp-faq details{
  border-bottom:1px solid var(--line);
  padding:20px 0;
}
.atp-faq summary{
  font-family:var(--serif);
  font-size:18px;
  cursor:pointer;
  color:var(--forest);
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.atp-faq summary::-webkit-details-marker{ display:none; }
.atp-faq summary::after{
  content:"+";
  font-family:var(--sans);
  color:var(--amber-dark);
  flex:none;
}
.atp-faq details[open] summary::after{ content:"–"; }
.atp-faq p{ margin:14px 0 0; color:rgba(31,36,32,0.72); max-width:62ch; }

/* ---------- FOOTER ---------- */
.atp-footer{
  background:var(--forest);
  color:rgba(243,239,227,0.7);
  padding:48px 0;
  font-size:14px;
}
.atp-footer .atp-wrap{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
}
.atp-footer a{ color:var(--paper); text-decoration:underline; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 860px){
  .atp-hero .atp-wrap{ grid-template-columns:1fr; }
  .atp-hero{ padding:52px 0 64px; }
  .atp-process{ grid-template-columns:1fr; gap:28px; }
  .atp-problems li{ grid-template-columns:1fr; gap:6px; }
  .atp-offer{ grid-template-columns:1fr; padding:32px; }
  .atp-section{ padding:60px 0; }
  .atp-wrap{ padding:0 20px; }
}

/* ---------- ZDJĘCIA ---------- */
.atp-photo{ width:100%; height:auto; object-fit:cover; border-radius:var(--radius); }
.atp-photo-hero{ aspect-ratio:4/5; max-height:560px; }
.atp-problems.atp-has-thumb li{ grid-template-columns:200px 220px 1fr; align-items:center; }
.atp-thumb{ width:200px; height:140px; object-fit:cover; border-radius:var(--radius); }
.atp-ba{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
.atp-ba figure{ margin:0; }
.atp-ba img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); }
.atp-ba figcaption{ margin-top:8px; font-size:14px; color:rgba(31,36,32,0.65); }
.atp-about{ display:grid; grid-template-columns:300px 1fr; gap:48px; align-items:center; }
.atp-about .atp-photo{ aspect-ratio:4/5; }
@media (max-width:860px){
  .atp-problems.atp-has-thumb li{ grid-template-columns:1fr; }
  .atp-thumb{ width:100%; height:180px; }
  .atp-ba, .atp-about{ grid-template-columns:1fr; }
  .atp-about{ gap:24px; }
}

/* ---------- STRONA ZAMÓWIENIA / PODZIĘKOWANIA (Storefront + WooCommerce) ---------- */
body.woocommerce-checkout, body.woocommerce-order-received{
  background:var(--paper); color:var(--ink); font-family:var(--sans);
}
.woocommerce-checkout .site-header{ background:var(--forest); border-bottom:0; padding:14px 0; }
.woocommerce-checkout .site-header a, .woocommerce-checkout .site-header .site-title a{ color:var(--paper); font-family:var(--serif); }
.woocommerce-checkout .site-header .site-description,
.woocommerce-checkout #site-navigation, .woocommerce-checkout .site-search,
.woocommerce-checkout .site-header-cart, .woocommerce-checkout .storefront-handheld-footer-bar,
.woocommerce-checkout .widget-area, .woocommerce-checkout .storefront-breadcrumb{ display:none; }
.woocommerce-checkout .site-footer{ background:var(--forest); color:rgba(243,239,227,.7); }
.woocommerce-checkout .site-footer a{ color:var(--paper); }
.woocommerce-checkout .entry-title, .woocommerce-checkout h3, .woocommerce-checkout h2{
  font-family:var(--serif); font-weight:600; color:var(--forest);
}
.woocommerce-checkout .col-full{ max-width:var(--maxw); }
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select{
  border:1px solid var(--line); border-radius:var(--radius); background:#fff; font-family:var(--sans);
}
.woocommerce-checkout #order_review, .woocommerce-checkout #payment{
  background:var(--paper-dim); border-radius:var(--radius);
}
.woocommerce-checkout #payment div.payment_box{ background:var(--paper); color:var(--ink); }
.woocommerce-checkout #payment div.payment_box::before{ display:none; }
.woocommerce-checkout #place_order{
  background:var(--amber); color:var(--forest); border:1px solid var(--amber);
  border-radius:var(--radius); font-family:var(--sans); font-weight:600; font-size:17px; padding:16px 28px; width:100%;
}
.woocommerce-checkout #place_order:hover{ background:var(--amber-dark); border-color:var(--amber-dark); }
.woocommerce-checkout .woocommerce-info{ border-top-color:var(--amber); background:var(--paper-dim); color:var(--ink); }
.woocommerce-order-received .woocommerce-thankyou-order-received{
  font-family:var(--serif); font-size:22px; color:var(--forest);
}
.atp-next{ margin-top:36px; padding:28px; background:var(--paper-dim); border-left:3px solid var(--amber); border-radius:var(--radius); }
.atp-next h2{ margin-top:0; }
.atp-next ol{ margin:0; padding-left:20px; }
.atp-next li{ margin-bottom:8px; }

/* ---------- POPRAWKA: nadpisanie stylów motywu rodzica (Storefront) ---------- */
body.atp-onepage h1, body.atp-onepage h2, body.atp-onepage h3{ font-family:var(--serif); letter-spacing:normal; }
body.atp-onepage .atp-hero h1{ color:var(--paper); }
body.atp-onepage .atp-h2{ color:var(--forest); }
body.atp-onepage .atp-offer h2{ color:var(--paper); }
body.atp-onepage .atp-report-row h3, body.atp-onepage .atp-step h3{ font-family:var(--sans); }
body.atp-onepage a.atp-logo{ color:var(--forest); }
body.atp-onepage a.atp-logo span{ color:var(--amber-dark); }
body.atp-onepage a.atp-nav-cta{ color:var(--paper); background:var(--forest); }
body.atp-onepage a.atp-nav-cta:hover{ color:var(--forest); background:transparent; }
body.atp-onepage a.atp-btn-primary{ color:var(--forest); background:var(--amber); }
body.atp-onepage a.atp-btn-primary:hover{ color:var(--forest); background:var(--amber-dark); }
body.atp-onepage a.atp-btn-ghost{ color:var(--paper); background:transparent; }
body.atp-onepage a.atp-btn-ghost:hover{ color:var(--amber); }
body.atp-onepage .atp-footer a{ color:var(--paper); }
body.atp-onepage .atp-hero, body.atp-onepage .atp-offer{ color:var(--paper); }

/* ---------- STRONA ZAMÓWIENIA: checkout blokowy WooCommerce + układ ---------- */
body.woocommerce-checkout .site-header .col-full{
  max-width:var(--maxw); margin:0 auto; padding:0 28px;
  display:flex; justify-content:space-between; align-items:center;
}
body.woocommerce-checkout .site-header .col-full::before,
body.woocommerce-checkout .site-header .col-full::after{ display:none; }
body.woocommerce-checkout .site-branding{ float:none; width:auto; margin:0; }
body.woocommerce-checkout .site-branding .site-title,
body.woocommerce-checkout .site-branding .site-title a{ font-size:22px; font-weight:600; margin:0; }
body.woocommerce-checkout a.atp-back{ color:rgba(243,239,227,.85); font-size:14.5px; text-decoration:none; }
body.woocommerce-checkout a.atp-back:hover{ color:var(--amber); }

body.woocommerce-checkout .site-content .col-full{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
body.woocommerce-checkout #primary, body.woocommerce-checkout .content-area{ width:100%; float:none; margin:0; }
body.woocommerce-checkout .entry-header{ text-align:left; margin:40px 0 24px; }
body.woocommerce-checkout .entry-title{ text-align:left; font-size:clamp(28px,3.4vw,38px); margin:0; }
body.woocommerce-checkout .entry-content, body.woocommerce-checkout .wp-block-woocommerce-checkout{ max-width:none; margin:0; }
body.woocommerce-checkout .edit-link{ display:none; }
body.woocommerce-checkout .site-content a:not(.wc-block-components-button){ color:var(--forest); }

body.woocommerce-checkout .wc-block-components-button:not(.is-link){
  background:var(--amber); color:var(--forest); border:1px solid var(--amber);
  border-radius:var(--radius); font-family:var(--sans); font-weight:600; font-size:17px; padding:16px 28px;
}
body.woocommerce-checkout .wc-block-components-button:not(.is-link):hover{ background:var(--amber-dark); border-color:var(--amber-dark); color:var(--forest); }
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-checkout .wc-blocks-components-select select{ border-radius:var(--radius); border-color:var(--line); font-family:var(--sans); }
body.woocommerce-checkout .wc-block-components-title, body.woocommerce-checkout .wc-block-components-checkout-step__title{
  font-family:var(--serif); font-weight:600; color:var(--forest);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  background:var(--paper-dim); border:1px solid var(--line); border-radius:var(--radius);
}
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-item{ font-size:15px; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked{ background:var(--forest); border-color:var(--forest); }
@media (max-width:860px){
  body.woocommerce-checkout .site-header .col-full, body.woocommerce-checkout .site-content .col-full{ padding:0 20px; }
}

/* ---------- Storefront rozciąga bloki .alignwide poza kontener: wyłączamy na stronie zamówienia ---------- */
body.woocommerce-checkout .hentry .alignwide,
body.woocommerce-checkout .entry-content .alignwide,
body.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout{
  margin-left:0 !important; margin-right:0 !important;
  width:100% !important; max-width:100% !important;
  padding-left:0 !important; padding-right:0 !important;
}
body.woocommerce-checkout .hentry .entry-content, body.woocommerce-checkout .hentry .entry-header{
  padding-left:0; padding-right:0; margin-left:0; margin-right:0; max-width:100%;
}

/* Stopka Storefront: czytelne linki na ciemnym tle */
body.woocommerce-checkout .site-footer a:not(.button){ color:var(--paper); }

/* ---------- Tekst opisowy (SEO) ---------- */
.atp-prose{ max-width:760px; }
.atp-prose p{ color:rgba(31,36,32,0.78); margin:0 0 16px; }
