/* PillowPro Enhancements v1.0.0 */
:root{
  --pp-bg:#FAF8F3; --pp-card:#FFFEF9; --pp-ink:#2A1F14; --pp-text:#3D2E1E; --pp-muted:#8A7968;
  --pp-line:#EDE5D8; --pp-accent:#C07A3A; --pp-accent-dark:#A5652B; --pp-amz:#FF9900; --pp-amz-dark:#E88A00;
  --pp-radius:16px; --pp-shadow:0 10px 30px rgba(42,31,20,.08);
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Header: hide placeholder social icons (links were "#") ---------- */
.ast-header-social-wrap{display:none!important}

/* ---------- Reading progress ---------- */
.pp-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--pp-accent),var(--pp-amz));z-index:99999;transition:width .08s linear;pointer-events:none}
.admin-bar .pp-progress{top:32px}
@media (max-width:782px){.admin-bar .pp-progress{top:46px}}

/* ---------- Breadcrumbs ---------- */
.pp-breadcrumbs{margin:0 0 14px;font-size:13px;color:var(--pp-muted)}
.pp-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pp-breadcrumbs li{margin:0;display:flex;align-items:center;gap:6px;max-width:100%}
.pp-breadcrumbs li+li:before{content:"›";color:#C9BAA5}
.pp-breadcrumbs a{color:var(--pp-accent);text-decoration:none}
.pp-breadcrumbs a:hover{text-decoration:underline}
.pp-breadcrumbs [aria-current]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46ch}

/* ---------- Single post: title + meta ---------- */
.single-post .entry-title{font-size:clamp(2rem,3.4vw,2.9rem)!important;line-height:1.12!important;letter-spacing:-.015em;margin-bottom:10px}
.single-post .entry-meta{font-size:13px;letter-spacing:.04em}
.single-post .post-thumb img,.single-post .ast-single-post-featured-section img{border-radius:var(--pp-radius)}

/* ---------- Article layout: body + sticky TOC ---------- */
.pp-article{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:44px;align-items:start}
.pp-article--single{grid-template-columns:minmax(0,760px);justify-content:center}
.pp-article-body{min-width:0;max-width:760px}
.single-post article.post{overflow:clip!important;overflow:visible}
@supports (overflow:clip){.single-post article.post{overflow:clip!important}}
.pp-toc{order:2;position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto;font-size:13.5px;scrollbar-width:thin;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;border-radius:0!important;width:auto!important}
.single-post .entry-content .pp-toc a{text-decoration:none!important;color:var(--pp-muted)}
.single-post .entry-content .pp-toc a:hover,.single-post .entry-content .pp-toc a.is-active{color:var(--pp-ink)}
.admin-bar .pp-toc{top:142px}
.pp-toc-details{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:18px 18px 12px}
.pp-toc summary{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;font-size:1.15rem;color:var(--pp-ink);cursor:pointer;list-style:none;margin-bottom:8px}
.pp-toc summary::-webkit-details-marker{display:none}
.pp-toc summary:after{content:"";float:right;margin-top:8px;width:8px;height:8px;border-right:2px solid var(--pp-muted);border-bottom:2px solid var(--pp-muted);transform:rotate(45deg);transition:transform .2s}
.pp-toc details[open] summary:after{transform:rotate(-135deg);margin-top:11px}
.pp-toc ol{list-style:none;margin:0;padding:0;counter-reset:pp}
.pp-toc li{margin:0;counter-increment:pp}
.pp-toc a{display:block;padding:7px 10px 7px 12px;border-left:2px solid var(--pp-line);color:var(--pp-muted);text-decoration:none;line-height:1.35;transition:color .15s,border-color .15s,background .15s;border-radius:0 8px 8px 0}
.pp-toc a:hover{color:var(--pp-ink);background:#F4EEE4}
.pp-toc a.is-active{color:var(--pp-ink);border-left-color:var(--pp-accent);background:#F4EEE4;font-weight:600}

@media (max-width:1024px){
  .pp-article{grid-template-columns:minmax(0,1fr);gap:0}
  .pp-toc{order:0;position:static;max-height:none;margin:0 0 28px}
  .pp-article-body{max-width:none}
}

/* ---------- Article typography ---------- */
.single-post .entry-content{font-size:17.5px;line-height:1.75;color:var(--pp-text)}
.single-post .entry-content p,.single-post .entry-content li{font-size:inherit}
.single-post .entry-content h2{font-size:clamp(1.65rem,2.6vw,2.1rem);line-height:1.2;margin:2.2em 0 .6em;scroll-margin-top:110px;padding-top:.2em}
.single-post .entry-content h3{font-size:1.35rem;line-height:1.3;margin:1.8em 0 .5em;scroll-margin-top:110px}
.single-post .entry-content h2:first-child{margin-top:0}
.single-post .entry-content a:not(.pp-cta):not(.cta-btn):not([style*="ff9900"]){color:var(--pp-accent-dark);text-underline-offset:3px;text-decoration-thickness:1px}
.single-post .entry-content img{border-radius:12px}
.single-post .entry-content blockquote{border-left:3px solid var(--pp-accent);background:var(--pp-card);padding:14px 20px;border-radius:0 12px 12px 0;font-style:normal}
@media (max-width:600px){.single-post .entry-content{font-size:17px;line-height:1.7}}

/* Tables: modern + horizontally scrollable on small screens */
.single-post .entry-content table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.5;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:12px;overflow:hidden;margin:1.5em 0}
.single-post .entry-content th{background:var(--pp-ink)!important;color:#fff!important;font-weight:600;text-align:left;padding:12px 14px!important;border:0!important}
.single-post .entry-content td{padding:11px 14px!important;border:0!important;border-top:1px solid var(--pp-line)!important;vertical-align:top}
.single-post .entry-content tbody tr:nth-child(even) td{background:#FBF7F0}
@media (max-width:760px){
  .single-post .entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .single-post .entry-content td,.single-post .entry-content th{white-space:normal;min-width:140px}
}

/* ---------- Amazon buttons (new + existing inline-styled ones) ---------- */
.pp-cta-row{text-align:center;margin:6px 0 22px}
.pp-cta,
.entry-content a.cta-btn,
.entry-content a[style*="ff9900"],
.entry-content a[style*="FF9900"]{
  display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  background:var(--pp-amz)!important;background-image:linear-gradient(180deg,#FFAB2E,var(--pp-amz))!important;
  color:#1B1205!important;font-family:"DM Sans",sans-serif;font-weight:700!important;font-size:16px!important;line-height:1.2;
  padding:14px 26px!important;border-radius:999px!important;border:0!important;text-decoration:none!important;
  box-shadow:0 6px 18px rgba(255,153,0,.32);transition:transform .15s,box-shadow .15s,filter .15s;min-height:48px;max-width:100%;text-align:center
}
.pp-cta:after,
.entry-content a.cta-btn:after,
.entry-content a[style*="ff9900"]:after,
.entry-content a[style*="FF9900"]:after{content:"→";font-weight:700;transition:transform .15s}
.pp-cta:hover,.entry-content a.cta-btn:hover,.entry-content a[style*="ff9900"]:hover,.entry-content a[style*="FF9900"]:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(255,153,0,.42);filter:saturate(1.08)}
.pp-cta:hover:after,.entry-content a.cta-btn:hover:after,.entry-content a[style*="ff9900"]:hover:after{transform:translateX(3px)}
.pp-cta:focus-visible,.entry-content a.cta-btn:focus-visible{outline:3px solid var(--pp-ink);outline-offset:3px}
.entry-content p:has(> a.cta-btn){text-align:center}
@media (max-width:600px){.pp-cta,.entry-content a.cta-btn,.entry-content a[style*="ff9900"]{width:100%}}

/* ---------- Homepage ---------- */
.home .wp-caption .wp-caption-text{display:none}
.home .wp-caption{margin-bottom:0;max-width:100%}
.home .wp-block-post-template>li{transition:transform .2s,box-shadow .2s}
.home .wp-block-post-template>li:hover{transform:translateY(-3px)}
.home .wp-block-columns .wp-block-group[style*="border-radius: 20px"]{transition:transform .2s,box-shadow .2s}
.home .wp-block-column:hover>.wp-block-group[style*="border-radius: 20px"]{transform:translateY(-3px);box-shadow:0 14px 34px rgba(42,31,20,.12)}
.pp-price-note{color:var(--pp-muted);font-size:.82rem;margin:0}
.home .entry-content a[style*="FF9900"],.home .entry-content a[style*="ff9900"]{font-size:.85rem!important;padding:10px 18px!important;min-height:0;width:auto!important;box-shadow:0 4px 12px rgba(255,153,0,.28)}

@media (max-width:781px){
  /* Shorter hero; the duplicate product card is shown again in "Best pillows" below */
  .home .wp-block-cover.alignfull:first-child,.home .entry-content>.wp-block-cover:first-child{min-height:0!important;padding-top:56px!important;padding-bottom:48px!important}
  .home .entry-content>.wp-block-cover:first-child .wp-block-column:last-child{display:none}
  /* Category tiles: 2 per row */
  .home .wp-block-columns:has(h4){display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}
  .home .wp-block-columns:has(h4)>.wp-block-column{margin:0!important;flex-basis:auto!important}
  .home .wp-block-columns:has(h4) .wp-block-group{padding:18px 16px!important;height:100%}
  .home .wp-block-columns:has(h4) p[style*="2.2rem"]{font-size:1.7rem!important;margin-bottom:6px!important}
  /* Trust bar: 2x2 grid */
  .home .entry-content>.wp-block-group.alignfull.is-layout-flex{display:grid!important;grid-template-columns:1fr 1fr;gap:12px 16px!important;padding:18px 16px!important}
  .home .entry-content>.wp-block-group.alignfull.is-layout-flex>*{margin:0!important;text-align:center;font-size:.85rem!important}
  /* Latest reviews: compact cards */
  .home .wp-block-post-template .wp-block-post-excerpt{display:none}
  .home .wp-block-post-template .wp-block-post-featured-image img{aspect-ratio:16/9;height:auto!important;object-fit:cover}
  .home .wp-block-post-template{gap:18px!important}
}

/* ---------- Newsletter ---------- */
.pp-newsletter{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:560px;margin:0 auto}
.pp-newsletter input[type=email]{flex:1 1 240px;min-width:0;padding:13px 22px;border:1.5px solid #C9BAA5;border-radius:999px;background:var(--pp-card);font:inherit;font-size:.95rem;color:var(--pp-text)}
.pp-newsletter input[type=email]:focus{outline:none;border-color:var(--pp-accent);box-shadow:0 0 0 4px rgba(192,122,58,.15)}
.pp-newsletter button{border:0;border-radius:999px;background:var(--pp-accent);color:#fff;padding:13px 28px;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}
.pp-newsletter button:hover{background:var(--pp-accent-dark)}
.pp-newsletter-note{flex-basis:100%;text-align:center;font-size:.78rem;color:var(--pp-muted);margin:2px 0 0}
.pp-newsletter-note a{color:var(--pp-muted)}
.pp-newsletter-msg{flex-basis:100%;text-align:center;font-weight:600;margin:4px 0 0;padding:10px 14px;border-radius:12px;background:#EAF6EC;color:#24613A}
.pp-newsletter-msg.is-error{background:#FCEBEA;color:#8A2A20}
.pp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- Footer ---------- */
.ast-footer-copyright{line-height:1.7}
.pp-disclosure{display:inline-block;margin-top:4px;font-size:12.5px;opacity:.75}
.pp-disclosure a,.ast-footer-copyright .pp-disclosure a{color:var(--pp-accent-dark)!important;text-decoration:underline}

/* ---------- v1.0.5 design fixes ---------- */
/* Homepage category cards: no mid-word breaks, equal heights, 3 per row on tablet */
.home .wp-block-columns:has(h4)>.wp-block-column>.wp-block-group{height:100%}
.home .wp-block-columns:has(h4) h4{font-size:1.1rem;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:manual}
@media (min-width:782px) and (max-width:1100px){
  .home .wp-block-columns:has(h4){display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px!important}
  .home .wp-block-columns:has(h4)>.wp-block-column{margin:0!important;flex-basis:auto!important}
}

/* Post cards (home, hub, archives): dark titles, no underline, equal card heights */
.wp-block-post-template .wp-block-post-title a{color:var(--pp-ink)!important;text-decoration:none!important}
.wp-block-post-template .wp-block-post-title a:hover{color:var(--pp-accent)!important}
.wp-block-post-template .wp-block-read-more{text-decoration:none!important}
.wp-block-post-template>li>.wp-block-group{height:100%}

/* Quick Picks box inside roundups: match the brand palette instead of green */
.entry-content div[style*="#efffef"]{background:#FBF3E6!important;border:1px solid #E3C79F!important;border-radius:16px!important;padding:20px 24px!important}

/* Breadcrumb: let long titles wrap instead of cutting off */
.pp-breadcrumbs [aria-current]{white-space:normal;overflow:visible;text-overflow:clip;max-width:none}

/* ---------- v1.0.6: centered full-width Home + Best Pillows, smaller Amazon buttons ---------- */
body.home .entry-header,body.page-id-39 .entry-header,body.home .ast-single-post-order .entry-header{display:none!important}
body.home.ast-plain-container .site-content>.ast-container,body.page-id-39.ast-plain-container .site-content>.ast-container{max-width:none!important;padding:0!important;display:block}
body.home #primary,body.page-id-39 #primary{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.home article,body.page-id-39 article{margin:0!important;padding:0!important}
body.home .entry-content,body.page-id-39 .entry-content{overflow-x:clip}
body.home .entry-content>*,body.page-id-39 .entry-content>*{max-width:none}
body.home .entry-content .wp-block-group.alignfull>*,body.page-id-39 .entry-content .wp-block-group.alignfull>*{margin-left:auto;margin-right:auto}
body.home .wp-block-query-pagination,body.page-id-39 .wp-block-query-pagination{justify-content:center;gap:8px;margin-top:40px}
/* Smaller Amazon buttons everywhere */
.pp-cta,
.entry-content a.cta-btn,
.entry-content a[style*="ff9900"],
.entry-content a[style*="FF9900"]{font-size:14px!important;padding:9px 18px!important;min-height:0!important;gap:6px;box-shadow:0 3px 10px rgba(255,153,0,.25)}
@media (max-width:600px){.pp-cta,.entry-content a.cta-btn,.entry-content a[style*="ff9900"],.entry-content a[style*="FF9900"]{width:auto!important}}

/* Header menu: keep it on one row on small laptops / tablets */
@media (min-width:922px) and (max-width:1200px){
  .main-header-menu>.menu-item>.menu-link{font-size:.85rem;padding-left:.7em;padding-right:.7em}
}
