/*
Theme Name:     PawVectors Pets
Theme URI:
Description:    Kadence child theme — Y2K sticker maximalist branding.
Author:         pinterest-farm
Author URI:
Template:       kadence
Version:        0.2.0
*/

/* ============================================================
   PAW VECTORS — Y2K Sticker Maximalist
   Palette + typography overrides for Kadence parent theme.
   ============================================================ */

:root {
  --pf-mustard: #F4C430;
  --pf-mustard-dim: #D9AB1B;
  --pf-pink: #FF3D7F;
  --pf-pink-dim: #D8225F;
  --pf-charcoal: #1A1A1A;
  --pf-cream: #FFFBF0;
  --pf-cream-2: #FFF7E0;
  --pf-teal: #2EC4B6;

  /* Override Kadence global-palette to our scheme. */
  --global-palette1: #FF3D7F;       /* primary accent */
  --global-palette2: #1A1A1A;       /* secondary */
  --global-palette3: #1A1A1A;       /* heading */
  --global-palette4: #1A1A1A;       /* body */
  --global-palette5: #444;
  --global-palette6: #6B6B6B;
  --global-palette7: #E7E7E0;
  --global-palette8: #FFFBF0;       /* page bg */
  --global-palette9: #FFFFFF;
}

/* ---- Base ---- */
body,
.site,
.entry-content {
  background: var(--pf-cream);
  color: var(--pf-charcoal);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

body {
  font-feature-settings: 'ss01';
}

/* ---- Typography ---- */
h1, h2, h3, h4, h5, h6,
.entry-title,
.wp-block-heading {
  font-family: 'Bricolage Grotesque', 'Inter', sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pf-charcoal);
  line-height: 1;
}

h1, .entry-title { font-size: clamp(2.4rem, 5vw, 4.5rem); margin-bottom: 0.4em; }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
h3 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); }

p { line-height: 1.65; }

/* Accent: hot pink for emphasized words */
strong em,
.pf-accent { color: var(--pf-pink); font-style: normal; }

/* ---- Header / Navigation ---- */
.site-header-wrap,
.site-header,
#masthead {
  background: var(--pf-cream) !important;
  border-bottom: 2px solid var(--pf-charcoal);
}

.site-branding .site-title a,
.site-title a {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800;
  font-size: 1.75rem;
  color: var(--pf-charcoal) !important;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.site-title a::after {
  content: 'VECTORS';
  color: var(--pf-pink);
}
/* hide that hack if title text already includes the word */
.site-title:has(a[href*="paw"]) a::after { content: none; }

.main-navigation a,
.menu-item a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  color: var(--pf-charcoal) !important;
}
.main-navigation a:hover,
.menu-item a:hover { color: var(--pf-pink) !important; }

/* Highlight active menu */
.current-menu-item > a,
.menu-item.current-menu-item > a {
  background: var(--pf-mustard);
  border: 2px solid var(--pf-charcoal);
  box-shadow: 3px 3px 0 var(--pf-charcoal);
  padding: 0.3rem 0.7rem !important;
  transform: rotate(-1.5deg);
  display: inline-block;
}

/* ---- Buttons: sticker effect ---- */
.wp-block-button__link,
.kb-button,
button[type="submit"],
input[type="submit"],
.btn-primary,
a.button {
  background: var(--pf-pink) !important;
  color: var(--pf-cream) !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95rem;
  padding: 0.85rem 1.6rem !important;
  border: 2px solid var(--pf-charcoal) !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 var(--pf-charcoal);
  transition: all 0.15s ease;
  text-decoration: none;
  display: inline-block;
}

.wp-block-button__link:hover,
.kb-button:hover,
button[type="submit"]:hover,
.btn-primary:hover,
a.button:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--pf-charcoal);
  background: var(--pf-pink-dim) !important;
}

/* Secondary mustard button */
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline a {
  background: var(--pf-mustard) !important;
  color: var(--pf-charcoal) !important;
}

/* ---- Links in body ---- */
.entry-content a:not(.wp-block-button__link):not(.kb-button) {
  color: var(--pf-pink);
  text-decoration-color: var(--pf-mustard);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.entry-content a:hover { color: var(--pf-pink-dim); }

/* ---- Categories / pill labels ---- */
.entry-meta a,
.cat-links a,
.post-categories a {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--pf-pink) !important;
  text-decoration: none !important;
}

/* ---- Article cards (entries on archive / home) ---- */
.post-loop-wrap article,
.loop-entry,
.entry-content > .wp-block-latest-posts__list > li {
  background: var(--pf-cream);
  border: 2px solid var(--pf-charcoal);
  box-shadow: 4px 4px 0 var(--pf-charcoal);
  padding: 1.5rem;
  margin-bottom: 2rem;
  transition: transform 0.15s ease;
}
.post-loop-wrap article:hover,
.loop-entry:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--pf-charcoal); }

/* ---- Custom utility classes (use inside Gutenberg HTML/Custom Blocks) ---- */
.pf-sticker {
  border: 2px solid var(--pf-charcoal);
  box-shadow: 4px 4px 0 var(--pf-charcoal);
  transition: all 0.15s ease;
}
.pf-sticker-hover:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--pf-charcoal);
}
.pf-rotate-1 { transform: rotate(-1.5deg); }
.pf-rotate-2 { transform: rotate(2deg); }
.pf-rotate-3 { transform: rotate(-3deg); }
.pf-pink-bg { background: var(--pf-pink); color: var(--pf-cream); }
.pf-mustard-bg { background: var(--pf-mustard); }
.pf-teal-bg { background: var(--pf-teal); color: var(--pf-cream); }
.pf-charcoal-bg { background: var(--pf-charcoal); color: var(--pf-mustard); }

.pf-dots-bg {
  background-image: radial-gradient(circle at 1px 1px, rgba(26,26,26,0.18) 1px, transparent 0);
  background-size: 22px 22px;
}

/* Marquee ribbon */
.pf-marquee {
  background: var(--pf-charcoal);
  color: var(--pf-mustard);
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  padding: 0.7rem 0;
  overflow: hidden;
  white-space: nowrap;
  border-bottom: 2px solid var(--pf-charcoal);
}
.pf-marquee-track {
  display: inline-block;
  animation: pf-marquee 25s linear infinite;
  padding-left: 100%;
}
@keyframes pf-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }

/* Squiggle underline for highlighted body words */
.pf-squiggle {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'><path d='M 0 4 Q 25 0 50 4 T 100 4 T 150 4 T 200 4' stroke='%23FF3D7F' stroke-width='3' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 6px;
  padding-bottom: 6px;
}

/* ---- FTC disclosure banner inside posts ---- */
.entry-content > p:first-of-type em:only-child {
  display: block;
  background: var(--pf-mustard);
  border: 2px solid var(--pf-charcoal);
  box-shadow: 3px 3px 0 var(--pf-charcoal);
  padding: 0.8rem 1.2rem;
  font-style: normal;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 1.5rem 0 2.5rem;
}

/* ---- Footer ---- */
.site-footer,
#colophon {
  background: var(--pf-cream-2);
  border-top: 2px solid var(--pf-charcoal);
  color: var(--pf-charcoal);
}
.site-footer a { color: var(--pf-charcoal) !important; text-decoration: underline; }
.site-footer a:hover { color: var(--pf-pink) !important; }

/* ---- Forms ---- */
input[type="text"],
input[type="email"],
input[type="search"],
textarea {
  border: 2px solid var(--pf-charcoal) !important;
  background: var(--pf-cream) !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
}

/* ---- Tables (used in spec lists) ---- */
table { border-collapse: collapse; }
table th, table td { border: 2px solid var(--pf-charcoal); padding: 0.6rem 1rem; }
table th { background: var(--pf-mustard); font-family: 'Bricolage Grotesque'; }

/* ---- Misc Kadence tweaks ---- */
.entry-hero-container-inner,
.kadence-hero-section { background: var(--pf-mustard) !important; }
.entry-hero h1 { color: var(--pf-charcoal) !important; }

/* Accent fun script for inline use */
.pf-fun {
  font-family: 'Caprasimo', cursive;
  font-weight: 400;
  color: var(--pf-pink);
  display: inline-block;
  transform: rotate(-2deg);
}

/* ============================================================
   HOMEPAGE — full-width, sticker-maximalist Kadence overrides
   Triggers only on body.home so other pages keep boxed layout.
   ============================================================ */

body.home .entry-header,
body.home .single-content-padding > .entry-header { display: none !important; }

body.home .content-container,
body.home .content-container .entry-content,
body.home .site-container,
body.home .site-main,
body.home .content-area {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.home .entry-content > * { margin-left: 0 !important; margin-right: 0 !important; }
body.home article.page > .entry-content { padding: 0 !important; }
body.home .entry-content-wrap { padding: 0 !important; }

/* Common container */
.pf-container { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }
.pf-section { position: relative; }

/* ---- Hero ---- */
.pf-hero {
  padding: 5rem 0 6rem;
  position: relative;
  overflow: hidden;
  background: var(--pf-cream);
  background-image: radial-gradient(circle at 1px 1px, rgba(26,26,26,0.18) 1px, transparent 0);
  background-size: 22px 22px;
}
.pf-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 980px) {
  .pf-hero-grid { grid-template-columns: 1.2fr 1fr; gap: 3rem; }
}
.pf-hero h1.pf-hero-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
  font-size: clamp(3.6rem, 9vw, 8rem);
  line-height: 0.85;
  letter-spacing: -0.03em;
  margin: 0 0 0.3em;
}
.pf-hero-title span.pf-pink-w { color: var(--pf-pink); }
.pf-hero-title .pf-fun { font-size: 0.85em; line-height: 1; }
.pf-hero-eyebrow {
  display: inline-block;
  border: 2px solid var(--pf-charcoal);
  box-shadow: 4px 4px 0 var(--pf-charcoal);
  background: var(--pf-cream);
  padding: 0.35rem 0.9rem;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  transform: rotate(-2deg);
  margin-bottom: 1.5rem;
}
.pf-hero-lede {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  max-width: 32rem;
  margin: 0 0 2rem;
}
.pf-hero-ctas { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.pf-hero-ctas a {
  border: 2px solid var(--pf-charcoal) !important;
  box-shadow: 4px 4px 0 var(--pf-charcoal);
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95rem;
  padding: 0.85rem 1.6rem !important;
  text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 0.4rem;
  transition: all 0.15s ease;
}
.pf-hero-ctas a:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--pf-charcoal);
}
.pf-hero-ctas a.pf-cta-primary { background: var(--pf-pink); color: var(--pf-cream) !important; }
.pf-hero-ctas a.pf-cta-secondary { background: var(--pf-mustard); color: var(--pf-charcoal) !important; }

/* Hero proof bar */
.pf-hero-proof { display: flex; align-items: center; gap: 1rem; margin-top: 2.5rem; font-size: 0.85rem; font-weight: 600; }
.pf-hero-proof .pf-avatars { display: flex; }
.pf-hero-proof .pf-avatars > div {
  width: 2.5rem; height: 2.5rem; border-radius: 50%;
  border: 2px solid var(--pf-charcoal); box-shadow: 3px 3px 0 var(--pf-charcoal);
  display: flex; align-items: center; justify-content: center; font-size: 1.1rem;
  margin-left: -0.5rem;
}
.pf-hero-proof .pf-avatars > div:first-child { margin-left: 0; }

/* Hero floating sticker stack (right side) */
.pf-hero-stack { position: relative; min-height: 22rem; display: none; }
@media (min-width: 980px) { .pf-hero-stack { display: block; min-height: 30rem; } }
.pf-hero-card {
  position: absolute;
  width: 14rem;
  aspect-ratio: 2 / 3;
  background: var(--pf-cream);
  border: 2px solid var(--pf-charcoal);
  box-shadow: 4px 4px 0 var(--pf-charcoal);
  padding: 1.1rem;
  display: flex; flex-direction: column;
}
.pf-hero-card-eyebrow { font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.3rem; }
.pf-hero-card-emoji { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 6rem; }
.pf-hero-card-title { font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 1.05rem; line-height: 1.1; }
.pf-hero-card-1 { top: 0; right: 2rem; transform: rotate(5deg); }
.pf-hero-card-2 { top: 5rem; left: 0; transform: rotate(-7deg); width: 13rem; }
.pf-hero-badge-round {
  position: absolute; bottom: 0; right: 0;
  width: 8rem; height: 8rem; border-radius: 50%;
  background: var(--pf-mustard);
  border: 2px solid var(--pf-charcoal); box-shadow: 4px 4px 0 var(--pf-charcoal);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 0.85rem;
  text-align: center; line-height: 1.05; text-transform: uppercase;
  transform: rotate(-15deg);
}

/* Floating decorative stickers on hero background */
.pf-deco-sticker {
  position: absolute;
  width: 5rem; height: 5rem; border-radius: 50%;
  background: var(--pf-teal);
  border: 2px solid var(--pf-charcoal); box-shadow: 4px 4px 0 var(--pf-charcoal);
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem;
}

/* ---- Category grid ---- */
.pf-cat-section { padding: 4rem 0; background: var(--pf-cream); border-top: 2px solid var(--pf-charcoal); border-bottom: 2px solid var(--pf-charcoal); }
.pf-cat-header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.5rem; }
.pf-cat-header h2 { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 0.9; margin: 0; }
.pf-cat-eyebrow {
  display: block; font-family: 'Bricolage Grotesque'; font-weight: 800;
  font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--pf-pink); margin-bottom: 0.6rem;
}
.pf-cat-grid {
  display: grid; gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 720px) { .pf-cat-grid { grid-template-columns: repeat(4, 1fr); } }
.pf-cat-card {
  border: 2px solid var(--pf-charcoal); box-shadow: 4px 4px 0 var(--pf-charcoal);
  padding: 1.5rem; text-align: center; text-decoration: none !important;
  transition: all 0.15s ease;
  display: flex; flex-direction: column; align-items: center;
  color: var(--pf-charcoal);
}
.pf-cat-card:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--pf-charcoal); }
.pf-cat-card .pf-cat-emoji { font-size: 3.4rem; margin-bottom: 0.6rem; }
.pf-cat-card h3 { font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 1.35rem; margin: 0 0 0.2rem; text-transform: uppercase; }
.pf-cat-card p { font-size: 0.85rem; font-weight: 600; margin: 0; opacity: 0.8; }
.pf-cat-card-mustard { background: var(--pf-mustard); transform: rotate(-1.5deg); }
.pf-cat-card-pink    { background: var(--pf-pink); color: var(--pf-cream) !important; transform: rotate(1.5deg); }
.pf-cat-card-pink p, .pf-cat-card-pink h3 { color: var(--pf-cream); }
.pf-cat-card-teal    { background: var(--pf-teal); color: var(--pf-cream) !important; transform: rotate(-2deg); }
.pf-cat-card-teal p, .pf-cat-card-teal h3 { color: var(--pf-cream); }
.pf-cat-card-cream   { background: var(--pf-cream); transform: rotate(2deg); }

/* ---- Latest reviews grid ---- */
.pf-fresh-section {
  padding: 5rem 0;
  background: var(--pf-cream);
  background-image: radial-gradient(circle at 1px 1px, rgba(26,26,26,0.18) 1px, transparent 0);
  background-size: 22px 22px;
}
.pf-fresh-grid {
  display: grid; gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) { .pf-fresh-grid { grid-template-columns: repeat(3, 1fr); } }
.pf-fresh-card {
  border: 2px solid var(--pf-charcoal); box-shadow: 4px 4px 0 var(--pf-charcoal);
  background: var(--pf-cream); transition: all 0.15s ease;
  text-decoration: none !important; color: var(--pf-charcoal); display: block;
}
.pf-fresh-card:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--pf-charcoal); }
.pf-fresh-card-1 { transform: rotate(-1deg); }
.pf-fresh-card-2 { transform: rotate(1deg); }
.pf-fresh-card-3 { transform: rotate(-1.5deg); }
.pf-fresh-card .pf-fresh-img {
  aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center;
  font-size: 7rem;
}
.pf-fresh-card .pf-fresh-img-mustard { background: var(--pf-mustard); }
.pf-fresh-card .pf-fresh-img-pink { background: var(--pf-pink); color: var(--pf-cream); }
.pf-fresh-card .pf-fresh-img-teal { background: var(--pf-teal); color: var(--pf-cream); }
.pf-fresh-card .pf-fresh-body { padding: 1.4rem; }
.pf-fresh-card .pf-fresh-meta {
  font-family: 'Bricolage Grotesque'; font-weight: 800;
  font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em;
  margin-bottom: 0.6rem;
}
.pf-fresh-card .pf-fresh-meta .pf-fresh-cat { color: var(--pf-pink); }
.pf-fresh-card .pf-fresh-meta .pf-fresh-cat-teal { color: var(--pf-teal); }
.pf-fresh-card h3 { font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 1.4rem; line-height: 1.1; margin: 0 0 0.7rem; }
.pf-fresh-card p { font-size: 0.85rem; line-height: 1.5; margin: 0; }

/* ---- About dark section ---- */
.pf-about-dark {
  position: relative; overflow: hidden;
  background: var(--pf-charcoal); color: var(--pf-cream);
  padding: 5rem 0;
}
.pf-about-dark::before, .pf-about-dark::after {
  content: ''; position: absolute; width: 14rem; height: 14rem; border-radius: 50%; opacity: 0.25; filter: blur(60px);
}
.pf-about-dark::before { top: 3rem; right: 5rem; background: var(--pf-mustard); }
.pf-about-dark::after  { bottom: 3rem; left: 5rem; background: var(--pf-pink); }
.pf-about-grid {
  display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center;
  position: relative; z-index: 1;
}
@media (min-width: 880px) { .pf-about-grid { grid-template-columns: 1fr 2fr; gap: 3rem; } }
.pf-about-avatar {
  aspect-ratio: 1/1; background: var(--pf-mustard);
  border: 2px solid var(--pf-cream); box-shadow: 4px 4px 0 var(--pf-cream);
  display: flex; align-items: center; justify-content: center; font-size: 8rem;
  transform: rotate(-3deg);
}
.pf-about-dark h2 {
  font-family: 'Bricolage Grotesque'; font-weight: 800;
  font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 0.95; margin: 0 0 1.5rem;
  color: var(--pf-cream);
}
.pf-about-dark p { font-size: 1rem; line-height: 1.65; max-width: 38rem; }
.pf-about-tag {
  display: inline-block; padding: 0.3rem 0.8rem;
  background: var(--pf-pink); color: var(--pf-cream) !important;
  border: 2px solid var(--pf-cream); box-shadow: 3px 3px 0 var(--pf-cream);
  font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 0.75rem;
  text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 1rem;
  transform: rotate(2deg);
}
.pf-about-dark .pf-cta-mustard {
  display: inline-block; text-decoration: none;
  background: var(--pf-mustard); color: var(--pf-charcoal) !important;
  border: 2px solid var(--pf-cream); box-shadow: 4px 4px 0 var(--pf-cream);
  padding: 0.85rem 1.6rem; font-family: 'Bricolage Grotesque'; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.95rem;
  transition: all 0.15s ease;
}
.pf-about-dark .pf-cta-mustard:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--pf-cream); }
.pf-about-pink-w { color: var(--pf-pink); font-weight: 700; }
.pf-about-mustard-fun { font-family: 'Caprasimo'; color: var(--pf-mustard); display: inline-block; transform: rotate(-2deg); }

/* ---- Newsletter strip ---- */
.pf-news-strip {
  padding: 4rem 0; background: var(--pf-mustard); border-top: 2px solid var(--pf-charcoal); border-bottom: 2px solid var(--pf-charcoal);
}
.pf-news-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; align-items: center; }
@media (min-width: 880px) { .pf-news-grid { grid-template-columns: 1.2fr 1fr; gap: 3rem; } }
.pf-news-strip h2 { font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 0.5rem; }
.pf-news-strip p { font-size: 1rem; max-width: 28rem; margin: 0; }
.pf-news-form { display: flex; gap: 0; border: 2px solid var(--pf-charcoal); box-shadow: 4px 4px 0 var(--pf-charcoal); background: var(--pf-cream); max-width: 32rem; }
.pf-news-form input {
  flex: 1; padding: 0.9rem 1rem; border: 0 !important; background: transparent !important;
  font-family: 'Inter', sans-serif !important; font-size: 0.95rem;
  box-shadow: none !important;
}
.pf-news-form input:focus { outline: none; }
.pf-news-form button {
  padding: 0 1.6rem; background: var(--pf-charcoal); color: var(--pf-cream);
  font-family: 'Bricolage Grotesque'; font-weight: 800; font-size: 0.85rem;
  text-transform: uppercase; letter-spacing: 0.1em; border: 0; cursor: pointer;
}

/* Marquee track helpers (inline use within .pf-marquee) */
.pf-marquee-content { display: inline-block; padding-right: 100%; }
