/*
Theme Name: TaxCorner Butik
Theme URI: https://taxcorner.pl
Author: TaxCorner
Author URI: https://taxcorner.pl
Description: Autorski motyw kancelarii doradztwa podatkowego TaxCorner — identyfikacja oparta na kolorach logo (bakłażanowy fiolet i limonkowa zieleń), typografia editorial, animacje scroll-reveal.
Version: 2.7
Requires at least: 5.5
Requires PHP: 7.2
License: GNU General Public License v2 or later
Text Domain: taxcorner-butik
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap');

:root{
  /* Brand — kolory logo */
  --plum:#2b2340;          /* bakłażan z "Tax" */
  --plum-deep:#1d1730;
  --plum-soft:#3a3153;
  --lime:#a3b54e;          /* zieleń z "Corner" */
  --lime-bright:#bccf62;
  --lime-dim:#8ea03f;
  --ink:#241f33;
  --text:#4a4557;
  --muted:#8b8698;
  --paper:#ffffff;
  --mist:#f6f6f3;
  --line:#e7e6e1;
  --line-dark:rgba(255,255,255,.09);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--paper);font-size:16.5px;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;color:var(--ink);font-weight:600;line-height:1.12}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
::selection{background:var(--lime);color:var(--plum-deep)}
.wrap{max-width:1240px;margin:0 auto;padding:0 36px}
.eyebrow{font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--lime-dim);font-weight:600;margin-bottom:22px;display:flex;align-items:center;gap:14px}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--lime)}
.on-dark .eyebrow{color:var(--lime-bright)}
.section{padding:clamp(80px,10vw,130px) 0}
.skip-link{position:absolute;left:-9999px}
.h-display{font-size:clamp(38px,5vw,64px);letter-spacing:-.01em}

/* ===== Reveal animations ===== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}.reveal.d4{transition-delay:.48s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== WOW: scroll progress ===== */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--lime-dim),var(--lime-bright));z-index:300;transition:width .12s linear;box-shadow:0 0 12px rgba(163,181,78,.6)}

/* ===== WOW: hero network animation (chaos → order) ===== */
.hero-net{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.55}

/* ===== WOW: 3D tilt cards ===== */
.flag-grid,.pillars{perspective:1200px}
.tilt{transform-style:preserve-3d;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.tilt .tilt-inner{transform:translateZ(30px)}
@media(hover:none){.tilt{transform:none!important}}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:86px;gap:30px}
.logo-img{display:block;height:34px;width:auto}
ul.menu{display:flex;gap:38px;font-size:13.5px;font-weight:500;letter-spacing:.05em;color:var(--ink);list-style:none;margin:0;padding:0}
ul.menu li{margin:0}
ul.menu a{position:relative;padding:8px 0;display:inline-block;text-transform:uppercase;font-size:12.5px;letter-spacing:.14em}
ul.menu a:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--lime);transition:width .3s cubic-bezier(.16,1,.3,1)}
ul.menu a:hover:after{width:100%}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:26px;color:var(--ink);line-height:1}

/* ===== Hero ===== */
.hero{position:relative;background:radial-gradient(1200px 700px at 85% -10%,var(--plum-soft) 0%,transparent 55%),radial-gradient(900px 600px at -10% 110%,#241d3a 0%,transparent 60%),linear-gradient(155deg,var(--plum-deep) 0%,var(--plum) 60%,#332a4d 100%);color:#efeef3;overflow:hidden}
.hero-noise{position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;min-height:calc(100vh - 86px);padding:90px 0 120px}
.hero h1{font-size:clamp(46px,6.2vw,88px);color:#fff;font-weight:500;letter-spacing:-.015em;line-height:1.06}
.hero h1 em{font-style:italic;color:var(--lime-bright);font-weight:500}
.hero p.lead{font-size:clamp(16px,1.35vw,19px);font-weight:300;color:rgba(239,238,243,.78);max-width:560px;margin-top:34px;line-height:1.85}
.hero .hero-links{margin-top:48px;display:flex;gap:34px;align-items:center;flex-wrap:wrap}
.link-line{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:12px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.25);transition:border-color .3s,color .3s}
.link-line span{color:var(--lime-bright);transition:transform .3s}
.link-line:hover{border-color:var(--lime-bright)}
.link-line:hover span{transform:translateY(4px)}

/* Big 20+ figure */
.hero-figure{position:relative;text-align:center}
.big-20{font-family:'Cormorant Garamond',serif;font-size:clamp(160px,17vw,270px);line-height:.9;font-weight:500;color:transparent;-webkit-text-stroke:1.5px rgba(188,207,98,.75);position:relative;display:inline-block}
.big-20 .plus{color:var(--lime-bright);-webkit-text-stroke:0;font-size:.42em;vertical-align:.72em;margin-left:.06em}
.hero-figure .fig-cap{margin-top:6px;font-size:11.5px;letter-spacing:.42em;text-transform:uppercase;color:rgba(239,238,243,.65)}
.cube{position:absolute;width:46px;height:53px;opacity:.85;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35));animation:float 7s ease-in-out infinite}
.cube svg{width:100%;height:100%}
.cube.c1{top:-6%;right:4%;animation-delay:0s}
.cube.c2{bottom:6%;left:-2%;width:30px;height:35px;animation-delay:2.2s}
.cube.c3{top:38%;left:-14%;width:22px;height:26px;opacity:.5;animation-delay:3.6s}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(-3deg)}}

/* ===== Marquee ===== */
.marquee{background:var(--lime);color:var(--plum-deep);overflow:hidden;padding:16px 0;border-top:1px solid rgba(0,0,0,.08)}
.marquee-track{display:flex;gap:0;white-space:nowrap;animation:marq 36s linear infinite;width:max-content}
.marquee-track span{font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:0 28px;display:inline-flex;align-items:center;gap:56px}
.marquee-track span:after{content:"◆";font-size:8px;opacity:.55}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== Statement / Kancelaria ===== */
.statement{background:var(--paper)}
.statement-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,100px);align-items:start}
.statement h2{font-size:clamp(32px,3.6vw,52px);font-weight:500;letter-spacing:-.01em}
.statement h2 em{font-style:italic;color:var(--lime-dim)}
.statement .col-r p{margin-bottom:20px}
.statement .col-r p.first{font-size:19px;color:var(--ink);font-weight:400}
.sig-line{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted);letter-spacing:.02em}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(60px,7vw,90px)}
.pillar{background:var(--paper);padding:46px 40px;position:relative;overflow:hidden;transition:background .35s}
.pillar:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.pillar:hover:before{transform:scaleX(1)}
.pillar .p-num{font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.14em;color:var(--lime-dim);display:block;margin-bottom:18px}
.pillar h3{font-size:26px;margin-bottom:12px}
.pillar p{font-size:14.5px;line-height:1.75}
.pillar strong{color:var(--ink);font-weight:600}

/* ===== Flagship specializations ===== */
.flagship{background:var(--mist)}
.flag-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.flag-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--lime);padding:52px 48px;transition:box-shadow .4s,transform .4s}
.flag-card:hover{box-shadow:0 34px 80px -34px rgba(43,35,64,.3);transform:translateY(-5px)}
.flag-card .tag{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--lime-dim);font-weight:700;display:block;margin-bottom:18px}
.flag-card h3{font-size:clamp(26px,2.4vw,32px);margin-bottom:16px}
.flag-card p{font-size:15px;margin-bottom:18px}
.flag-card strong{color:var(--ink)}
.flag-card ul{list-style:none;margin:0}
.flag-card li{padding:10px 0 10px 30px;position:relative;border-top:1px solid var(--mist);font-size:14.5px}
.flag-card li:before{content:"—";position:absolute;left:0;color:var(--lime-dim);font-weight:600}
.flag-wide{grid-column:1/-1;background:linear-gradient(140deg,var(--plum-deep),var(--plum) 65%,#332a4d);border:none;border-top:3px solid var(--lime);color:rgba(239,238,243,.78)}
.flag-wide h3{color:#fff}
.flag-wide strong{color:#fff}
.flag-wide p{font-size:15.5px}
.fw-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(30px,4vw,70px);align-items:start}
.ai-badge{display:inline-block;border:1px solid var(--lime);color:var(--lime-bright);padding:7px 16px;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;margin-bottom:22px}
.fw-local{border-left:2px solid var(--lime);padding-left:18px}
.fw-list{background:rgba(255,255,255,.05);border:1px solid var(--line-dark);padding:30px 28px}
.fw-list .fw-h{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--lime-bright);font-weight:700;display:block;margin-bottom:14px}
.fw-list ul{list-style:none}
.fw-list li{padding:9px 0 9px 26px;position:relative;font-size:14px;border-top:1px solid var(--line-dark)}
.fw-list li:first-child{border-top:none}
.fw-list li:before{content:"◆";position:absolute;left:0;font-size:8px;color:var(--lime-bright);top:14px}

/* ===== Numbers band ===== */
.numbers{background:linear-gradient(140deg,var(--plum-deep),var(--plum) 70%,#332a4d);color:#efeef3;position:relative;overflow:hidden}
.numbers .wrap{position:relative;z-index:2}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.num-item{border-left:1px solid var(--line-dark);padding-left:28px}
.num-item .n{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,4.6vw,68px);color:#fff;line-height:1;font-weight:500}
.num-item .n i{font-style:normal;color:var(--lime-bright)}
.num-item .l{margin-top:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,238,243,.6)}
.numbers .watermark{position:absolute;right:-40px;bottom:-90px;font-family:'Cormorant Garamond',serif;font-size:340px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);pointer-events:none;user-select:none}

/* ===== Partner zarządzający ===== */
.partner{background:var(--paper)}
.partner-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,6vw,90px);align-items:center}
.partner-photo{text-align:center}
.pp-frame{position:relative;width:100%;max-width:116px;margin:0 auto;aspect-ratio:1/1}
.pp-frame:before{content:"";position:absolute;inset:0;transform:translate(10px,10px);border:1px solid var(--lime);z-index:0}
.pp-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;filter:contrast(1.02);transition:filter .5s}
.pp-name{margin-top:24px;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--ink)}
.pp-role{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px;line-height:1.6}
.partner-body h2{margin:6px 0 24px}
.partner-body p{margin-bottom:18px}
.partner-body p.first{font-size:19px;color:var(--ink)}
.partner-body strong{color:var(--plum);font-weight:600}
.partner-creds{margin-top:30px;border-top:1px solid var(--line)}
.cred{padding:15px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink);display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:baseline}
.cred .c-k{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime-dim);font-weight:700}

/* ===== Services editorial list ===== */
.services{background:var(--mist)}
.services-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(50px,6vw,80px)}
.services-head p{max-width:460px;justify-self:end;font-size:15.5px;color:var(--muted)}
.svc-list{border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:90px 1fr 1.15fr 60px;gap:30px;align-items:center;padding:34px 10px;border-bottom:1px solid var(--line);position:relative;transition:background .3s,padding-left .3s}
.svc:hover{background:#fff;padding-left:26px}
.svc .s-num{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--lime-dim);letter-spacing:.08em}
.svc h3{font-size:clamp(22px,2vw,28px);font-weight:600;transition:color .3s}
.svc:hover h3{color:var(--plum)}
.svc p{font-size:14.5px;line-height:1.7;color:var(--muted)}
.svc .s-arr{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--line);transition:color .3s,transform .3s;text-align:right}
.svc:hover .s-arr{color:var(--lime-dim);transform:translateX(8px)}

/* ===== Blog ===== */
.blog-strip{background:var(--paper)}
.blog-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:clamp(46px,5vw,70px);flex-wrap:wrap}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.post-card{background:var(--paper);border:1px solid var(--line);padding:40px 36px;display:flex;flex-direction:column;min-height:300px;position:relative;overflow:hidden;transition:box-shadow .4s,transform .4s;}
.post-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.post-card:hover:before{transform:scaleX(1)}
.post-card:hover{box-shadow:0 30px 70px -30px rgba(43,35,64,.28);transform:translateY(-5px)}
.post-card .cat{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--lime-dim);font-weight:700}
.post-card h3{font-size:23px;margin:16px 0 14px;line-height:1.25}
.post-card p{font-size:14.5px;margin-bottom:22px;color:var(--muted)}
.post-card .meta{margin-top:auto;font-size:12.5px;color:var(--muted);letter-spacing:.04em}
.btn-uline{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1.5px solid var(--lime);transition:color .3s}
.btn-uline:hover{color:var(--lime-dim)}

/* ===== Content pages / single ===== */
.page-hero{background:linear-gradient(150deg,var(--plum-deep),var(--plum) 75%,#332a4d);color:#fff;padding:clamp(70px,8vw,110px) 0;text-align:center;position:relative;overflow:hidden}
.page-hero h1{color:#fff;font-size:clamp(34px,4.2vw,56px);font-weight:500;position:relative;z-index:2}
.page-hero .crumb{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--lime-bright);margin-bottom:16px;position:relative;z-index:2}
.content-narrow{max-width:830px;margin:0 auto;padding:clamp(56px,7vw,90px) 32px}
.content-narrow h2{font-size:32px;margin:36px 0 14px}
.content-narrow h3{font-size:24px;margin:28px 0 12px}
.content-narrow p{margin-bottom:18px}
.content-narrow ul,.content-narrow ol{margin:0 0 18px 22px}
.content-narrow li{margin-bottom:8px}
.content-narrow a{color:var(--lime-dim);border-bottom:1px solid var(--lime)}
.content-narrow img{margin:20px 0}
.post-meta-single{font-size:13px;color:var(--muted);margin-bottom:8px;letter-spacing:.04em}

/* ===== Pagination ===== */
.section-center{text-align:center;margin-top:54px}
.nav-links{display:flex;gap:10px;justify-content:center}
.nav-links .page-numbers{padding:9px 16px;border:1px solid var(--line);font-size:14px}
.nav-links .page-numbers.current{background:var(--plum);color:#fff;border-color:var(--plum)}

/* ===== Footer (kontakt — dyskretnie) ===== */
.site-footer{background:var(--plum-deep);color:rgba(239,238,243,.55);font-size:13.5px;position:relative;overflow:hidden}
.foot-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding:clamp(56px,6vw,80px) 0 46px;border-bottom:1px solid var(--line-dark);position:relative;z-index:2}
.foot-word{font-family:'Inter',sans-serif;font-size:24px;font-weight:300;letter-spacing:.01em;color:#fff;margin-bottom:16px}
.foot-word b{font-weight:600;color:#fff}
.foot-word span{color:var(--lime-bright);font-weight:600}
.foot-main p{max-width:330px;line-height:1.8}
.foot-col h4{color:#fff;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:20px;font-weight:600;opacity:.85}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:10px}
.foot-col a{transition:color .3s}
.foot-col a:hover{color:var(--lime-bright)}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0;font-size:12.5px;color:rgba(239,238,243,.4);position:relative;z-index:2}
.foot-bottom a:hover{color:var(--lime-bright)}

/* ===== Responsive ===== */
@media(max-width:1020px){
  .hero-inner{grid-template-columns:1fr;min-height:0;padding:80px 0 90px;text-align:left}
  .hero-figure{display:none}
  .statement-grid,.services-head{grid-template-columns:1fr}
  .services-head p{justify-self:start}
  .pillars{grid-template-columns:1fr}
  .flag-grid,.fw-grid{grid-template-columns:1fr}
  .partner-grid{grid-template-columns:1fr;gap:40px}
  .pp-frame{max-width:108px}
  .cred{grid-template-columns:1fr;gap:4px}
  .numbers-grid{grid-template-columns:1fr 1fr;gap:34px}
  .svc{grid-template-columns:52px 1fr;gap:14px}
  .svc p{grid-column:2}
  .svc .s-arr{display:none}
  .blog-grid{grid-template-columns:1fr}
  .foot-main{grid-template-columns:1fr}
  ul.menu{display:none;position:absolute;top:86px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:12px 0;border-bottom:1px solid var(--line);box-shadow:0 24px 50px -20px rgba(0,0,0,.25)}
  ul.menu.open{display:flex}
  ul.menu li{padding:13px 36px;width:100%}
  .nav-toggle{display:block}
}
