/*
Theme Name: PinoyTips Child
Theme URI: https://pinoytips.com
Description: Child theme of PinoyTips. Reading-first single-post layout (layout v2): serif reading column, rectangular images, no left accent borders, new sidebar with sticky table of contents, uncropped 16:9 card thumbnails and prefix-free archive headings. Homepage, archives and pages otherwise keep the parent design.
Author: PinoyTips
Template: pinoytips-wordpress-theme
Version: 1.2.5
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: pinoytips-child
*/

/* =====================================================================
   Contents
     0. Fonts (self-hosted Source Serif 4 + Inter, SIL Open Font License)
     1. Site-wide: homepage excerpt (moved from Additional CSS), wordmark
     2. Content components (key box, tables, notes) – no left borders
     3. Single-post layout (body.single-post only)
     4. Easy Table of Contents restyle
     5. Sidebar, subscribe cards, ad slot, progress fallback
     6. Tablet / mobile
     7. Reading-progress bar (CSS scroll timeline)
     8. Uncropped 16:9 card thumbnails (homepage, archives, sidebar, related)
   ===================================================================== */

/* ---------- 0. Fonts ---------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-ext-395290.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-ext-395290.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-ext-395290.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-ext-395290.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/Inter-latin-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-ext-b254bd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-760608.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-ext-ea2a53.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-3084ac.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-ext-ea2a53.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-3084ac.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-ext-ea2a53.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/SourceSerif4-latin-3084ac.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 1. Site-wide ---------- */
/* Moved from the parent's Additional CSS (Additional CSS is stored per theme). */
.pt-quick-excerpt{font-size:14px;line-height:1.5;color:#555;margin:6px 0 8px;}

/* Wordmark: the theme prints "pinoy<span>tips</span>" lower-cased; show "PinoyTips". */
.pt-brand{text-transform:none;}
.pt-brand-name::first-letter{text-transform:uppercase;}
.pt-brand-name span{display:inline-block;}
.pt-brand-name span::first-letter{text-transform:uppercase;}

/* ---------- 2. Content components (all posts and pages) ---------- */
:root{
  --ptv2-blue:#1d3f8f; --ptv2-blue-soft:#f4f6fb; --ptv2-ink:#1a1a1a; --ptv2-text:#2e2e2e;
  --ptv2-muted:#6b6b6b; --ptv2-rule:#e8e8e8;
  --ptv2-serif:"Source Serif 4","Source Serif Pro",Georgia,Cambria,"Times New Roman",serif;
  --ptv2-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* Key box ("The short version", "Quick picks") – soft shaded, no left border */
.pt-entry-content .pt-key-box{background:var(--ptv2-blue-soft);border:0;border-radius:10px;padding:22px 26px 10px;margin:1.4em 0 2em;}
.pt-entry-content .pt-key-box-title{margin:0 0 12px;font:600 12.5px/1.4 var(--ptv2-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ptv2-blue);}
.pt-entry-content .pt-key-box ul{list-style:none;margin:0;padding:0;}
.pt-entry-content .pt-key-box li{margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid rgba(29,63,143,.1);line-height:1.6;}
.pt-entry-content .pt-key-box li:last-child{border-bottom:0;margin-bottom:0;}
.pt-entry-content .pt-key-box p{margin:0 0 12px;}
.pt-entry-content .pt-key-box li > strong:first-child{display:block;font:600 15.5px/1.45 var(--ptv2-sans);color:var(--ptv2-ink);margin-bottom:2px;}

/* Tables – editorial: rule on top, hairline rows, no vertical borders */
.pt-entry-content table{width:100%;max-width:100%;border-collapse:collapse;margin:1.4em 0 2em;font:15px/1.5 var(--ptv2-sans);background:transparent;border:0;border-top:1px solid var(--ptv2-ink);
  display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.pt-entry-content table th,.pt-entry-content table td{border:0;border-bottom:1px solid var(--ptv2-rule);padding:13px 14px 13px 0;text-align:left;vertical-align:top;background:transparent;color:var(--ptv2-text);}
.pt-entry-content table thead th,.pt-entry-content table th{font-weight:600;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ptv2-muted);padding:12px 14px 10px 0;vertical-align:bottom;background:transparent;}
.pt-entry-content table tbody tr:nth-child(even) td{background:transparent;}
.pt-entry-content table td:first-child{font-weight:600;color:var(--ptv2-ink);}
.pt-entry-content table tr:last-child td{border-bottom-color:#d6d6d6;}
.pt-entry-content .pt-table-wrap{overflow-x:auto;margin:1.4em 0 2em;}
.pt-entry-content .pt-table-wrap table{margin:0;}
/* Desktop: let tables fill the column (the theme sets display:block). */
@media (min-width:701px){
  .pt-entry-content table{display:table;overflow:visible;}
}

/* Notes / callouts / quotes – shaded boxes, no left borders */
.pt-entry-content .pt-note,.pt-entry-content .pt-guide-callout,.pt-entry-content .pt-quick-take{background:#f7f7f5;border:0;border-radius:8px;padding:16px 22px;margin:1.6em 0 1.8em;}
.pt-entry-content .pt-note > :last-child,.pt-entry-content .pt-guide-callout > :last-child{margin-bottom:0;}
.pt-entry-content .pt-disclosure,.pt-affiliate-notice{border-left:0;border-radius:8px;background:#f7f7f5;}
.pt-entry-content blockquote,.pt-entry-content .wp-block-quote{border:0;border-radius:8px;background:#f7f7f5;margin:1.8em 0;padding:18px 24px;font-size:1.05em;font-style:italic;color:#3a3a3a;}
.pt-entry-content blockquote > :last-child{margin-bottom:0;}

/* ---------- 3. Single-post layout ---------- */
body.single-post{background:#fff;}
body.single-post .pt-site-header{background:rgba(255,255,255,.96);border-bottom-color:var(--ptv2-rule);}
body.single-post .pt-cat-bar{border-top-color:var(--ptv2-rule);}

/* Article header */
body.single-post .pt-article-header{padding:0;}
body.single-post .pt-article-header-inner{width:auto;max-width:680px;margin:0;}
body.single-post .pt-article-header .pt-kicker{display:inline-block;font:600 13px/1.3 var(--ptv2-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ptv2-blue);margin-bottom:14px;text-decoration:none;}
body.single-post .pt-article-header h1{font-family:var(--ptv2-serif);font-weight:700;font-size:46px;line-height:1.12;letter-spacing:-.015em;color:var(--ptv2-ink);margin:0 0 14px;}
body.single-post .pt-article-subtitle{font-family:var(--ptv2-serif);font-size:21px;line-height:1.5;color:var(--ptv2-muted);margin:0 0 26px;}

/* Author row (child markup: avatar + PinoyTips + read time, no date) */
body.single-post .pt-meta.ptc-byline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;margin:0 0 30px;
  border-top:1px solid var(--ptv2-rule);border-bottom:1px solid var(--ptv2-rule);font:13.5px/1.3 var(--ptv2-sans);color:var(--ptv2-muted);}
.ptc-byline-left{display:flex;align-items:center;gap:12px;min-width:0;}
.ptc-byline-text{display:flex;flex-direction:column;line-height:1.3;}
.ptc-byline-name{font:600 15px/1.3 var(--ptv2-sans);color:var(--ptv2-ink) !important;text-decoration:none;}
.ptc-byline-name:hover{color:var(--ptv2-blue) !important;}
.ptc-byline-meta{font-size:13.5px;color:var(--ptv2-muted);}
.ptc-avatar{width:40px;height:40px;border-radius:50%;background:var(--ptv2-blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  font:700 15px/1 var(--ptv2-serif);letter-spacing:.02em;flex:none;}
.ptc-avatar--sm{width:30px;height:30px;font-size:12px;}
.ptc-share{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--ptv2-rule);border-radius:999px;padding:7px 12px;
  color:var(--ptv2-muted);font:500 13px var(--ptv2-sans);cursor:pointer;}
.ptc-share[hidden]{display:none;}
.ptc-share:hover{color:var(--ptv2-ink);border-color:#cfcfcf;}

/* Featured image: full column width, 3:2, square corners */
body.single-post .pt-article-hero{width:auto;margin:0 0 36px;}
body.single-post .pt-article-hero img{width:100%;height:auto;max-height:none;aspect-ratio:3 / 2;object-fit:cover;border-radius:0;}

/* Reading column typography */
body.single-post .pt-entry-content{font-family:var(--ptv2-serif);font-size:20px;line-height:1.7;color:var(--ptv2-text);}
body.single-post .pt-entry-content p{margin:0 0 1.35em;}
body.single-post .pt-entry-content a{color:var(--ptv2-ink);text-decoration:underline;text-decoration-color:rgba(29,63,143,.45);text-underline-offset:3px;text-decoration-thickness:1px;}
body.single-post .pt-entry-content a:hover{color:var(--ptv2-blue);text-decoration-color:var(--ptv2-blue);}
body.single-post .pt-entry-content strong{color:var(--ptv2-ink);font-weight:600;}
body.single-post .pt-entry-content h2{font-family:var(--ptv2-serif);font-weight:600;font-size:28px;line-height:1.3;letter-spacing:-.01em;color:var(--ptv2-ink);margin:2.1em 0 .7em;scroll-margin-top:130px;}
body.single-post .pt-entry-content h3{font-family:var(--ptv2-sans);font-weight:600;font-size:19px;line-height:1.4;color:var(--ptv2-ink);margin:1.8em 0 .55em;scroll-margin-top:130px;}
body.single-post .pt-entry-content h4{font-family:var(--ptv2-sans);font-weight:600;font-size:17px;margin:1.6em 0 .5em;}
body.single-post .pt-entry-content ul,body.single-post .pt-entry-content ol{margin:0 0 1.4em;padding-left:1.3em;}
body.single-post .pt-entry-content li{margin:0 0 .55em;padding-left:.2em;}
body.single-post .pt-entry-content li::marker{color:#9a9a9a;}
body.single-post .pt-entry-content .pt-key-box li{font-size:18px;padding-left:0;}
body.single-post .pt-entry-content table{font-size:15px;}
body.single-post .pt-entry-content img,body.single-post .pt-entry-content figure img{border-radius:0;}
body.single-post .pt-entry-content figcaption{font:13px/1.5 var(--ptv2-sans);color:var(--ptv2-muted);margin-top:8px;}

/* Author box + tags */
body.single-post .pt-author-box{border-top:1px solid var(--ptv2-rule);margin-top:40px;padding-top:24px;font-family:var(--ptv2-sans);}
body.single-post .pt-author-box h2{font:600 17px/1.4 var(--ptv2-sans);color:var(--ptv2-ink);}
body.single-post .pt-author-box h2 a{color:var(--ptv2-ink);}
body.single-post .pt-author-box p{font-size:15px;line-height:1.65;color:#4a4a4a;}
body.single-post .pt-entry-footer{border-top:1px solid var(--ptv2-rule);font:13.5px var(--ptv2-sans);color:var(--ptv2-muted);}
body.single-post .pt-tags a{border:0;border-radius:999px;background:#f3f3f3;color:var(--ptv2-muted);font-size:13px;padding:5px 11px;}
body.single-post .pt-tags a:hover{background:#e9edf6;color:var(--ptv2-blue);}

/* Related guides */
body.single-post .pt-related{border-top:1px solid var(--ptv2-rule);border-bottom:0;}
body.single-post .pt-related .pt-container{width:min(calc(100% - 48px),1100px);}
body.single-post .pt-related .pt-grid-card h2{font-family:var(--ptv2-serif);font-weight:600;}
body.single-post .pt-related .pt-card-image,body.single-post .pt-related img{border-radius:0;}

/* Desktop grid: [header / hero / content] | [sidebar], like the mockup */
@media (min-width:981px){
  body.single-post #primary > article.hentry{display:grid;grid-template-columns:minmax(0,680px) 300px;justify-content:space-between;column-gap:64px;
    max-width:1100px;margin:0 auto;padding:48px 24px 0;box-sizing:border-box;}
  body.single-post #primary > article.hentry > .pt-article-header{grid-column:1;grid-row:1;}
  body.single-post #primary > article.hentry > .pt-article-hero{grid-column:1;grid-row:2;}
  body.single-post #primary > article.hentry > .pt-content-wrap,
  body.single-post #primary > article.hentry .pt-layout{display:contents !important;}
  body.single-post #primary > article.hentry .pt-main-col{grid-column:1;grid-row:3;min-width:0;max-width:680px;overflow:visible;padding-bottom:48px;}
  body.single-post #primary > article.hentry .pt-sidebar{grid-column:2;grid-row:1 / span 3;align-self:stretch;position:relative;top:auto;width:300px;max-width:300px;flex:none;}
  /* TOC + subscribe follow you down the page (below the sticky header + category bar) */
  body.single-post .ptc-sticky{position:sticky;top:124px;}
  body.admin-bar.single-post .ptc-sticky{top:156px;}
  /* The sidebar TOC replaces the in-content Easy TOC on desktop (JS adds the class only when it built one) */
  body.single-post.ptc-has-side-toc .pt-entry-content #ez-toc-container{display:none !important;}
}
@media (min-width:981px) and (max-width:1100px){
  body.single-post #primary > article.hentry{column-gap:44px;grid-template-columns:minmax(0,1fr) 280px;}
  body.single-post #primary > article.hentry .pt-sidebar{width:280px;max-width:280px;}
}

/* ---------- 4. Easy Table of Contents ---------- */
body.single-post div#ez-toc-container{display:block;width:100%;box-sizing:border-box;margin:0 0 2em;padding:14px 18px 10px;
  background:#fff !important;border:1px solid var(--ptv2-rule) !important;border-radius:10px;box-shadow:none;font-family:var(--ptv2-sans);}
body.single-post div#ez-toc-container .ez-toc-title-container{display:flex;align-items:center;justify-content:space-between;}
body.single-post div#ez-toc-container p.ez-toc-title{margin:0;font:600 12px/1.4 var(--ptv2-sans) !important;letter-spacing:.09em;text-transform:uppercase;color:var(--ptv2-muted) !important;}
body.single-post div#ez-toc-container .ez-toc-title-toggle svg{fill:var(--ptv2-muted) !important;color:var(--ptv2-muted) !important;}
body.single-post div#ez-toc-container .ez-toc-btn{background:transparent;border:0;box-shadow:none;}
body.single-post div#ez-toc-container nav{margin-top:8px;}
body.single-post div#ez-toc-container ul.ez-toc-list{margin:0;padding:0;}
body.single-post div#ez-toc-container ul li{margin:0;padding:0;font-size:15px !important;line-height:1.45;}
body.single-post div#ez-toc-container ul.ez-toc-list a,
body.single-post div#ez-toc-container ul.ez-toc-list a:visited{display:block;padding:5px 0;color:var(--ptv2-muted) !important;font-weight:400 !important;font-size:15px !important;text-decoration:none !important;font-family:var(--ptv2-sans);}
body.single-post div#ez-toc-container ul.ez-toc-list a:hover{color:var(--ptv2-ink) !important;}
body.single-post div#ez-toc-container ul.ez-toc-list a.ptv2-active,body.single-post div#ez-toc-container ul.ez-toc-list a.ptc-active{color:var(--ptv2-blue) !important;font-weight:600 !important;}
body.single-post .ez-toc-counter nav ul li a::before{color:#a0a0a0 !important;}

/* ---------- 5. Sidebar ---------- */
body.single-post .pt-sidebar{font-family:var(--ptv2-sans);font-size:14.5px;color:var(--ptv2-text);}
body.single-post .pt-sidebar-block{border:0;border-bottom:1px solid var(--ptv2-rule);border-radius:0;background:transparent;padding:0 0 26px;margin:0 0 26px;}
body.single-post .pt-sidebar-block:last-child{border-bottom:0;}
body.single-post .pt-sidebar-title{font:600 12px/1.4 var(--ptv2-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ptv2-muted);margin:0 0 14px;}
body.single-post .pt-sidebar-cats li,body.single-post .pt-sidebar-recent li{border:0;}
body.single-post .pt-sidebar-cats a{display:flex;justify-content:space-between;gap:10px;padding:7px 0;color:#3a3a3a;font-size:14.5px;font-weight:400;text-decoration:none;}
body.single-post .pt-sidebar-cats a:hover,body.single-post .pt-sidebar-cats a.is-current{color:var(--ptv2-blue);}
body.single-post .pt-sidebar-cats a.is-current{font-weight:600;}
body.single-post .pt-sidebar-count{color:#a0a0a0;font-size:13px;font-weight:400;}
body.single-post .pt-sidebar-recent li + li{margin-top:12px;}
body.single-post .pt-sidebar-recent a{display:block;padding:0;font:600 15.5px/1.35 var(--ptv2-serif);color:var(--ptv2-ink);text-decoration:none;}
body.single-post .pt-sidebar-recent a:hover{text-decoration:underline;color:var(--ptv2-ink);}
body.single-post .pt-sidebar img{border-radius:0 !important;}
body.single-post .pt-sidebar-block:last-child,body.single-post .ptc-sticky .pt-sidebar-block:last-child{border-bottom:0;}
.ptc-about-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--ptv2-ink);font-size:15px;}
.ptc-about p{margin:0 0 10px;line-height:1.6;color:#4a4a4a;font-size:14.5px;}
.ptc-link{font-weight:600;color:var(--ptv2-blue);text-decoration:none;font-size:14px;}
.ptc-popular{list-style:none;margin:0;padding:0;}
.ptc-popular li + li{margin-top:14px;}
.ptc-popular a{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:var(--ptv2-ink);}
.ptc-popular img,.ptc-thumb-fallback{width:84px;height:56px;object-fit:cover;border-radius:0;flex:none;display:block;background:#eef0f3;}
.ptc-popular span{font:600 15.5px/1.35 var(--ptv2-serif);}
.ptc-popular small{display:block;font:500 11.5px/1.3 var(--ptv2-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ptv2-blue);margin-bottom:3px;}
.ptc-popular a:hover span{text-decoration:underline;}
.ptc-ad{text-align:center;}
.ptc-ad-label{display:block;font:500 10.5px/1.4 var(--ptv2-sans);letter-spacing:.12em;text-transform:uppercase;color:#a0a0a0;margin-bottom:6px;}
.ptc-ad-slot{width:300px;max-width:100%;height:250px;margin:0 auto;padding:20px;box-sizing:border-box;background:repeating-linear-gradient(45deg,#fafafa 0 10px,#f4f4f4 10px 20px);
  border:1px solid #ececec;display:flex;align-items:center;justify-content:center;color:#a8a8a8;font-size:13px;line-height:1.5;}
.ptc-ad-widget{max-width:100%;overflow:hidden;}
.ptc-toc{padding-bottom:18px !important;margin-bottom:18px !important;}
.ptc-toc[hidden]{display:none;}
.ptc-toc-list{list-style:none;margin:0;padding:0;max-height:calc(100vh - 360px);overflow-y:auto;scrollbar-width:thin;}
.ptc-toc-list a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:5px 0;text-decoration:none;color:var(--ptv2-muted);font-size:13.5px;line-height:1.4;}
.ptc-toc-list a:hover{color:var(--ptv2-ink);}
.ptc-toc-list a.ptc-active{color:var(--ptv2-blue);font-weight:600;}

/* Subscribe cards (end of article + sidebar) */
.ptc-sub-card{margin:40px 0 8px;padding:30px 28px;border:1px solid var(--ptv2-rule);border-radius:14px;text-align:center;font-family:var(--ptv2-sans);background:#fafafa;}
.ptc-sub-avatar{width:52px;height:52px;margin:0 auto 12px;border-radius:12px;background:var(--ptv2-blue);color:#fff;display:flex;align-items:center;justify-content:center;font:700 18px var(--ptv2-serif);}
.ptc-sub-card .ptc-sub-title{font:700 24px/1.3 var(--ptv2-serif);margin:0 0 6px;color:var(--ptv2-ink);}
.ptc-sub-text{font-size:15.5px;line-height:1.55;color:var(--ptv2-muted);max-width:460px;margin:0 auto 18px;}
.ptc-sub-form{display:flex;max-width:440px;margin:0 auto;border:1px solid #d8d8d8;border-radius:10px;overflow:hidden;background:#fff;}
.ptc-sub-form input{flex:1;min-width:0;border:0;padding:13px 14px;font:15px var(--ptv2-sans);outline:none;background:transparent;}
.ptc-sub-form button{border:0;background:var(--ptv2-blue);color:#fff;font:600 15px var(--ptv2-sans);padding:0 20px;cursor:pointer;}
.ptc-sub-form button:hover{background:#163170;}
.ptc-sub-form--stack{flex-direction:column;border:0;border-radius:0;gap:8px;overflow:visible;max-width:none;background:transparent;}
.ptc-sub-form--stack input{border:1px solid #d8d8d8;border-radius:8px;padding:10px 12px;font-size:14px;background:#fff;}
.ptc-sub-form--stack button{border-radius:8px;padding:10px;font-size:14px;}
.ptc-sub-note{margin:10px 0 0;font-size:13.5px;color:var(--ptv2-muted);}
.ptc-sub-note[hidden]{display:none;}

/* JS progress-bar fallback (browsers without CSS scroll timelines) */
.ptc-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1001;pointer-events:none;}
.ptc-progress span{display:block;height:100%;background:var(--ptv2-blue);transform-origin:0 50%;transform:scaleX(0);}
.admin-bar .ptc-progress{top:32px;}

/* ---------- 6. Tablet / mobile ---------- */
@media (max-width:980px){
  body.single-post #primary > article.hentry{display:block;max-width:none;padding:0;}
  body.single-post .pt-article-header{padding:28px 0 0;}
  body.single-post .pt-article-header-inner,
  body.single-post .pt-article-hero,
  body.single-post .pt-content-wrap,
  body.single-post .pt-content-wrap--with-sidebar{width:calc(100% - 40px) !important;max-width:680px;margin-left:auto;margin-right:auto;}
  body.single-post .pt-article-hero{margin-bottom:22px;}
  body.single-post .pt-article-header h1{font-size:34px;}
  body.single-post .pt-article-subtitle{font-size:19px;}
  body.single-post .pt-entry-content{font-size:19px;}
  body.single-post .pt-entry-content h2{font-size:25px;}
  body.single-post .pt-layout{display:block !important;}
  body.single-post .pt-main-col{overflow:visible;}
  body.single-post .pt-sidebar{position:static;width:100%;max-width:none;margin-top:48px;padding-top:32px;border-top:1px solid var(--ptv2-rule);}
  body.single-post .ptc-sticky{position:static;}
  body.single-post .ptc-toc,body.single-post .ptc-sub{display:none !important;}
  body.single-post .ptc-sub-card{padding:26px 20px;}
  body.single-post .pt-related .pt-container{width:calc(100% - 40px);}
  body.single-post .pt-entry-content .pt-key-box{padding:18px 18px 6px;}
}
@media (max-width:700px){
  /* Wide tables (4+ columns) scroll sideways inside themselves; the page never does. */
  .pt-entry-content table:has(tr > :nth-child(4)) th,
  .pt-entry-content table:has(tr > :nth-child(4)) td{min-width:9em;}
  .pt-entry-content table:has(tr > :nth-child(4)) td:first-child{min-width:7em;}
  .pt-entry-content table{font-size:14.5px;}
}
@media (max-width:480px){
  body.single-post .pt-article-header h1{font-size:31px;}
  .ptc-sub-form{flex-direction:column;border:0;gap:8px;overflow:visible;background:transparent;}
  .ptc-sub-form input{border:1px solid #d8d8d8;border-radius:10px;background:#fff;}
  .ptc-sub-form button{border-radius:10px;padding:13px;}
}
body.single-post{overflow-x:hidden;}
body.single-post .pt-site-wrap{overflow-x:clip;}

/* ---------- 7. Reading progress (CSS scroll timeline; no JS needed) ---------- */
@supports (animation-timeline: scroll()){
  body.single-post::after{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:1001;pointer-events:none;background:var(--ptv2-blue);
    transform-origin:0 50%;transform:scaleX(0);animation:ptv2-progress linear both;animation-timeline:scroll(root block);}
  body.admin-bar.single-post::after{top:32px;}
  @keyframes ptv2-progress{to{transform:scaleX(1);}}
}
@media (prefers-reduced-motion:reduce){body.single-post::after{display:none;}}

/* ---------- 8. Uncropped 16:9 card thumbnails (1.2.1) ----------
   Featured images are 1200x675 (16:9) designed thumbnails. Every box that
   shows one now has the same 16:9 ratio, and functions.php swaps the parent's
   hard-cropped sizes for proportional ones, so nothing is cut off. contain
   (not cover) guarantees no crop even if an odd-sized image turns up; at the
   matching ratio it fills the box exactly. Square corners, no side borders.
   The in-post hero (.pt-article-hero) is not touched. */
:root{--ptc-thumb-bg:#ede6dc;}

/* Grid cards: homepage Latest, spotlight row, category/tag/search archives,
   Related Guides under posts */
.pt-card-image{aspect-ratio:16 / 9;background:var(--ptc-thumb-bg);border-radius:0;border:0;}
.pt-card-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;}

/* Homepage lead story: image box is 16:9; the category badge sits under the
   image instead of on a gradient over its bottom edge */
.pt-hero-media{aspect-ratio:auto;overflow:visible;background:transparent;}
.pt-hero-media > a{display:block;aspect-ratio:16 / 9;overflow:hidden;background:var(--ptc-thumb-bg);}
.pt-hero-media > a img,.pt-hero-media > a .pt-destination-fallback{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0;}
.pt-hero-media .pt-hero-gradient{position:static;inset:auto;padding:14px 0 0;background:none;}
.pt-hero-media .pt-hero-gradient .pt-badge{background:var(--pt-blue-light,#e8f1fc);}

/* Homepage "Where to go next" band: the image keeps 16:9, centred on a cream
   panel, instead of being stretched to the text column's height */
.pt-feature-band-images{display:flex;align-items:center;min-height:0;height:auto;background:var(--ptc-thumb-bg);}
.pt-teaser-image{width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;}
.pt-teaser-image img,.pt-teaser-image .pt-cat-visual,.pt-teaser-image .pt-cat-visual img{width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;}

/* Single-post sidebar "Popular guides" thumbs */
.ptc-popular img,.ptc-thumb-fallback{width:96px;height:auto;aspect-ratio:16 / 9;object-fit:contain;background:var(--ptc-thumb-bg);border-radius:0;}

/* ---------- 9. Newsletter (MailPoet / form plugin inside the subscribe cards) ---------- */
.ptc-sub-plugin{max-width:440px;margin:0 auto;text-align:left;font-family:var(--ptv2-sans);}
.ptc-sub-plugin--stack{max-width:none;}
.ptc-sub-plugin form{margin:0 !important;padding:0 !important;}
.ptc-sub-plugin input[type=email],.ptc-sub-plugin input[type=text]{width:100% !important;box-sizing:border-box;border:1px solid #d8d8d8 !important;border-radius:8px !important;padding:11px 12px !important;font:15px var(--ptv2-sans) !important;background:#fff !important;}
.ptc-sub-plugin input[type=submit],.ptc-sub-plugin button[type=submit]{width:100% !important;border:0 !important;border-radius:8px !important;background:var(--ptv2-blue) !important;color:#fff !important;font:600 15px var(--ptv2-sans) !important;padding:11px !important;cursor:pointer;}
.ptc-sub-plugin input[type=submit]:hover,.ptc-sub-plugin button[type=submit]:hover{background:#163170 !important;}
.ptc-sub-plugin .mailpoet_paragraph{margin-bottom:8px !important;}
.ptc-sub-plugin .mailpoet_message p{font-size:14px;margin:8px 0 0;}
.ptc-sub-privacy{margin:10px auto 0;max-width:440px;font:13px/1.5 var(--ptv2-sans);color:var(--ptv2-muted);}
.ptc-sub-privacy a{color:inherit;text-decoration:underline;}
.pt-sidebar-block .ptc-sub-privacy{font-size:12.5px;}
.ptc-sub-admin{margin:28px 0 0;padding:10px 12px;border:1px dashed #c9c9c9;border-radius:8px;font:13px/1.5 var(--ptv2-sans);color:var(--ptv2-muted);}
