/**
 * Ketabbin 1.7.1 — bookish fantasy layer.
 * Decorative only: no commerce layout or business state is owned here.
 */
@font-face{
	font-family:"Yekan Bakh Ketabbin";
	src:url("../fonts/yekan-bakh-heavy.ttf") format("truetype");
	font-weight:800 950;
	font-style:normal;
	font-display:swap;
}

:root{
	--kb-cream:#fff7e7;
	--kb-sky:#eaf4ff;
	--kb-rose:#fff0f1;
	--kb-lilac:#f2efff;
	--kb-mint:#eafaf3;
	--kb-ink-shadow:0 18px 45px rgba(7,29,54,.10);
}

/* The supplied file is Heavy; reserve it for high-emphasis interface text. */
.kb-header__nav a,
.kb-header__utilities b,
.kb-hero h2,
.kb-button,
.kb-category-rail span,
.kb-editorial h2,
.kb-editorial b,
.kb-section__head h2,
.kc-redesign .kc-product-card h3,
.kc-redesign .kc-product-card__price,
.kc-redesign .kc-product-card__actions .kc-btn,
.kb-trust b,
.kb-cafe h2,
.kb-cafe b,
.kb-newsletter h2,
.kb-newsletter button,
.kb-magazine article h3,
.kc-redesign div.product .product_title,
.kc-redesign div.product p.price,
.kc-redesign div.product form.cart .button,
.kc-redesign .checkout-button,
.kc-redesign #place_order,
.kc-redesign .woocommerce h1,
.kc-redesign .woocommerce h2,
.kc-redesign .woocommerce h3{
	font-family:"Yekan Bakh Ketabbin",inherit;
	font-weight:900;
}

/* A quiet paper texture keeps white pages from looking generic. */
body.kc-redesign{
	background-color:#fff;
	background-image:
		radial-gradient(circle at 12% 8%,rgba(255,170,0,.055) 0 2px,transparent 2.5px),
		radial-gradient(circle at 83% 18%,rgba(7,29,54,.035) 0 1.5px,transparent 2px);
	background-size:42px 42px,56px 56px;
}

.kb-header{
	border-bottom-color:rgba(7,29,54,.08);
}
.kb-brand{
	position:relative;
}
.kb-brand:after{
	content:"";
	position:absolute;
	inset-inline:14%;
	inset-block-end:2px;
	height:5px;
	border-radius:50%;
	background:rgba(255,170,0,.34);
	filter:blur(4px);
}
.kb-header__nav .kc-nav-categories{
	position:relative;
	overflow:hidden;
	background:linear-gradient(135deg,#fff7e7,#fff);
}
.kb-header__nav .kc-nav-categories:after{
	content:"";
	position:absolute;
	inset-inline-end:-11px;
	inset-block-start:-13px;
	width:34px;
	height:34px;
	border:8px solid rgba(255,170,0,.17);
	border-radius:50%;
}
.kb-search input{
	background:
		linear-gradient(#f7f8fa,#f7f8fa) padding-box,
		linear-gradient(90deg,transparent,rgba(255,170,0,.25),transparent) border-box;
}

/* Hero: a warm library stage built from CSS, real covers remain the focus. */
.kb-hero{
	box-shadow:0 26px 70px rgba(7,29,54,.18);
	background:
		radial-gradient(circle at 77% 24%,rgba(255,201,92,.28),transparent 17%),
		radial-gradient(circle at 13% 92%,rgba(255,170,0,.16),transparent 24%),
		linear-gradient(112deg,#061a31 0%,#0a2a4a 54%,#123f69 100%);
}
.kb-hero:after{
	content:"";
	position:absolute;
	inset-inline-end:8%;
	inset-block-start:10%;
	width:34%;
	height:58%;
	z-index:-1;
	border:1px solid rgba(255,255,255,.12);
	border-radius:180px 180px 18px 18px;
	background:
		linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.09) 50%,transparent 50.5%),
		linear-gradient(rgba(255,255,255,.08),transparent);
	box-shadow:inset 0 0 50px rgba(255,170,0,.08);
}
.kb-hero__content{
	position:relative;
	z-index:3;
}
.kb-hero__content>span{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:5px 12px;
	border:1px solid rgba(255,210,117,.24);
	border-radius:999px;
	background:rgba(255,255,255,.06);
	backdrop-filter:blur(6px);
}
.kb-hero__content>span:before{
	content:"✦";
	color:var(--kb-orange);
}
.kb-hero h2{
	text-shadow:0 8px 28px rgba(0,0,0,.22);
}
.kb-hero mark{
	position:relative;
	display:inline-block;
}
.kb-hero mark:after{
	content:"";
	position:absolute;
	inset-inline:2%;
	inset-block-end:2px;
	height:9px;
	z-index:-1;
	border-radius:50%;
	background:rgba(255,170,0,.2);
	transform:rotate(-1deg);
}
.kb-button--primary{
	position:relative;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.28);
}
.kb-button--primary:after{
	content:"";
	position:absolute;
	inset-block:-30%;
	inset-inline-start:-45%;
	width:34%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
	transform:skewX(-18deg);
	transition:inset-inline-start .55s ease;
}
.kb-button--primary:hover:after{inset-inline-start:115%}
.kb-library-glow{
	position:absolute;
	inset-inline-end:8%;
	inset-block-end:32px;
	width:52%;
	height:58%;
	border-radius:50%;
	background:radial-gradient(circle,rgba(255,187,57,.24),transparent 66%);
	filter:blur(8px);
}
.kb-hero__library{position:relative}
.kb-hero__shelf{
	z-index:2;
	border-radius:4px;
	background:linear-gradient(90deg,#8c4d1e,#d4862d 24%,#f0a84b 52%,#b86726 82%,#794018);
}
.kb-hero__shelf:before{
	content:"";
	position:absolute;
	inset-inline:4%;
	inset-block-end:-16px;
	height:8px;
	border-radius:0 0 8px 8px;
	background:linear-gradient(90deg,#4e2912,#9a511f,#4e2912);
}
.kb-hero__book img{
	border-radius:2px 7px 7px 2px;
	filter:drop-shadow(0 20px 16px rgba(0,0,0,.28));
}
.kb-hero__ornaments i{
	position:absolute;
	z-index:1;
	display:block;
	width:8px;
	height:8px;
	border-radius:2px;
	background:var(--kb-orange);
	transform:rotate(45deg);
	box-shadow:0 0 15px rgba(255,170,0,.7);
}
.kb-hero__ornaments i:nth-child(1){inset-inline-start:8%;inset-block-start:15%}
.kb-hero__ornaments i:nth-child(2){inset-inline-start:45%;inset-block-end:14%;width:5px;height:5px}
.kb-hero__ornaments i:nth-child(3){inset-inline-end:7%;inset-block-start:12%;width:6px;height:6px}
.kb-hero__ornaments i:nth-child(4){inset-inline-end:43%;inset-block-start:18%;background:#fff;opacity:.62}

/* Category medallions feel illustrated without requiring a second icon pack. */
.kb-category-rail{
	position:relative;
	padding:14px 6px 10px;
}
.kb-category-rail a{
	transition:transform .18s ease,color .18s ease;
}
.kb-category-rail a:hover{
	color:var(--kb-orange-hover);
	transform:translateY(-4px);
}
.kb-category-rail i{
	position:relative;
	border-radius:19px 19px 26px 19px;
	box-shadow:inset 0 0 0 5px rgba(255,255,255,.55),0 9px 22px rgba(7,29,54,.07);
	transform:rotate(2deg);
}
.kb-category-rail a:nth-child(even) i{transform:rotate(-2deg)}
.kb-category-rail i:after{
	content:"";
	position:absolute;
	inset-inline-end:-4px;
	inset-block-end:-4px;
	width:14px;
	height:14px;
	border:3px solid #fff;
	border-radius:50%;
	background:currentColor;
}

/* Editorial cards: print-poster rhythm, not generic gradient boxes. */
.kb-editorial{
	position:relative;
	isolation:isolate;
	border:1px solid rgba(7,29,54,.07);
	box-shadow:var(--kb-ink-shadow);
}
.kb-editorial--warm{
	background:
		radial-gradient(circle at 16% 20%,rgba(255,255,255,.85),transparent 24%),
		linear-gradient(125deg,#ffe8ad,#fff8e9 66%);
}
.kb-editorial--navy{
	background:
		radial-gradient(circle at 18% 16%,rgba(255,170,0,.22),transparent 22%),
		linear-gradient(125deg,#061a31,#113e67);
}
.kb-editorial__pattern{
	position:absolute;
	inset-inline-end:-56px;
	inset-block-start:-48px;
	width:190px;
	height:190px;
	z-index:-1;
	border:1px solid currentColor;
	border-radius:50%;
	opacity:.12;
}
.kb-editorial__pattern:before,
.kb-editorial__pattern:after{
	content:"";
	position:absolute;
	inset:24px;
	border:1px solid currentColor;
	border-radius:50%;
}
.kb-editorial__pattern:after{inset:52px}
.kb-editorial>i{
	position:relative;
	box-shadow:inset 0 0 0 8px rgba(255,255,255,.28),0 16px 30px rgba(7,29,54,.1);
}
.kb-editorial>i:after{
	content:"✦";
	position:absolute;
	inset-inline-start:-12px;
	inset-block-start:-12px;
	font-size:28px;
	color:var(--kb-orange);
}

/* Section headings gain a recognizable Ketabbin marker. */
.kb-section__head h2{
	position:relative;
	padding-inline-start:19px;
}
.kb-section__head h2:before{
	content:"";
	position:absolute;
	inset-inline-start:0;
	inset-block:20% 18%;
	width:7px;
	border-radius:9px 3px 9px 3px;
	background:linear-gradient(var(--kb-orange),#ffca5c);
	transform:rotate(8deg);
}
.kb-section__head h2:after{
	content:"";
	position:absolute;
	inset-inline-start:4px;
	inset-block-end:-5px;
	width:42px;
	height:3px;
	border-radius:999px;
	background:rgba(255,170,0,.28);
}
.kb-products--sale{
	position:relative;
	overflow:hidden;
	border:1px solid #ffe1a0;
	background:
		linear-gradient(135deg,rgba(255,255,255,.8),transparent 40%),
		var(--kb-bg-warm);
	box-shadow:0 18px 48px rgba(154,103,0,.07);
}
.kb-products--sale:after{
	content:"٪";
	position:absolute;
	inset-inline-end:-16px;
	inset-block-start:-36px;
	font-size:150px;
	font-weight:950;
	line-height:1;
	color:rgba(255,170,0,.075);
	transform:rotate(-10deg);
	pointer-events:none;
}

/* Cards become miniature display shelves while keeping the cover pristine. */
.kc-redesign .kb-product-rail .kc-product-card,
.kc-redesign .products .product{
	position:relative;
	border-color:rgba(7,29,54,.08);
	background:
		linear-gradient(#fff,#fff) padding-box,
		linear-gradient(145deg,rgba(255,170,0,.3),rgba(7,29,54,.06)) border-box;
}
.kc-redesign .kb-product-rail .kc-product-card:after,
.kc-redesign .products .product:after{
	content:"";
	position:absolute;
	inset-inline:13%;
	inset-block-end:0;
	height:3px;
	border-radius:999px 999px 0 0;
	background:linear-gradient(90deg,transparent,var(--kb-orange),transparent);
	opacity:.54;
}
.kc-redesign .kc-product-card__image,
.kc-redesign .products .product>a.woocommerce-LoopProduct-link{
	background:
		radial-gradient(ellipse at center bottom,rgba(7,29,54,.035),transparent 55%),
		linear-gradient(180deg,#fff,#fffdfa);
}
.kc-redesign .kc-product-card__image:after,
.kc-redesign .products .product>a.woocommerce-LoopProduct-link:after{
	content:"";
	position:absolute;
	inset-inline:13%;
	inset-block-end:7px;
	height:7px;
	border-radius:50%;
	background:rgba(7,29,54,.09);
	filter:blur(6px);
	z-index:0;
}
.kc-redesign .kc-product-card__image img,
.kc-redesign .products .product img{
	position:relative;
	z-index:1;
}
.kc-redesign .kc-product-card__badge,
.kc-redesign .onsale{
	box-shadow:0 7px 16px rgba(239,51,64,.23);
}
.kc-redesign .kc-product-card__actions .kc-btn--primary{
	background:linear-gradient(135deg,#ffb51f,#ffaa00);
	box-shadow:0 7px 16px rgba(255,170,0,.18);
}

/* Trust cards use small emblem tiles with a tactile bookshop feel. */
.kb-trust{
	border:1px solid var(--kb-border);
	background:
		linear-gradient(90deg,rgba(255,170,0,.045),transparent 30%,rgba(7,29,54,.025)),
		#fafbfc;
	box-shadow:0 14px 38px rgba(7,29,54,.055);
}
.kb-trust>div+div{border-inline-start:1px dashed rgba(7,29,54,.1)}
.kb-trust i{
	border-radius:14px 14px 20px 14px;
	border:1px solid #ffe3a8;
	box-shadow:0 8px 16px rgba(7,29,54,.06);
}

/* Café and newsletter are a composed editorial scene. */
.kb-cafe{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:
		radial-gradient(circle at 15% 85%,rgba(255,170,0,.3),transparent 24%),
		linear-gradient(135deg,#061a31,#0f3c65);
	box-shadow:0 20px 52px rgba(7,29,54,.17);
}
.kb-cafe:before{
	content:"";
	position:absolute;
	inset-inline-end:32px;
	inset-block-end:28px;
	width:122px;
	height:86px;
	z-index:-1;
	border-radius:7px 7px 16px 16px;
	background:
		linear-gradient(90deg,transparent 33%,#ffaa00 34% 38%,transparent 39% 62%,#ffaa00 63% 67%,transparent 68%),
		repeating-linear-gradient(0deg,#e8edf3 0 10px,#233f5a 11px 14px);
	transform:rotate(-4deg);
	box-shadow:0 12px 22px rgba(0,0,0,.2);
	opacity:.8;
}
.kb-cafe:after{
	content:"";
	position:absolute;
	inset-inline-end:77px;
	inset-block-end:114px;
	width:30px;
	height:42px;
	z-index:-1;
	border:5px solid #ffaa00;
	border-block-start:0;
	border-radius:0 0 20px 20px;
	opacity:.8;
}
.kb-newsletter{
	position:relative;
	overflow:hidden;
	background:
		linear-gradient(135deg,rgba(255,255,255,.7),transparent 48%),
		var(--kb-bg-warm);
	box-shadow:0 18px 44px rgba(154,103,0,.075);
}
.kb-newsletter:after{
	content:"✉";
	position:absolute;
	inset-inline-end:28px;
	inset-block-start:15px;
	font-size:78px;
	line-height:1;
	color:rgba(255,170,0,.12);
	transform:rotate(-8deg);
}

.kb-magazine article{
	position:relative;
	box-shadow:0 12px 32px rgba(7,29,54,.06);
	transition:transform .18s ease,box-shadow .18s ease;
}
.kb-magazine article:hover{
	transform:translateY(-4px) rotate(.15deg);
	box-shadow:0 20px 44px rgba(7,29,54,.1);
}
.kb-magazine article:after{
	content:"";
	position:absolute;
	inset-inline-end:14px;
	inset-block-start:14px;
	width:11px;
	height:11px;
	border-radius:50%;
	background:var(--kb-orange);
	box-shadow:0 0 0 5px rgba(255,255,255,.75);
}

/* Commerce pages retain clarity, but gain the same visual signature. */
.kc-redesign.woocommerce-page .kc-main{
	background:
		linear-gradient(180deg,rgba(255,249,238,.7),transparent 260px);
}
.kc-redesign div.product .summary,
.kc-redesign div.product div.images,
.kc-redesign .woocommerce-tabs,
.kc-redesign .related.products,
.kc-redesign .woocommerce-cart-form,
.kc-redesign .cart_totals,
.kc-redesign form.checkout .col2-set,
.kc-redesign #order_review{
	border-color:rgba(7,29,54,.085)!important;
	box-shadow:0 16px 44px rgba(7,29,54,.07)!important;
}
.kc-redesign div.product div.images{
	background:
		radial-gradient(ellipse at center bottom,rgba(255,170,0,.07),transparent 52%),
		#fff;
}
.kc-redesign .checkout-button,
.kc-redesign #place_order{
	background:linear-gradient(135deg,#ffb51f,#ffaa00)!important;
	box-shadow:0 11px 25px rgba(255,170,0,.22)!important;
}

.kc-redesign .kc-footer{
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 12% 0,rgba(255,170,0,.13),transparent 18%),
		linear-gradient(145deg,#06182c,#071d36 55%,#0a2948);
}
.kc-redesign .kc-footer:before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:repeating-linear-gradient(90deg,transparent 0 74px,rgba(255,255,255,.018) 75px 76px);
}
.kc-redesign .kc-footer__inner{position:relative;z-index:1}

@media (max-width:1023px){
	.kb-hero:after{inset-inline-end:4%;width:40%}
	.kb-trust>div:nth-child(3){border-inline-start:0}
}

@media (max-width:767px){
	body.kc-redesign{
		background-size:34px 34px,45px 45px;
	}
	.kb-hero{
		box-shadow:0 16px 38px rgba(7,29,54,.16);
	}
	.kb-hero:after{
		inset-inline:9%;
		inset-block:47% 7%;
		width:auto;
		height:auto;
		border-radius:120px 120px 14px 14px;
	}
	.kb-library-glow{
		inset-inline:10%;
		inset-block-end:8px;
		width:auto;
	}
	.kb-hero__ornaments i:nth-child(3),
	.kb-hero__ornaments i:nth-child(4){display:none}
	.kb-editorial{
		box-shadow:0 12px 28px rgba(7,29,54,.08);
	}
	.kb-products--sale:after{font-size:110px}
	.kb-trust>div+div{border-inline-start:0}
	.kb-trust>div:nth-child(even){border-inline-start:1px dashed rgba(7,29,54,.1)}
	.kb-cafe:before{width:88px;height:64px;opacity:.55}
	.kb-cafe:after{display:none}
}

@media (max-width:430px){
	.kb-category-rail i{
		border-radius:17px 17px 23px 17px;
	}
	.kb-trust>div:nth-child(even){border-inline-start:0}
	.kb-newsletter:after{font-size:58px;opacity:.7}
}

@media (prefers-reduced-motion:reduce){
	.kb-button--primary:after{display:none}
}
