/*
Theme Name: Jahan Shoofazh Base
Theme URI: https://jahanshoofazh.com/
Author: Jahan Shoofazh
Description: پوسته پایه و سبک جهان شوفاژ؛ طراحی‌شده برای کار در کنار افزونه مادر پنل جهان شوفاژ و WooCommerce، بدون وابستگی به WoodMart.
Version: 0.1.2
Requires at least: 6.8
Requires PHP: 8.1
Text Domain: jahan-shoofazh-base
*/

/* ==========================================================================
   Jahan Shoofazh Base — shell only
   Business UI belongs to the Jahan Shoofazh panel plugin.
   ========================================================================== */

:root{
	--jahan-base-content: 1440px;
	--jahan-base-narrow: 900px;
	--jahan-base-gutter: 24px;
	--jahan-base-bg: #fff;
	--jahan-base-surface: #fff;
	--jahan-base-text: #191b1f;
	--jahan-base-muted: #73767c;
	--jahan-base-line: #e8eaed;
	--jahan-base-primary: #e63946;
	--jahan-base-font: var(--jspanel-site-font, Tahoma,Arial,sans-serif);
}

*,
*::before,
*::after{
	box-sizing:border-box;
}

html{
	-webkit-text-size-adjust:100%;
	scroll-behavior:smooth;
}

body{
	margin:0;
	background:var(--jahan-base-bg);
	color:var(--jahan-base-text);
	font-family:var(--jahan-base-font);
	line-height:1.85;
}

img{
	max-width:100%;
	height:auto;
}

a{
	color:inherit;
}

button,
input,
select,
textarea{
	font:inherit;
}

.jahan-base-site{
	min-height:100vh;
}

.jahan-base-main{
	display:block;
	width:100%;
	min-width:0;
	padding-block:28px 56px;
}

.jahan-base-container{
	width:min(var(--jahan-base-content),calc(100% - (var(--jahan-base-gutter) * 2)));
	margin-inline:auto;
	min-width:0;
}

.jahan-base-container--narrow{
	width:min(var(--jahan-base-narrow),calc(100% - (var(--jahan-base-gutter) * 2)));
}

.jahan-base-page-title{
	margin:0 0 20px;
	font-size:clamp(25px,3vw,38px);
	line-height:1.45;
	font-weight:900;
}

.jahan-base-entry-content{
	min-width:0;
}

.jahan-base-entry-content::after{
	content:"";
	display:table;
	clear:both;
}

/* Elementor/full-builder pages get no theme-side width restriction. */
.jahan-base-main.is-builder-page{
	padding:0;
}

.jahan-base-main.is-builder-page > .jahan-base-builder-content{
	width:100%;
	min-width:0;
}

/* Minimal fallback header/footer are visible only when plugin modules are off. */
.jahan-base-fallback-header{
	border-bottom:1px solid var(--jahan-base-line);
	background:var(--jahan-base-surface);
}

.jahan-base-fallback-header__inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	min-height:72px;
}

.jahan-base-fallback-brand{
	font-weight:900;
	text-decoration:none;
}

.jahan-base-fallback-nav ul{
	display:flex;
	flex-wrap:wrap;
	gap:18px;
	margin:0;
	padding:0;
	list-style:none;
}

.jahan-base-fallback-nav a{
	text-decoration:none;
	font-size:14px;
	font-weight:700;
}

.jahan-base-fallback-footer{
	margin-top:48px;
	padding:28px 0;
	border-top:1px solid var(--jahan-base-line);
	color:var(--jahan-base-muted);
	background:var(--jahan-base-surface);
	text-align:center;
	font-size:13px;
}

/* Generic WordPress fallback loop. */
.jahan-base-loop{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
}

.jahan-base-card{
	min-width:0;
	padding:20px;
	border:1px solid var(--jahan-base-line);
	border-radius:16px;
	background:var(--jahan-base-surface);
}

.jahan-base-card h2{
	margin:0 0 10px;
	font-size:20px;
	line-height:1.6;
}

.jahan-base-card h2 a{
	text-decoration:none;
}

.jahan-base-card__meta{
	margin-bottom:10px;
	color:var(--jahan-base-muted);
	font-size:12px;
}

.jahan-base-pagination{
	margin-top:28px;
}

/* Single post fallback. */
.jahan-base-single-meta{
	margin:-10px 0 24px;
	color:var(--jahan-base-muted);
	font-size:13px;
}

/* Search / 404. */
.jahan-base-empty{
	padding:36px;
	border:1px dashed var(--jahan-base-line);
	border-radius:18px;
	text-align:center;
}

.jahan-base-search-form{
	display:flex;
	gap:8px;
	max-width:620px;
	margin:18px auto 0;
}

.jahan-base-search-form input{
	flex:1;
	min-width:0;
	min-height:44px;
	padding:8px 12px;
	border:1px solid var(--jahan-base-line);
	border-radius:10px;
}

.jahan-base-search-form button{
	min-height:44px;
	padding:8px 18px;
	border:0;
	border-radius:10px;
	background:var(--jahan-base-primary);
	color:#fff;
	font-weight:800;
	cursor:pointer;
}

/* WooCommerce shell only — no business styling. */
.woocommerce,
.woocommerce-page{
	min-width:0;
}

.jahan-base-woocommerce-single{
	width:min(var(--jahan-base-content),calc(100% - (var(--jahan-base-gutter) * 2)));
	margin-inline:auto;
	padding-block:28px 56px;
	min-width:0;
}

.jahan-base-woocommerce-single .woocommerce-notices-wrapper{
	margin-bottom:16px;
}

/* Do not reserve any theme sidebar. This theme intentionally registers none. */
body.jahan-shoofazh-base-theme .site-content,
body.jahan-shoofazh-base-theme .content-area,
body.jahan-shoofazh-base-theme main{
	min-width:0;
}

/* Basic comments fallback. */
.comments-area{
	margin-top:36px;
	padding-top:28px;
	border-top:1px solid var(--jahan-base-line);
}

.comment-list{
	padding:0;
	list-style:none;
}

.comment-list .comment{
	margin-bottom:16px;
	padding:16px;
	border:1px solid var(--jahan-base-line);
	border-radius:12px;
}

/* WordPress accessibility helper. */
.screen-reader-text{
	position:absolute!important;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

.screen-reader-text:focus{
	top:6px;
	right:6px;
	z-index:100000;
	width:auto;
	height:auto;
	padding:12px 16px;
	clip:auto!important;
	background:#fff;
	color:#111;
}

@media(max-width:900px){
	:root{
		--jahan-base-gutter:16px;
	}

	.jahan-base-loop{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.jahan-base-fallback-header__inner{
		align-items:flex-start;
		flex-direction:column;
		padding-block:14px;
	}
}

@media(max-width:600px){
	.jahan-base-loop{
		grid-template-columns:1fr;
	}

	.jahan-base-main,
	.jahan-base-woocommerce-single{
		padding-block:18px 42px;
	}
}


/* 0.1.2 — WooCommerce pages are first-class full-width shell pages. */
.jahan-base-main.is-commerce-page > .jahan-base-container{
	width:min(1180px,calc(100% - (var(--jahan-base-gutter) * 2)));
	max-width:1180px;
}
.jahan-base-main.is-commerce-page{
	min-width:0;
}
