/*
Theme Name: Karvaan Child
Theme URI: https://thevertechs.com
Description: Neve child theme for Karvaan website customizations.
Author: Sarim Ashrafi
Author URI: https://thevertechs.com
Template: neve
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: karvaan-child
*/

/* Add site-specific style overrides below. */

/* Header alignment: keep the header content on the same 1280px column, with the same 24px side gutters,
   as the homepage hero and the page sections. Neve's header rows cancel the container padding with a
   -15px row margin and add it back on each item, so the visible inset equals the container padding. */
.hfg_header .header--row .container {
	max-width: 1328px;
	padding-left: 24px;
	padding-right: 24px;
}

.single-post .karvaan-single-excerpt {
	margin-top: 1rem;
}

.single-post .karvaan-single-excerpt,
.single-post .karvaan-single-excerpt p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(22px, 1.5vw, 24px);
	font-weight: 400;
	line-height: 1.5;
}

.single-post .karvaan-single-excerpt > :last-child {
	margin-bottom: 0;
}

/* Keep the featured image close to the opening article text. */
.single-post .nv-single-post-wrap > .entry-header:has(.karvaan-single-excerpt) {
	margin-bottom: 24px;
}

.single-post .nv-single-post-wrap > .nv-thumb-wrap {
	margin-bottom: 24px;
}

.single-post .nv-single-post-wrap > .nv-thumb-wrap img {
	display: block;
}

/* Editorial single-post layout. Header stays full-width above the three columns. */
.single-post .karvaan-story-container {padding:40px clamp(20px,4vw,64px) 56px;}
.karvaan-story-header {margin-bottom:36px;text-align:left;}
.karvaan-story-kicker {display:flex;flex-wrap:wrap;gap:8px;margin:0;font:600 13px/1.4 Arial,Helvetica,sans-serif;}
.karvaan-story-kicker a {display:inline-block;padding:5px 10px;background:#eee4d6;color:#a3441b;text-decoration:none;}
.single-post .karvaan-story-title {margin:0 0 16px;font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-.02em;font-weight:600;text-align:left;}
.karvaan-story-image {margin:0;}
.karvaan-story-image > img {display:block;width:100%;height:clamp(260px,40vw,520px);object-fit:cover;object-position:center;border-radius:16px;}
.karvaan-story-image figcaption {margin-top:10px;font:400 13px/1.5 Arial,Helvetica,sans-serif;color:#675b50;}
.single-post .karvaan-story-header .karvaan-single-excerpt {margin:0 0 18px;max-width:1120px;}
.single-post .karvaan-story-header .karvaan-single-excerpt p {margin:0;font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:#4c4239;}
.karvaan-story-grid {display:grid;grid-template-columns:minmax(150px,15fr) minmax(0,55fr) minmax(240px,30fr);gap:32px;align-items:start;}
.karvaan-story-grid.no-story-sidebar {grid-template-columns:minmax(150px,15fr) minmax(0,85fr);}
.karvaan-story-byline {font-family:Arial,Helvetica,sans-serif;min-width:0;}
.karvaan-story-label,.karvaan-story-details dt {display:block;margin-bottom:10px;color:#75695d;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;}
/* Compact cards share the support widget's cream surface and 16px corners. */
.karvaan-story-authors {display:grid;gap:16px;}
.karvaan-story-author {margin:0;padding:12px;background:#efe7d8;border-radius:16px;}
.karvaan-story-author-photo {display:block;width:100%;margin:0 0 14px;}
.karvaan-story-author-photo img {display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:12px;}
.karvaan-story-author-copy {padding:0 4px 6px;text-align:center;}
.karvaan-story-author-copy .karvaan-story-label {margin-bottom:6px;font-size:10px;}
.karvaan-story-author-name {display:block;color:var(--nv-text-color,#1a1410);font-size:16px;line-height:1.4;font-weight:600;text-decoration:none;overflow-wrap:anywhere;}
.karvaan-story-author-name:hover {color:#a3441b;}
.karvaan-story-details {display:grid;gap:14px;margin:16px 0 0;}
.karvaan-story-details > div {margin:0;padding:18px 16px;background:#efe7d8;border-radius:16px;}
.karvaan-story-details dt {display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:10px;letter-spacing:.05em;}
.karvaan-story-details dt svg {width:15px;height:15px;flex-shrink:0;fill:none;stroke:#a85530;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.karvaan-story-details dd {margin:0;padding:0;font-size:13px;line-height:1.6;}
.karvaan-story-details dd a {display:inline-block;margin:3px 3px 0 0;color:#91431f;text-decoration:none;}
.karvaan-story-details dd a:hover {text-decoration:underline;}
.single-post .karvaan-story-content.nv-single-post-wrap {width:100%;max-width:100%;padding:0;margin:0;min-width:0;flex:none;}
.single-post .karvaan-story-content .nv-content-wrap {margin:0;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.75;overflow-wrap:break-word;}
.karvaan-story-content .nv-content-wrap > :first-child {margin-top:0;}
.karvaan-story-content .alignwide,.karvaan-story-content .alignfull {width:auto;max-width:100%;margin-left:0;margin-right:0;}
.karvaan-story-content img {max-width:100%;height:auto;}
.karvaan-story-content iframe,.karvaan-story-content video {max-width:100%;}
.karvaan-story-sidebar {min-width:0;border-left:1px solid #ded4c7;padding-left:24px;}
.single-post .karvaan-story-sidebar > .nv-sidebar-wrap {width:100%;max-width:100%;padding:0;margin:0;flex:none;}
.karvaan-story-sidebar .widget {margin-bottom:28px;}
.karvaan-story-sidebar h2,.karvaan-story-sidebar h3,.karvaan-story-sidebar h4,.karvaan-story-sidebar h5 {font-size:21px;line-height:1.25;}
@media(max-width:1100px) and (min-width:961px) {
 .karvaan-story-grid {grid-template-columns:150px minmax(0,1fr) 250px;gap:24px;}
 .karvaan-story-sidebar {padding-left:18px;}
}
@media(max-width:960px) {
 .single-post .karvaan-story-container {padding-top:28px;}
 .karvaan-story-grid,.karvaan-story-grid.no-story-sidebar {grid-template-columns:160px minmax(0,1fr);gap:28px;}
 .karvaan-story-sidebar {grid-column:2;border-left:0;border-top:1px solid #ded4c7;padding:28px 0 0;}
}
@media(max-width:640px) {
 .single-post .karvaan-story-container {padding-top:24px;padding-bottom:36px;}
 .single-post .karvaan-story-title {font-size:28px;margin-bottom:14px;}
 .karvaan-story-image > img {height:260px;border-radius:12px;}
 .karvaan-story-header {margin-bottom:24px;}
 .karvaan-story-grid,.karvaan-story-grid.no-story-sidebar {display:flex;flex-direction:column;gap:26px;}
 .karvaan-story-byline,.karvaan-story-sidebar {width:100%;}
 .karvaan-story-byline {padding:14px;background:#efe7d8;border-radius:16px;}
 .karvaan-story-authors {display:grid;grid-template-columns:1fr;gap:12px;}
 .karvaan-story-author {display:flex;align-items:center;gap:12px;padding:0;background:transparent;}
 .karvaan-story-author-photo {width:72px;flex-shrink:0;margin:0;}
 .karvaan-story-author-photo img {width:72px;height:72px;aspect-ratio:1 / 1;}
 .karvaan-story-author-copy {padding:0;text-align:left;flex:1;min-width:0;}
 .karvaan-story-author-name {font-size:16px;}
 .karvaan-story-details {display:block;margin:12px 0 0;padding-top:10px;border-top:1px solid #ded4c7;}
 .karvaan-story-details > div {display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;background:transparent;}
 .karvaan-story-details dt {margin:0;}
 .karvaan-story-top-meta {font-size:12px;gap:7px;}
 .karvaan-story-sidebar {padding-top:24px;}
}

.karvaan-story-top-meta {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font:400 14px/1.5 Arial,Helvetica,sans-serif;color:#75695d;}
.karvaan-story-top-author a {color:#a3441b;text-decoration:none;}
.karvaan-story-top-author a:hover {text-decoration:underline;}

.karvaan-story-heading-details {display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-bottom:18px;}
@media(max-width:640px) {.karvaan-story-top-meta {font-size:12px;gap:7px;}.karvaan-story-heading-details {gap:10px 14px;}}

/* On phones, publication details form the second row beside the portrait. */
.karvaan-story-author-published {display:none;}
@media(max-width:640px) {
 .karvaan-story-byline .karvaan-story-details {display:none;}
 .karvaan-story-author-published {display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:8px;padding-top:8px;border-top:1px solid #ded4c7;font-size:12px;line-height:1.5;}
 .karvaan-story-author-published > span {display:inline-flex;align-items:center;gap:5px;color:#75695d;font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
 .karvaan-story-author-published svg {width:12px;height:12px;fill:none;stroke:#a85530;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
}

/* Full-container reading suggestions with images flush to the card edges. */
.karvaan-related-stories {margin-top:48px;}
.karvaan-related-header {display:flex;align-items:center;gap:16px;margin-bottom:24px;}
.karvaan-related-header h2 {display:flex;align-items:center;gap:20px;flex:1;margin:0;font-size:28px;line-height:1.2;}
.karvaan-related-header h2::after {content:"";flex:1;height:2px;background:#ba5c2f;}
.karvaan-related-controls {display:flex;gap:8px;}
.karvaan-related-controls[hidden] {display:none;}
.karvaan-related-controls button {display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:8px;background:#ba5c2f;color:#fff;cursor:pointer;}
.karvaan-related-controls button:hover:not(:disabled) {background:#91431f;}
.karvaan-related-controls button:disabled {opacity:.35;cursor:default;}
.karvaan-related-controls svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.karvaan-related-grid {display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;}
.karvaan-related-grid::-webkit-scrollbar {display:none;}
.karvaan-related-card {padding:0;background:#efe7d8;border-radius:16px;overflow:hidden;min-width:0;scroll-snap-align:start;}
.karvaan-related-image {display:block;margin:0;overflow:hidden;border-radius:16px;}
.karvaan-related-image img {display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
.karvaan-related-copy {padding:18px 24px;}
.karvaan-related-copy h3 {margin:0 0 14px;font-size:20px;line-height:1.3;letter-spacing:-.01em;font-weight:500;overflow-wrap:break-word;}
.karvaan-related-copy h3 a {color:var(--nv-text-color,#1a1410);text-decoration:none;}
.karvaan-related-copy h3 a:hover {color:#a3441b;}
.karvaan-related-meta {display:flex;flex-wrap:wrap;gap:4px 7px;font:400 12px/1.6 Arial,Helvetica,sans-serif;color:#75695d;}
@media(max-width:960px) {.karvaan-related-grid {grid-auto-columns:calc((100% - 20px)/2);gap:20px;}}
@media(max-width:640px) {
 .karvaan-related-stories {margin-top:32px;}
 .karvaan-related-header {gap:10px;margin-bottom:20px;}
 .karvaan-related-header h2 {font-size:24px;gap:12px;}
 .karvaan-related-controls button {width:34px;height:34px;}
 .karvaan-related-grid {grid-auto-columns:100%;gap:18px;}
 .karvaan-related-copy h3 {font-size:22px;}
}

/* Category-controlled biography cards at the end of the article. */
.karvaan-article-authors {display:grid;gap:16px;margin:28px 0;}
.karvaan-article-author {display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:20px;background:#efe7d8;border-radius:16px;align-items:start;}
.karvaan-article-author > img {display:block;width:96px;height:96px;aspect-ratio:1;object-fit:cover;border-radius:12px;}
.karvaan-article-author-copy {min-width:0;}
.karvaan-article-author-label {display:block;margin-bottom:8px;font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#75695d;}
.karvaan-article-author-copy h2 {margin:0 0 10px;font-size:22px;font-weight:500;line-height:1.3;}
.karvaan-article-author-copy h2 a {color:var(--nv-text-color,#1a1410);text-decoration:none;}
.karvaan-article-author-copy h2 a:hover {color:#a3441b;}
.karvaan-article-author-bio {font:400 15px/1.65 Arial,Helvetica,sans-serif;color:#4c4239;overflow-wrap:break-word;}
.karvaan-article-author-bio p {margin:0 0 10px;}
.karvaan-article-author-bio > :last-child {margin-bottom:0;}
@media(max-width:640px) {
 .karvaan-article-author {grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px;}
 .karvaan-article-author > img {width:64px;height:64px;}
 .karvaan-article-author-copy h2 {font-size:20px;}
 .karvaan-article-author-bio {font-size:14px;}
}
