/* =========================================================
   Single blog post (single.php) — 60/40 article + sticky
   related-posts sidebar, share row, prev/next navigation.
   Reuses design tokens from style.css and .tap-breadcrumb/
   .tap-btn* from elementor-sections.css — no new colors,
   radii, shadows, or fonts here.
   ========================================================= */

.tap-post-main-wrap{padding-top:175px !important;padding-bottom:90px;}
.tap-post{padding-top:80px;}

.tap-post-layout{display:grid;grid-template-columns:60fr 40fr;gap:56px;align-items:start;}

/* -----------------------------------------------------------
   Main column — breadcrumb / title / meta / image / content
----------------------------------------------------------- */
.tap-post-breadcrumb{justify-content:flex-start;margin-bottom:16px;}

.tap-post-cat{
	display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2px;
	padding:6px 16px;border-radius:100px;margin-bottom:16px;
	background:rgba(var(--gold-rgb),.14);color:#a85a1c;
	transition:background .3s var(--ease),color .3s var(--ease);
}
.tap-post-cat:hover{background:var(--gold);color:#fff;}

.tap-post-title{font-size:clamp(28px,3.6vw,42px);line-height:1.3;margin-bottom:18px;}

.tap-post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:32px;font-size:13.5px;color:var(--text-muted);}
.tap-post-meta-item{display:flex;align-items:center;gap:8px;}
.tap-post-meta-item svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--gold);}
.tap-post-meta-item img{border-radius:50%;flex-shrink:0;}

.tap-post-thumb{
	border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);margin-bottom:36px;
}
.tap-post-thumb img{width:100%;height:auto;display:block;}

.tap-post-content{font-size:16.5px;line-height:1.9;color:var(--text);}
.tap-post-content > *:first-child{margin-top:0;}
.tap-post-content p{margin-bottom:1.4em;}
.tap-post-content h2{font-size:26px;margin-block:1.4em .6em;}
.tap-post-content h3{font-size:21px;margin-block:1.3em .5em;}
.tap-post-content h4{font-size:18px;margin-block:1.2em .5em;}
.tap-post-content ul,.tap-post-content ol{margin:0 0 1.4em;padding-inline-start:1.4em;color:var(--text);}
.tap-post-content li{margin-bottom:.5em;}
.tap-post-content ul{list-style:disc;}
.tap-post-content ol{list-style:decimal;}
.tap-post-content a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.tap-post-content strong{color:var(--navy-dark);}
.tap-post-content blockquote{
	margin:1.6em 0;padding:18px 24px;border-inline-start:3px solid var(--gold);
	background:var(--bg-alt);border-radius:var(--radius-sm);font-style:italic;color:var(--navy-dark);
}
.tap-post-content img{max-width:100%;height:auto;border-radius:var(--radius-md);margin-block:1.4em;}
.tap-post-content table{width:100%;border-collapse:collapse;margin-bottom:1.4em;}
.tap-post-content table th,.tap-post-content table td{padding:10px 14px;border:1px solid var(--border);text-align:start;}

/* -----------------------------------------------------------
   Share row
----------------------------------------------------------- */
.tap-post-share{
	display:flex;align-items:center;flex-wrap:wrap;gap:16px;
	margin-top:40px;padding:22px 24px;border-radius:var(--radius-md);
	background:var(--bg-alt);
}
.tap-post-share strong{font-size:14px;color:var(--navy-dark);}
.tap-post-share-links{display:flex;gap:10px;margin-inline-start:auto;}
.tap-post-share-links a{
	width:38px;height:38px;border-radius:50%;flex-shrink:0;
	display:flex;align-items:center;justify-content:center;
	background:var(--surface);border:1px solid var(--border);color:var(--navy);
	transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.tap-post-share-links a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-3px);}
.tap-post-share-links svg{width:16px;height:16px;fill:currentColor;}

/* -----------------------------------------------------------
   Sidebar — sticky related posts
----------------------------------------------------------- */
/* Applied directly on the grid item itself (not a nested wrapper) — its
   containing block is .tap-post-layout, tall enough (matches the much
   taller main column) to actually give the sticky offset room to travel. */
.tap-post-aside-sticky{position:sticky;top:118px;align-self:start;}
.tap-post-aside h3{font-size:17px;margin-bottom:18px;}

.tap-related-list{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;}
.tap-related-item{
	display:flex;align-items:center;gap:12px;
	background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
	padding:10px;transition:box-shadow .35s var(--ease),transform .35s var(--ease),border-color .35s var(--ease);
}
.tap-related-item:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px);border-color:rgba(var(--gold-rgb),.4);}
.tap-related-thumb{
	flex:0 0 auto;width:68px;height:68px;border-radius:var(--radius-sm);overflow:hidden;
	background:linear-gradient(150deg,rgba(var(--navy-rgb),.06),rgba(var(--gold-rgb),.1));
	display:flex;align-items:center;justify-content:center;
}
.tap-related-thumb img{width:100%;height:100%;object-fit:cover;}
.tap-related-thumb svg{width:22px;height:22px;stroke:var(--navy);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.5;}
.tap-related-text{display:flex;flex-direction:column;gap:4px;min-width:0;}
.tap-related-text strong{font-size:13.5px;line-height:1.4;color:var(--navy-dark);}
.tap-related-text time{font-size:11.5px;color:var(--text-muted);}

.tap-post-all-link{width:100%;justify-content:center;}

/* -----------------------------------------------------------
   Prev / next navigation
----------------------------------------------------------- */
.tap-post-nav{
	display:grid;grid-template-columns:1fr 1fr;gap:20px;
	margin-top:64px;padding-top:36px;border-top:1px solid var(--border);
}
.tap-post-nav-link{
	position:relative;overflow:hidden;
	display:flex;align-items:center;gap:14px;
	background:linear-gradient(165deg,var(--navy-dark) 0%,#16233a 55%,var(--navy-dark) 100%);
	border-radius:var(--radius-md);padding:18px 22px;
	box-shadow:0 18px 40px -20px rgba(26,39,61,.5);
	transition:box-shadow .35s var(--ease),transform .35s var(--ease);
}
.tap-post-nav-link:hover{box-shadow:0 24px 50px -18px rgba(26,39,61,.6);transform:translateY(-3px);}
.tap-post-nav-next{justify-content:flex-end;text-align:end;}
.tap-post-nav-icon{
	flex-shrink:0;width:38px;height:38px;border-radius:50%;
	background:rgba(var(--gold-rgb),.18);color:var(--gold-light);
	display:flex;align-items:center;justify-content:center;
	transition:background .3s var(--ease);
}
.tap-post-nav-link:hover .tap-post-nav-icon{background:var(--gold);color:#fff;}
.tap-post-nav-icon svg{
	width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
	transform:scaleX(-1) rotate(180deg);
}
.tap-post-nav-next .tap-post-nav-icon svg{transform:scaleX(1) rotate(180deg);}
html[dir="ltr"] .tap-post-nav-prev .tap-post-nav-icon svg{transform:scaleX(1) rotate(180deg);}
html[dir="ltr"] .tap-post-nav-next .tap-post-nav-icon svg{transform:scaleX(-1) rotate(180deg);}
.tap-post-nav-text{display:flex;flex-direction:column;gap:4px;min-width:0;}
.tap-post-nav-text em{font-style:normal;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.5);}
.tap-post-nav-text strong{font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* -----------------------------------------------------------
   Responsive
----------------------------------------------------------- */
@media (max-width:1020px){
	.tap-post-main-wrap{padding-top:175px !important;}
	.tap-post-layout{grid-template-columns:1fr;gap:40px;}
	.tap-post-aside-sticky{position:static;}
}

@media (max-width:640px){
	.tap-post-main-wrap{padding-top:175px !important;padding-bottom:60px;}
	.tap-post-share{flex-direction:column;align-items:flex-start;}
	.tap-post-share-links{margin-inline-start:0;}
	.tap-post-nav{grid-template-columns:1fr;}
	.tap-post-nav-next{justify-content:flex-start;text-align:start;}
	.tap-post-nav-next .tap-post-nav-icon svg{transform:scaleX(-1) rotate(180deg);}
	html[dir="ltr"] .tap-post-nav-next .tap-post-nav-icon svg{transform:scaleX(1) rotate(180deg);}
}
