/* POSHMACK — štýly sekcií a komponentov. Všetko cez tokeny z tokens.css. */

/* --- základ ------------------------------------------------------------- */
body{-webkit-font-smoothing:antialiased;text-wrap:pretty}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--yellow-300);color:var(--ink-900)}
.pm-ink{background:var(--ink-900);color:rgba(255,255,255,.72)}
.pm-ink :where(h1,h2,h3,h4,h5,h6){color:var(--paper-050)}
.pm-hairline{border-top:1px solid var(--border-hairline)}

/* --- tlačidlá ----------------------------------------------------------- */
.wp-block-button__link{transition:var(--transition-control)}
.wp-block-button__link:active{transform:scale(var(--press-scale))}
.wp-block-button.is-style-pm-accent .wp-block-button__link{background:var(--orange-500);color:#fff}
.wp-block-button.is-style-pm-accent .wp-block-button__link:hover{background:var(--orange-600)}
.wp-block-button.is-style-pm-outline .wp-block-button__link{background:transparent;color:var(--ink-900);box-shadow:inset 0 0 0 1px var(--ink-900)}
.wp-block-button.is-style-pm-outline .wp-block-button__link:hover{background:var(--ink-900);color:var(--paper-050)}
.wp-block-button.is-style-pm-inverse .wp-block-button__link{background:transparent;color:var(--paper-050);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.wp-block-button.is-style-pm-inverse .wp-block-button__link:hover{background:var(--paper-050);color:var(--ink-900)}

/* --- textové role ------------------------------------------------------- */
.is-style-pm-eyebrow{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:var(--space-4)}
.is-style-pm-eyebrow::after{content:"";flex:1;max-width:64px;height:1px;background:currentColor;opacity:.4}
.pm-ink .is-style-pm-eyebrow,.has-paper-050-color .is-style-pm-eyebrow{color:rgba(255,255,255,.62)}
.is-style-pm-lede{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text-muted);max-width:52ch}
.is-style-pm-big{font-size:clamp(34px,5.2vw,72px);line-height:1.02;letter-spacing:-.03em;max-width:20ch}
.pm-num{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);color:var(--orange-500)}
.pm-price{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-xl);color:var(--text-price)}

/* --- karty a médiá ------------------------------------------------------ */
.wp-block-group.is-style-pm-card{background:var(--paper-000);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:var(--space-8);box-shadow:none;transition:box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}
.wp-block-image.is-style-pm-media img{border-radius:var(--radius-media);background:var(--surface-media)}
.is-style-pm-bullets{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.is-style-pm-bullets li{position:relative;padding-left:26px;font-size:var(--fs-sm);color:var(--text-muted)}
.is-style-pm-bullets li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:7px;border-left:1.5px solid var(--orange-500);border-bottom:1.5px solid var(--orange-500);transform:rotate(-45deg)}

/* --- pás sľubov (marquee) ---------------------------------------------- */
.pm-marquee{background:var(--ink-900);color:var(--paper-050);overflow:hidden;padding:9px 0}
.pm-marquee-run{display:flex;width:max-content;animation:pm-marquee var(--marquee-dur) linear infinite}
.pm-marquee-run span{display:inline-flex;align-items:center;gap:.8em;padding-right:.8em;font-family:var(--font-display);font-size:var(--fs-3xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;white-space:nowrap}
.pm-marquee-run span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--orange-500)}
@keyframes pm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.pm-marquee-run{animation:none}}

/* --- hlavička ----------------------------------------------------------- */
.pm-header{position:sticky;top:0;z-index:60;background:rgba(251,249,246,.92);backdrop-filter:var(--blur-sheet);border-bottom:1px solid var(--border-hairline)}
.admin-bar .pm-header{top:32px}

.pm-header-in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}

.pm-logo{display:block;flex:0 0 auto}
.pm-logo img,.pm-logo svg{display:block;height:28px;width:auto}

.pm-nav{display:flex;align-items:center;gap:var(--space-8);flex:1;justify-content:center}
.pm-nav a{position:relative;font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-strong)}
.pm-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-soft)}
.pm-nav a:hover::after{transform:scaleX(1)}

.pm-utils{display:flex;align-items:center;gap:var(--space-5);flex:0 0 auto}
.pm-utils-icon{display:inline-flex}
.pm-utils-icon svg{width:20px;height:20px;stroke-width:1.5;color:var(--text-strong)}
.pm-header .wc-block-mini-cart__button{padding:0}
.pm-header .wc-block-mini-cart__icon{width:20px;height:20px}
@media(max-width:640px){.pm-nav{gap:var(--space-5)}}

/* --- hero --------------------------------------------------------------- */
.pm-hero{min-height:92vh;overflow:clip;padding-left:0;padding-right:0}
.pm-hero .wp-block-cover__background{background:linear-gradient(100deg,rgba(12,12,12,.88) 0%,rgba(12,12,12,.55) 44%,rgba(12,12,12,.06) 80%)!important}
.pm-h1{font-size:clamp(58px,11.4vw,180px)!important;line-height:.84;letter-spacing:-.045em;font-weight:var(--fw-semibold)}
.pm-hero-meta{border-top:1px solid rgba(255,255,255,.18);padding-top:var(--space-6)}
.pm-hero-meta p{margin:0}
.pm-hero-meta strong{display:block;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--paper-050)}
.pm-hero-meta em{font-style:normal;font-family:var(--font-display);font-size:var(--fs-3xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:rgba(255,255,255,.55)}

/* --- hero: rozpad písmen + fade nástup + parallax ----------------------- */
.pm-hero-parallax-img{will-change:transform;transform-origin:center top}
.pm-hero-parallax-content{will-change:transform,opacity}
.pm-h1{display:block}
.pm-hero-letter{display:inline-block;opacity:0;animation:pm-letter-in .9s cubic-bezier(.22,1,.36,1) both}
@keyframes pm-letter-in{from{opacity:0;transform:translateY(70px) rotate(4deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
.pm-hero-fade{opacity:0;animation:pm-fade-up .8s cubic-bezier(.22,1,.36,1) both}
@keyframes pm-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.pm-hero-letter,.pm-hero-fade{animation:none;opacity:1;transform:none}.pm-hero-parallax-img,.pm-hero-parallax-content{transform:none!important}}

/* --- detaily: sticky prelínanie obrázkov -------------------------------- */
.pm-detail{display:grid;grid-template-columns:42% 1fr;gap:var(--space-16);align-items:start}
.pm-detail-sticky{position:sticky;top:calc(104px + var(--space-6));aspect-ratio:4/5;border-radius:var(--radius-media);overflow:hidden;background:var(--surface-media)}
.pm-detail-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur-slow) var(--ease-standard)}
.pm-detail-img.on{opacity:1}
.pm-detail-list{display:flex;flex-direction:column;gap:var(--space-8)}
@media(max-width:1000px){.pm-detail{grid-template-columns:1fr;gap:var(--space-8)}.pm-detail-sticky{position:static;aspect-ratio:16/11}}

/* --- veľký pás ---------------------------------------------------------- */
.pm-strip{background:var(--ink-900);color:var(--paper-050);overflow:hidden;padding:var(--space-8) 0}
.pm-strip-run{display:flex;width:max-content;animation:pm-marquee 34s linear infinite}
.pm-strip-run i{font-style:normal;display:inline-flex;align-items:center;gap:.32em;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:clamp(38px,7.6vw,104px);letter-spacing:-.03em;white-space:nowrap;padding-right:.32em}
.pm-strip-run i::after{content:"";width:.16em;height:.16em;border-radius:50%;background:var(--orange-500)}
@media(prefers-reduced-motion:reduce){.pm-strip-run{animation:none}}

/* --- farby (colourways) ------------------------------------------------- */
.pm-swatch-card figure{margin:0}
.pm-swatch-card .wp-block-image img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--radius-media);background:var(--surface-media);transition:var(--transition-media)}
.pm-swatch-card:hover .wp-block-image img{transform:scale(1.03)}
.pm-swatch-foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.pm-swatch-foot h3{font-size:var(--fs-xl)}
.pm-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--radius-pill);background:rgba(255,255,255,.92);font-family:var(--font-display);font-size:var(--fs-3xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--ink-900)}

/* --- eshop: filter podľa farby + mriežka kariet ------------------------- */
.pm-filters{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;padding:var(--space-5) 0;border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.pm-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}
.pm-chip{display:flex;align-items:center;gap:8px;height:var(--control-h-sm);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-input);background:var(--paper-000);cursor:pointer;font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--text-strong);transition:var(--transition-control)}
.pm-chip:hover{border-color:var(--ink-600)}
.pm-chip[aria-pressed="true"]{background:var(--ink-900);border-color:var(--ink-900);color:var(--paper-050)}
.pm-chip i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(12,12,12,.18)}
.pm-filters-sp{flex:1}
.pm-count{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-faint)}
.pm-sort-select{width:220px;height:var(--control-h-sm);border:1px solid var(--border-input);border-radius:var(--radius-input);background:var(--paper-000);padding:0 var(--space-4);font-family:var(--font-display);font-size:var(--fs-xs)}
.pm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap) var(--space-8);padding:var(--space-12) 0}
@media(max-width:900px){.pm-grid{grid-template-columns:1fr 1fr;gap:var(--space-8) var(--space-5)}}
@media(max-width:560px){.pm-grid{grid-template-columns:1fr}}
.pm-col{display:flex;flex-direction:column;gap:var(--space-4);position:relative}
.pm-col[hidden]{display:none}
.pm-col-media{display:block;position:relative;aspect-ratio:4/5;border-radius:var(--radius-media);overflow:hidden;background:var(--surface-media)}
.pm-col-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-slow) var(--ease-soft)}
.pm-col-media .pm-col-hover{opacity:0}
.pm-col:hover .pm-col-media img:first-child{transform:scale(1.03)}
.pm-col:hover .pm-col-media .pm-col-hover{opacity:1}

.pm-col-flag{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1;display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--radius-chip);background:var(--ink-900);color:var(--paper-050);font-family:var(--font-display);font-size:var(--fs-3xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase}

.pm-col-add{position:absolute;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:1;height:var(--control-h-sm);border:1px solid var(--paper-000);border-radius:var(--radius-control);background:var(--paper-000);color:var(--ink-900);cursor:pointer;font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-button);text-transform:uppercase;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-soft),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
.pm-col:hover .pm-col-add,.pm-col:focus-within .pm-col-add{opacity:1;transform:translateY(0);pointer-events:auto}
.pm-col-add:hover{background:var(--ink-900);color:var(--paper-050);border-color:var(--ink-900)}
.pm-col-add.loading{opacity:.6!important;pointer-events:none}
@media(hover:none){.pm-col-add{opacity:1;transform:none;pointer-events:auto;position:static;width:100%;margin-top:var(--space-1)}}

.pm-col-foot{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.pm-col-title{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-strong);line-height:var(--lh-normal)}
.pm-col-foot .pm-price{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-price)}
.pm-col-swatches{display:flex;gap:6px;margin-top:2px}
.pm-col-swatches span{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(12,12,12,.14)}
.pm-soon{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-3);aspect-ratio:4/5;padding:var(--space-6);border:1px dashed var(--border-input);border-radius:var(--radius-media);background:var(--paper-100)}
.pm-soon h3{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:-.02em;color:var(--text-strong)}
.pm-soon p{font-size:var(--fs-sm);color:var(--text-muted);max-width:26ch}
.pm-soon a{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text-strong)}

/* --- detaily + špecifikácie -------------------------------------------- */
.pm-detail-item{border-bottom:1px solid var(--border-hairline);padding-bottom:var(--space-8)}
.pm-detail-item h3{font-size:clamp(24px,2.6vw,34px);line-height:1.08;letter-spacing:-.025em;max-width:22ch}
.pm-detail-item p{color:var(--text-muted);max-width:44ch}
.pm-specs{border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline);padding:var(--space-10) 0}
.pm-specs h6{color:var(--text-faint);margin-bottom:6px}
.pm-specs p{font-family:var(--font-display);font-size:var(--fs-md);color:var(--text-strong);margin:0}

/* --- trust -------------------------------------------------------------- */
.pm-trust-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-hairline);color:var(--ink-900);margin-bottom:var(--space-5)}
.pm-trust-icon svg{width:20px;height:20px;stroke-width:1.5}

/* --- misia -------------------------------------------------------------- */
.pm-mission{position:relative;overflow:hidden}
.pm-mission::before{content:"";position:absolute;inset:0;background-image:url(../img/paws.png);background-size:420px;opacity:.14;filter:invert(1);pointer-events:none}
.pm-mission>*{position:relative}
.pm-quote{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--orange-400)}
.pm-stat b{display:block;font-family:var(--font-display);font-size:clamp(34px,4.6vw,58px);font-weight:var(--fw-semibold);letter-spacing:-.03em;line-height:1;color:var(--paper-050)}
.pm-stat span{font-family:var(--font-display);font-size:var(--fs-3xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:rgba(255,255,255,.55)}

/* --- FAQ / akordeón ----------------------------------------------------- */
.wp-block-details.is-style-pm-accordion{border-bottom:1px solid var(--border-hairline);padding:var(--space-5) 0}
.wp-block-details.is-style-pm-accordion summary{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-strong);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.wp-block-details.is-style-pm-accordion summary::-webkit-details-marker{display:none}
.wp-block-details.is-style-pm-accordion summary::after{content:"+";font-size:20px;color:var(--text-faint);line-height:1}
.wp-block-details.is-style-pm-accordion[open] summary::after{content:"\2212"}
.wp-block-details.is-style-pm-accordion p{margin-top:var(--space-4);color:var(--text-muted);max-width:60ch}

/* --- pätička ------------------------------------------------------------ */
.pm-footer{background:var(--ink-900);color:rgba(255,255,255,.7)}
.pm-footer h6{color:var(--paper-050)}
.pm-footer a{color:rgba(255,255,255,.7)}
.pm-footer a:hover{color:var(--orange-400)}
.pm-footer .wp-block-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs-sm)}
.pm-footer-bot{border-top:1px solid rgba(255,255,255,.14);padding-top:var(--space-6);font-size:var(--fs-xs)}

/* --- blog + obsah ------------------------------------------------------- */
.pm-prose :where(p,ul,ol){max-width:var(--max-prose)}
.pm-post-card{border-top:1px solid var(--border-hairline);padding-top:var(--space-5)}
.pm-post-card .wp-block-post-title{font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.02em}
.pm-post-card .wp-block-post-featured-image img{border-radius:var(--radius-media);aspect-ratio:4/3;object-fit:cover}
.pm-meta{font-family:var(--font-display);font-size:var(--fs-3xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-faint)}

/* --- reveal na scroll --------------------------------------------------- */
[data-pm-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-slow) var(--ease-soft)}
[data-pm-reveal].pm-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-pm-reveal]{opacity:1!important;transform:none!important}}
