/*
Theme Name: CamperTroop Blocks
Description: Lightweight block theme for CamperTroop. Built by Kawsar.
Author: Kawsar
Author URI: https://kawsar.pro
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: campertroop-blocks
*/

/* Kadence palette variables kept so existing post content (inline styles / classes) still works */
:root {
	--global-palette1: var(--wp--preset--color--theme-palette-1);
	--global-palette2: var(--wp--preset--color--theme-palette-2);
	--global-palette3: var(--wp--preset--color--theme-palette-3);
	--global-palette4: var(--wp--preset--color--theme-palette-4);
	--global-palette5: var(--wp--preset--color--theme-palette-5);
	--global-palette6: var(--wp--preset--color--theme-palette-6);
	--global-palette7: var(--wp--preset--color--theme-palette-7);
	--global-palette8: var(--wp--preset--color--theme-palette-8);
	--global-palette9: var(--wp--preset--color--theme-palette-9);
	--tb-border: #e2e8f0;
	--tb-radius: 10px;
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; max-width: 100%; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* Header */
.site-header { border-bottom: 1px solid var(--tb-border); padding-top: 14px; padding-bottom: 14px; background: var(--wp--preset--color--theme-palette-9); }
.site-header .header-inner { gap: 24px; }
.site-header .header-center { gap: 10px; }
.site-header .wp-block-site-logo img { width: 280px; max-width: 70vw; }
.main-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--theme-palette-3); padding: 6px 4px; }
.main-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--theme-palette-1); }
.main-nav .wp-block-navigation__submenu-container { border: 1px solid var(--tb-border) !important; border-radius: 8px; padding: 6px 0; min-width: 210px !important; box-shadow: 0 10px 25px rgba(0,0,0,.08); }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 16px; font-weight: 600; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }

/* Main */
.site-main { padding-top: 32px; padding-bottom: 56px; }
.wp-block-query-title, .site-main > h1 { margin-bottom: 24px; }

/* Post grid / cards */
.post-grid .wp-block-post-template { gap: 28px; }
.post-grid .card { height: 100%; background: #fff; border: 1px solid var(--tb-border); border-radius: var(--tb-radius); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.post-grid .card:hover { box-shadow: 0 10px 30px rgba(0,0,0,.08); transform: translateY(-2px); }
.post-grid .wp-block-post-featured-image { margin: 0; }
.post-grid .wp-block-post-featured-image img { border-radius: 0; }
.post-grid .card-body { padding: 16px 18px 20px; }
.post-grid .card-title { font-size: 20px; line-height: 1.35; margin: 0 0 8px; }
.post-grid .card-title a { text-decoration: none; }
.post-grid .wp-block-post-excerpt { font-size: 16px; line-height: 1.6; color: var(--wp--preset--color--theme-palette-5); margin: 0; }
.post-grid .wp-block-post-excerpt__more-text { display: none; }
.wp-block-query-pagination { margin-top: 40px; gap: 8px; font-weight: 700; }
.wp-block-query-pagination-numbers .page-numbers { display: inline-block; min-width: 40px; padding: 6px 10px; text-align: center; border: 1px solid var(--tb-border); border-radius: 6px; text-decoration: none; }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--wp--preset--color--theme-palette-1); border-color: var(--wp--preset--color--theme-palette-1); color: #fff; }

/* Single layout with sidebar */
.layout-sidebar { gap: 48px; }
.layout-sidebar > .content-col { min-width: 0; }
.entry-title { margin-top: 6px; margin-bottom: 10px; }
.entry-meta { gap: 6px 16px; font-size: 15px; color: var(--wp--preset--color--theme-palette-5); margin-bottom: 18px; }
.entry-meta > * { margin: 0; }
.entry-meta .wp-block-post-date::before { content: "Updated "; }
.rank-math-breadcrumb { font-size: 14px; color: var(--wp--preset--color--theme-palette-5); }
.rank-math-breadcrumb p { margin: 0; }
.single-hero img { border-radius: var(--tb-radius); }
.single-content > * + * { margin-block-start: 1.1em; }
.single-content h2, .single-content h3 { margin-top: 1.6em; scroll-margin-top: 20px; }
.single-content a { text-underline-offset: 3px; }
.single-content img { border-radius: 6px; }
.single-content figure { margin-left: 0; margin-right: 0; }
.single-content .wp-block-table table, .single-content table { border-collapse: collapse; width: 100%; }
.single-content table td, .single-content table th { border: 1px solid var(--tb-border); padding: 10px 12px; }
.single-content table tr:nth-child(even) td { background: var(--wp--preset--color--theme-palette-8); }
.single-content .wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--theme-palette-3); }
.single-content blockquote, .wp-block-quote { border-left: 4px solid var(--wp--preset--color--theme-palette-1); background: var(--wp--preset--color--theme-palette-8); padding: 16px 22px; margin-left: 0; border-radius: 0 8px 8px 0; }
.inline-quote { display: block; border-left: 4px solid var(--wp--preset--color--theme-palette-1); background: var(--wp--preset--color--theme-palette-8); padding: 14px 20px; border-radius: 0 8px 8px 0; font-style: italic; }
.wp-block-embed iframe { max-width: 100%; }

/* Sidebar */
.sidebar-col { min-width: 300px; }
.primary-sidebar { position: relative; }
.primary-sidebar > * + * { margin-block-start: 32px !important; }
.primary-sidebar .widget-title { font-size: 20px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid var(--wp--preset--color--theme-palette-1); }
.primary-sidebar ul { list-style: none; padding: 0; margin: 0; font-size: 16px; line-height: 1.45; }
.primary-sidebar li { padding: 8px 0; border-bottom: 1px solid var(--tb-border); }
.primary-sidebar li a { text-decoration: none; color: var(--wp--preset--color--theme-palette-3); }
.primary-sidebar li a:hover { color: var(--wp--preset--color--theme-palette-1); }
.wp-block-search__input { border: 1px solid var(--tb-border); border-radius: 6px; padding: 10px 12px; font-size: 16px; }
.wp-block-search__button-inside .wp-block-search__inside-wrapper { border: 1px solid var(--tb-border); border-radius: 8px; padding: 3px; }
.wp-block-search__button-inside .wp-block-search__input { border: 0; }
.wp-block-search__button { background: var(--wp--preset--color--theme-palette-1); color: #fff; border: 0; border-radius: 6px; }

/* Author box + related */
.author-box { margin-top: 40px; padding: 22px; border: 1px solid var(--tb-border); border-radius: var(--tb-radius); background: var(--wp--preset--color--theme-palette-8); gap: 18px; }
.author-box .wp-block-avatar img { border-radius: 50%; }
.author-box .author-name { font-weight: 700; font-size: 18px; }
.author-box .wp-block-post-author-biography { font-size: 16px; line-height: 1.6; margin-top: 4px; }
.author-box:not(:has(.wp-block-post-author-biography)) { display: none; }
.related-title { margin-top: 48px; font-size: 24px; }
.related-posts .card-title { font-size: 17px; }
.comments-area { margin-top: 40px; }

/* Converted content components */
ul.is-style-checklist, ul.is-style-pros, ul.is-style-cons { list-style: none; padding-left: 0; }
ul.is-style-checklist li, ul.is-style-pros li, ul.is-style-cons li { position: relative; padding-left: 30px; margin: 8px 0; }
ul.is-style-checklist li::before, ul.is-style-pros li::before, ul.is-style-cons li::before { position: absolute; left: 0; top: .05em; font-weight: 700; }
ul.is-style-checklist li::before { content: "➜"; color: var(--wp--preset--color--theme-palette-1); }
ul.is-style-pros li::before { content: "✔"; color: #16a34a; }
ul.is-style-cons li::before { content: "✘"; color: #dc2626; }
.note-box, .is-style-note { background: var(--wp--preset--color--theme-palette-8); border: 1px solid var(--tb-border); border-left: 4px solid var(--wp--preset--color--theme-palette-1); border-radius: 8px; padding: 16px 22px; margin: 1.4em 0; }
.note-box > :first-child { margin-top: 0; } .note-box > :last-child { margin-bottom: 0; }
.product-box { border: 1px solid var(--tb-border); border-radius: var(--tb-radius); padding: 22px; margin: 1.6em 0; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.05); }
.product-box .wp-block-image img { max-height: 260px; width: auto; object-fit: contain; }
.product-box h3 { margin-top: 8px; text-align: center; }
.product-box .wp-block-columns { gap: 20px; margin-bottom: 8px; }
.product-box .pros-title, .product-box .cons-title { margin: 0; }
.product-box .wp-block-buttons { justify-content: center; }
.product-box .wp-block-button__link { background: #ff9900; color: #111; }
.product-box .wp-block-button__link:hover { background: #f08800; color: #111; }
.toc { margin: 1.4em 0 1.8em; border: 1px solid var(--tb-border); border-radius: var(--tb-radius); background: var(--wp--preset--color--theme-palette-8); padding: 14px 20px; font-size: .9em; }
.toc summary { font-weight: 700; cursor: pointer; color: var(--wp--preset--color--theme-palette-3); }
.toc ol { margin: 10px 0 0; padding-left: 22px; }
.toc li { margin: 4px 0; }
.toc .toc-l3 { margin-left: 18px; list-style: circle; }
.toc a { text-decoration: none; }
.rank-math-list-item { margin-bottom: 1em; }
.rank-math-question { font-size: 1.15em; }
.has-ast-global-color-5-color { color: #fff; }

/* Footer */
.site-footer { background: var(--wp--preset--color--theme-palette-3); color: #e2e8f0; padding-top: 44px; padding-bottom: 24px; font-size: 16px; }
.site-footer a { color: #fff; }
.site-footer .wp-block-site-title { font-size: 22px; font-weight: 700; margin: 0 0 6px; }
.site-footer .wp-block-site-title a { text-decoration: none; }
.site-footer .wp-block-site-tagline { opacity: .8; margin: 0 0 16px; }
.site-footer .footer-cols p { margin: 4px 0; }
.site-footer .footer-nav { gap: 8px 22px; justify-content: flex-end; }
.site-footer .footer-nav .wp-block-navigation-item__content { color: #fff; font-weight: 600; font-size: 15px; }
.site-footer .copyright { border-top: 1px solid rgba(255,255,255,.15); margin-top: 28px; padding-top: 18px; font-size: 14px; opacity: .8; }

/* Mobile */
@media (max-width: 781px) {
	.layout-sidebar { gap: 32px; }
	.sidebar-col { min-width: 0; flex-basis: 100% !important; }
	.site-footer .footer-nav { justify-content: flex-start; }
	.site-main { padding-top: 20px; }
	.post-grid .wp-block-post-template { gap: 20px; }
}
