/*
Theme Name: ParaguayTransport
Theme URI: https://paraguaytransport.com
Author: ParaguayTransport
Description: Minimal blog theme matching the ParaguayTransport brand — fixed-price private driver and airport transfers in Asunción, Paraguay.
Version: 1.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: paraguaytransport
*/

:root{
  --paper:#F1F4EF; --cloud:#FFFFFF; --ink:#0C1E1B; --jungle:#0C2B27;
  --clay:#C04E2A; --clay-bright:#E2723E; --teal:#15807A; --teal-soft:#3FA89F;
  --gold:#E3A93C; --muted:#5C6E69; --line:rgba(12,30,27,.12); --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:17px/1.7 "DM Sans",system-ui,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--teal)}
a:hover{color:var(--clay)}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",sans-serif;line-height:1.15;font-weight:800}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}

/* header */
.site-head{background:var(--cloud);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.site-head .wrap{display:flex;align-items:center;gap:14px;min-height:74px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:44px;height:44px}
.brand b{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:22px}
.brand b span{color:var(--clay)}
.brand .tag{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:3px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:3px 10px;margin-left:4px}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.site-nav a{text-decoration:none;color:var(--ink);font-weight:500}
.site-nav ul{display:flex;gap:20px;list-style:none}
.btn-wa{background:var(--clay);color:#fff !important;padding:10px 20px;border-radius:26px;font-weight:700;text-decoration:none;white-space:nowrap}
.btn-wa:hover{background:var(--clay-bright);color:#fff}

/* post list */
.blog-hero{padding:54px 0 8px}
.blog-hero .eyebrow{font-family:"Space Mono",monospace;letter-spacing:4px;font-size:13px;color:var(--teal);text-transform:uppercase}
.blog-hero h1{font-size:clamp(34px,5vw,54px);margin:10px 0 6px}
.blog-hero p{color:var(--muted);max-width:640px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:34px 0 60px}
.card{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card .thumb{aspect-ratio:16/9;background:var(--jungle);display:block}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .meta{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}
.card h2{font-size:22px}
.card h2 a{color:var(--ink);text-decoration:none}
.card h2 a:hover{color:var(--clay)}
.card .excerpt{color:var(--muted);font-size:15.5px}
.card .more{margin-top:auto;font-weight:700;color:var(--clay);text-decoration:none}

/* single post / page */
.article{background:var(--cloud);border:1px solid var(--line);border-radius:var(--r);max-width:820px;margin:44px auto 60px;padding:clamp(26px,5vw,56px)}
.article .meta{font-family:"Space Mono",monospace;font-size:13px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}
.article h1.title{font-size:clamp(30px,4.6vw,46px);margin:10px 0 22px}
.content h2{font-size:clamp(24px,3.4vw,30px);margin:34px 0 12px}
.content h3{font-size:clamp(19px,2.6vw,23px);margin:28px 0 10px}
.content p,.content ul,.content ol{margin:0 0 18px}
.content ul,.content ol{padding-left:24px}
.content img{border-radius:12px}
.content figure{margin:0 0 18px}
.content blockquote{border-left:4px solid var(--teal-soft);padding:6px 0 6px 18px;color:var(--muted);margin:0 0 18px;font-style:italic}
.article .featured{border-radius:12px;margin:0 0 26px;width:100%}
.post-cta{margin-top:40px;background:var(--jungle);color:#F1F4EF;border-radius:var(--r);padding:28px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.post-cta h3{font-size:22px;color:#F1F4EF}
.post-cta p{color:rgba(233,240,234,.7);font-size:15px}
.nav-links{display:flex;justify-content:space-between;max-width:820px;margin:0 auto 60px;gap:14px;padding:0 22px}
.nav-links a{text-decoration:none;font-weight:700}

/* footer */
.site-foot{background:var(--jungle);color:#F1F4EF;margin-top:20px}
.site-foot .wrap{padding:52px 22px 30px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:32px}
.site-foot h4{font-size:17px;margin-bottom:12px;color:var(--gold)}
.site-foot a{color:#F1F4EF;text-decoration:none}
.site-foot a:hover{color:var(--clay-bright)}
.site-foot li{list-style:none;margin-bottom:9px;color:rgba(233,240,234,.85)}
.site-foot .blurb{color:rgba(233,240,234,.65);font-size:15px;max-width:300px;margin-top:10px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:rgba(233,240,234,.55)}
.screen-reader-text{position:absolute;left:-9999px}


/* ===================== Gutenberg / page-builder block support ===================== */
.page-canvas{padding:0 0 40px}
.page-canvas .content > *{max-width:1060px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}
.page-canvas .content > .alignwide{max-width:1240px}
.page-canvas .content > .alignfull{max-width:none;padding-left:0;padding-right:0}
.content .wp-block-cover,.content .wp-block-cover-image{border-radius:var(--r);overflow:hidden;min-height:340px}
.content .alignfull.wp-block-cover{border-radius:0}
.content .wp-block-columns{display:flex;gap:26px;flex-wrap:wrap}
.content .wp-block-column{flex:1;min-width:230px}
.content .wp-block-image img,.content .wp-block-gallery img{border-radius:12px;width:100%;object-fit:cover}
.content .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.content .wp-block-button__link,.content a.wp-element-button{background:var(--clay);color:#fff;border-radius:26px;padding:12px 26px;text-decoration:none;font-weight:700;display:inline-block}
.content .wp-block-button__link:hover,.content a.wp-element-button:hover{background:var(--clay-bright);color:#fff}
.content .wp-block-separator{border:none;border-top:1px solid var(--line);margin:34px auto}
.content .wp-block-quote{border-left:4px solid var(--teal-soft);padding-left:18px}
.content .wp-block-table table{width:100%;border-collapse:collapse}
.content .wp-block-table td,.content .wp-block-table th{border:1px solid var(--line);padding:10px 12px}
.content .wp-block-latest-posts,.content ul.wp-block-post-template{list-style:none;padding-left:0}
.content iframe,.content video{max-width:100%}
.content .has-huge-font-size,.content .has-x-large-font-size{line-height:1.2}

/* ===================== Responsive / mobile ===================== */
@media (max-width:860px){
  body{font-size:16px}
  .site-head{position:static}
  .site-head .wrap{padding-top:12px;padding-bottom:12px;justify-content:space-between}
  .brand .tag{display:none}
  .site-nav{margin-left:0;width:100%;gap:14px;justify-content:space-between;padding-bottom:2px}
  .site-nav ul{gap:14px}
  .btn-wa{padding:9px 16px;font-size:14.5px}
  .blog-hero{padding:34px 0 4px}
  .post-grid{grid-template-columns:1fr;gap:18px;padding:24px 0 44px}
  .article{margin:20px auto 36px;border-radius:14px}
  .post-cta{flex-direction:column;align-items:flex-start}
  .post-cta .btn-wa{align-self:stretch;text-align:center}
  .nav-links{flex-direction:column;gap:8px;margin-bottom:40px}
  .content .wp-block-columns{gap:16px}
  .content .wp-block-cover{min-height:240px}
  .foot-grid{gap:24px}
  .foot-bottom{flex-direction:column;gap:6px}
}
@media (max-width:400px){
  .brand b{font-size:19px}
  .site-nav{font-size:15px}
}


/* ===================== v1.2 hard overflow protection ===================== */
html,body{overflow-x:clip}
.content *{min-width:0}
.content figure,.content .wp-block-cover,.content iframe{max-width:100%}
.content .wp-block-cover img{object-fit:cover}
/* builder content inside the narrow article card must never spill out */
.article .content .alignfull,.article .content .alignwide{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;width:auto !important}
.article .content img{max-width:100%;height:auto}
