/* ============================================
   OZ BOOKS — SUBPAGE STYLES
   Loaded everywhere except the homepage.
   ============================================ */

/* CATEGORY LANDING */
.cat-hero {
	position: relative; padding: 100px 24px 56px;
	background-color: var(--cream-warm);
	overflow: hidden; text-align: center;
}
.cat-hero::before {
	content: ''; position: absolute; inset: 0;
	background-image: var(--cat-banner);
	background-size: cover; background-position: center;
	opacity: 0.18; filter: saturate(0.85); z-index: 0;
}
.cat-hero::after {
	content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 7px;
	background: repeating-linear-gradient(-60deg,
		var(--airmail-blue) 0 8px, var(--cream-warm) 8px 11px,
		var(--airmail-red) 11px 19px, var(--cream-warm) 19px 22px);
	z-index: 2;
}
.cat-hero-inner { position: relative; max-width: 760px; margin: 0 auto; z-index: 1; }
.cat-hero .label { font-family: var(--font-hand); font-size: 1.5rem; color: var(--warm-gold); display: block; margin-bottom: 4px; }
.cat-hero h1 { font-family: var(--font-serif); font-size: 2.8rem; font-weight: 800; color: var(--ink); margin-bottom: 18px; }
.cat-intro { font-size: 1.05rem; line-height: 1.75; color: var(--charcoal); max-width: 620px; margin: 0 auto; }
.cat-intro p { margin-bottom: 0.8em; }
.cat-intro p:last-child { margin-bottom: 0; }

.cat-body { background: var(--cream); padding: 60px 0 80px; }
.cat-grid {
	max-width: var(--max-w); margin: 0 auto; padding: 0 24px;
	display: grid; grid-template-columns: 1fr 280px;
	gap: 48px; align-items: start;
}
.cat-main { min-width: 0; }
.cat-main .post-cards { grid-template-columns: repeat(2, 1fr); }

.cat-featured {
	margin-bottom: 40px; padding: 24px;
	background: var(--paper); border-radius: 2px;
	box-shadow: 3px 4px 16px var(--shadow); position: relative;
}
.cat-featured::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
	background: repeating-linear-gradient(-60deg,
		var(--airmail-blue) 0 6px, var(--paper) 6px 8px,
		var(--airmail-red) 8px 14px, var(--paper) 14px 16px);
}
.cat-featured > .label { display: block; font-family: var(--font-hand); color: var(--warm-gold); font-size: 1.3rem; margin: 6px 0 14px; }
.cat-featured-card { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: start; }
.cat-featured-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 2px; box-shadow: 2px 3px 12px var(--shadow); transform: rotate(-1deg); }
.cat-featured-body h2 { font-family: var(--font-serif); font-size: 1.5rem; color: var(--ink); margin: 6px 0 8px; line-height: 1.3; }
.cat-featured-body h2 a { color: inherit; }
.cat-featured-body .excerpt { font-size: 0.95rem; line-height: 1.6; color: var(--charcoal); margin-bottom: 10px; }
.cat-featured-body .read-link { font-family: var(--font-hand); color: var(--warm-gold); font-size: 1.15rem; }

.cat-empty { text-align: center; font-family: var(--font-hand); font-size: 1.5rem; color: var(--ink-faded); padding: 60px 0; }

.cat-sidebar { display: flex; flex-direction: column; gap: 28px; }
.sidebar-block {
	background: var(--paper); padding: 22px 22px 24px;
	border-radius: 2px; box-shadow: 2px 3px 12px var(--shadow);
}
.sidebar-block h3 { font-family: var(--font-hand); font-size: 1.45rem; color: var(--warm-gold); margin-bottom: 12px; }
.cat-list, .recent-list { list-style: none; padding: 0; margin: 0; }
.cat-list li { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px dotted rgba(0,0,0,0.08); }
.cat-list li:last-child { border-bottom: 0; }
.cat-list li.is-current a { color: var(--warm-gold); font-weight: 600; }
.cat-list li a { color: var(--ink); font-size: 0.95rem; }
.cat-list li .count { font-family: var(--font-type); font-size: 0.62rem; color: var(--kraft-dark); background: var(--cream-warm); padding: 2px 6px; border-radius: 2px; }
.recent-list li { padding: 8px 0; border-bottom: 1px dotted rgba(0,0,0,0.08); }
.recent-list li:last-child { border-bottom: 0; }
.recent-list li a { display: block; font-family: var(--font-serif); font-size: 0.95rem; color: var(--ink); line-height: 1.35; margin-bottom: 2px; }
.recent-list li time { font-family: var(--font-type); font-size: 0.62rem; color: var(--charcoal-light); letter-spacing: 0.5px; }

.sidebar-cta { background: var(--ink); color: white; }
.sidebar-cta h3 { color: var(--gold-light); }
.sidebar-cta p { font-size: 0.88rem; opacity: 0.82; line-height: 1.6; margin-bottom: 14px; }

.sidebar-participate { background: var(--cream-warm); border: 1.5px dashed var(--warm-gold); }
.sidebar-participate h3 { color: var(--ink); }
.sidebar-participate ol { margin: 0; padding-left: 20px; line-height: 1.65; font-size: 0.92rem; color: var(--charcoal); }
.sidebar-participate ol li { margin-bottom: 6px; }
.sidebar-participate .nudge { margin-top: 14px; font-family: var(--font-hand); font-size: 1.15rem; color: var(--warm-gold); text-align: center; }

/* IN OTHER WORDS — bilingual */
.bilingual-hero { padding: 100px 24px 50px; background: var(--cream-warm); text-align: center; }
.bilingual-hero h1 { font-family: var(--font-serif); font-size: 2.4rem; color: var(--ink); margin-bottom: 8px; }
.bilingual-hero .es-title { font-family: var(--font-hand); font-size: 1.6rem; color: var(--warm-gold); }
.bilingual-body { max-width: 1080px; margin: 0 auto; padding: 60px 24px 80px; }
.bilingual-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.bilingual-col {
	background: var(--paper); padding: 36px 32px;
	border-radius: 2px; box-shadow: 3px 4px 16px var(--shadow);
	font-size: 1rem; line-height: 1.85; color: var(--charcoal);
	background-image: repeating-linear-gradient(
		var(--paper) 0px, var(--paper) 29px,
		var(--notebook-line) 29px, var(--notebook-line) 30px);
	background-size: 100% 30px;
	background-position: 0 18px;
}
.bilingual-col h2 { font-family: var(--font-hand); font-size: 1.6rem; color: var(--warm-gold); margin-bottom: 18px; display: flex; align-items: baseline; gap: 8px; }
.bilingual-col h2 .lang { font-family: var(--font-type); font-size: 0.6rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--kraft-dark); background: var(--cream-warm); padding: 3px 8px; border-radius: 2px; }
.bilingual-col p { margin-bottom: 1em; }

.bilingual-jorge { max-width: 720px; margin: 0 auto 50px; font-size: 1.05rem; line-height: 1.8; color: var(--charcoal); }
.bilingual-jorge p { margin-bottom: 1em; }
.bilingual-jorge .pull { font-family: var(--font-hand); font-size: 1.4rem; color: var(--ink); border-left: 3px solid var(--warm-gold); padding-left: 18px; margin: 1.4em 0; }

.bilingual-list { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.bilingual-card { background: var(--paper); padding: 22px; border-radius: 2px; box-shadow: 2px 3px 14px var(--shadow); transition: transform 0.4s, box-shadow 0.4s; }
.bilingual-card:hover { transform: translateY(-4px); box-shadow: 3px 6px 22px var(--shadow-deep); }
.bilingual-card h3 { font-family: var(--font-serif); font-size: 1.25rem; color: var(--ink); margin-bottom: 4px; }
.bilingual-card .es-subtitle { font-family: var(--font-hand); font-size: 1.15rem; color: var(--warm-gold); margin-bottom: 12px; }
.bilingual-card .excerpt { font-size: 0.92rem; line-height: 1.6; color: var(--charcoal); margin-bottom: 10px; }

/* BOOK LANDING */
.book-hero { padding: 110px 24px 70px; background: var(--ink); color: white; position: relative; overflow: hidden; }
.book-hero::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
	background: repeating-linear-gradient(-60deg,
		rgba(91,141,184,0.6) 0 8px, var(--ink) 8px 11px,
		rgba(192,57,43,0.6) 11px 19px, var(--ink) 19px 22px);
}
.book-hero-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 320px 1fr; gap: 50px; align-items: center; }
.book-hero-cover img { width: 100%; box-shadow: 6px 8px 30px rgba(0,0,0,0.45); transform: rotate(-2deg); transition: transform 0.5s; }
.book-hero-cover img:hover { transform: rotate(-1deg) scale(1.02); }
.book-hero-text .label { font-family: var(--font-hand); color: var(--gold-light); font-size: 1.5rem; }
.book-hero-text h1 { font-family: var(--font-serif); font-size: 3rem; font-weight: 800; margin: 6px 0 10px; line-height: 1.1; }
.book-hero-text .subtitle { font-family: var(--font-hand); font-size: 1.5rem; color: var(--gold-light); margin-bottom: 20px; }
.book-hero-text .tagline { font-family: var(--font-serif); font-style: italic; font-size: 1.1rem; opacity: 0.85; margin-bottom: 24px; }
.book-meta { display: flex; gap: 30px; flex-wrap: wrap; font-family: var(--font-type); font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; opacity: 0.7; margin-bottom: 28px; }
.book-meta strong { color: var(--gold-light); display: block; font-weight: 400; margin-bottom: 2px; }

.book-section { padding: 70px 24px; background: var(--cream); }
.book-section.alt  { background: var(--cream-warm); }
.book-section.dark { background: var(--ink); color: white; }
.book-section-inner { max-width: 920px; margin: 0 auto; }
.book-synopsis { font-size: 1.1rem; line-height: 1.85; color: var(--charcoal); }
.book-synopsis p { margin-bottom: 1em; }

.review-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 24px; }
.review-tile { background: var(--paper); padding: 26px; border-radius: 2px; box-shadow: 3px 4px 16px var(--shadow); position: relative; }
.review-tile::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
	background: repeating-linear-gradient(-60deg,
		var(--airmail-blue) 0 6px, var(--paper) 6px 8px,
		var(--airmail-red) 8px 14px, var(--paper) 14px 16px);
}
.review-tile .stars { color: var(--warm-gold); letter-spacing: 2px; font-size: 1.05rem; display: block; margin: 6px 0 6px; }
.review-tile h3 { font-family: var(--font-serif); font-size: 1.2rem; color: var(--ink); margin-bottom: 10px; }
.review-tile blockquote { font-family: var(--font-body); font-size: 0.98rem; line-height: 1.65; color: var(--charcoal); margin-bottom: 10px; }
.review-tile cite { font-family: var(--font-type); font-style: normal; font-size: 0.7rem; color: var(--kraft-dark); }

/* BOOKS ARCHIVE */
.books-grid { max-width: var(--max-w); margin: 60px auto 80px; padding: 0 24px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.book-tile { background: var(--paper); padding: 30px; border-radius: 2px; box-shadow: 3px 4px 18px var(--shadow); display: grid; grid-template-columns: 180px 1fr; gap: 26px; align-items: center; transition: transform 0.4s; }
.book-tile:hover { transform: translateY(-4px); }
.book-tile img { width: 100%; box-shadow: 4px 5px 18px var(--shadow-deep); transform: rotate(-2deg); }
.book-tile h2 { font-family: var(--font-serif); font-size: 1.6rem; color: var(--ink); margin-bottom: 6px; }
.book-tile .subtitle { font-family: var(--font-hand); color: var(--warm-gold); font-size: 1.1rem; margin-bottom: 10px; }
.book-tile .blurb { font-size: 0.95rem; line-height: 1.65; color: var(--charcoal); margin-bottom: 14px; }
.book-tile.coming-soon img { filter: grayscale(0.4) opacity(0.85); }
.book-tile .coming-badge { display: inline-block; background: var(--stamp-red); color: white; font-family: var(--font-type); font-size: 0.6rem; letter-spacing: 1.5px; text-transform: uppercase; padding: 4px 10px; margin-bottom: 8px; }

/* Placeholder when no cover yet — postcard-shaped, airmail border. */
.book-tile-placeholder {
	width: 100%;
	aspect-ratio: 2 / 3;
	background: var(--paper-aged);
	border-radius: 2px;
	box-shadow: 4px 5px 18px var(--shadow-deep);
	transform: rotate(-2deg);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	position: relative;
	overflow: hidden;
	background-image: repeating-linear-gradient(
		var(--paper-aged) 0px, var(--paper-aged) 27px,
		var(--notebook-line) 27px, var(--notebook-line) 28px);
	background-size: 100% 28px;
	background-position: 0 22px;
}
.book-tile-placeholder::before {
	content: '';
	position: absolute; top: 0; left: 0; right: 0; height: 6px;
	background: repeating-linear-gradient(-60deg,
		var(--airmail-blue) 0 8px, var(--paper-aged) 8px 11px,
		var(--airmail-red) 11px 19px, var(--paper-aged) 19px 22px);
}
.book-tile-placeholder::after {
	content: '';
	position: absolute; bottom: 0; left: 0; right: 0; height: 6px;
	background: repeating-linear-gradient(-60deg,
		var(--airmail-blue) 0 8px, var(--paper-aged) 8px 11px,
		var(--airmail-red) 11px 19px, var(--paper-aged) 19px 22px);
}
.book-tile-placeholder .placeholder-stamp {
	display: inline-block;
	background: var(--stamp-red);
	color: white;
	font-family: var(--font-type);
	font-size: 0.7rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 6px 14px;
	border: 2px solid white;
	outline: 1px solid var(--stamp-red);
	transform: rotate(4deg);
}
.book-tile-placeholder .placeholder-note {
	font-family: var(--font-hand);
	font-size: 1.25rem;
	color: var(--ink-faded);
	text-align: center;
	line-height: 1.3;
	transform: rotate(-1deg);
}

/* PUBLISHED WORKS table */
.pub-works { max-width: 920px; margin: 60px auto 80px; padding: 0 24px; }
.pub-works table { width: 100%; border-collapse: collapse; background: var(--paper); box-shadow: 3px 4px 16px var(--shadow); }
.pub-works th, .pub-works td { padding: 16px 20px; border-bottom: 1px dotted rgba(0,0,0,0.08); text-align: left; vertical-align: top; }
.pub-works th { font-family: var(--font-type); font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink); background: var(--cream-warm); border-bottom: 2px solid var(--ink); }
.pub-works td.title { font-family: var(--font-serif); font-size: 1.05rem; color: var(--ink); }
.pub-works td.publication { font-style: italic; color: var(--charcoal); }
.pub-works td.issue { font-family: var(--font-type); font-size: 0.78rem; color: var(--kraft-dark); }

/* PRESS / CONTACT */
.press-block { background: var(--paper); padding: 28px 30px; border-radius: 2px; box-shadow: 2px 3px 14px var(--shadow); margin-bottom: 28px; position: relative; }
.press-block h2 { font-family: var(--font-serif); font-size: 1.5rem; color: var(--ink); margin-bottom: 14px; }
.press-block .copy-btn {
	position: absolute; top: 24px; right: 24px;
	background: var(--ink); color: white; border: 0;
	padding: 6px 12px; font-family: var(--font-type);
	font-size: 0.65rem; letter-spacing: 1.2px; text-transform: uppercase;
	cursor: pointer; border-radius: 2px; transition: all 0.2s;
}
.press-block .copy-btn:hover { background: var(--warm-gold); }
.press-block .copy-btn.copied { background: var(--stamp-red); }

.contact-form-wrap { background: var(--paper); padding: 40px; border-radius: 2px; box-shadow: 3px 4px 18px var(--shadow); max-width: 640px; margin: 0 auto; }
.contact-form-wrap label { display: block; font-family: var(--font-type); font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink); margin: 14px 0 6px; }
.contact-form-wrap input[type=text],
.contact-form-wrap input[type=email],
.contact-form-wrap textarea,
.contact-form-wrap select {
	width: 100%; padding: 11px 14px;
	border: 1.5px solid var(--kraft);
	border-radius: 2px; background: white;
	font-family: var(--font-body); font-size: 1rem;
	transition: border-color 0.2s;
}
.contact-form-wrap input:focus,
.contact-form-wrap textarea:focus,
.contact-form-wrap select:focus { outline: none; border-color: var(--warm-gold); }
.contact-form-wrap textarea { resize: vertical; min-height: 140px; }
.contact-form-wrap button[type=submit] { margin-top: 22px; }

/* ============================================
   CONTACT FORM 7 — drop-in styling
   Targets CF7's actual markup so the form matches the
   theme without any per-field shortcode tweaks.
   Tested against CF7 v5.x.
   ============================================ */
.contact-form-wrap .wpcf7-form { margin: 0; }

/* CF7 wraps each label in a <p>; tighten the spacing. */
.contact-form-wrap .wpcf7-form p {
	margin: 0 0 8px;
	font-family: var(--font-type);
	font-size: 0.72rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ink);
	line-height: 1.4;
}
.contact-form-wrap .wpcf7-form p:not(:first-child) { margin-top: 14px; }

/* The actual fields live inside a span.wpcf7-form-control-wrap.
   Make those full-width and reset their inline display. */
.contact-form-wrap .wpcf7-form-control-wrap {
	display: block;
	margin-top: 6px;
}

/* Inputs / textareas / selects rendered by CF7. */
.contact-form-wrap .wpcf7-form input[type=text],
.contact-form-wrap .wpcf7-form input[type=email],
.contact-form-wrap .wpcf7-form input[type=tel],
.contact-form-wrap .wpcf7-form input[type=url],
.contact-form-wrap .wpcf7-form input[type=number],
.contact-form-wrap .wpcf7-form input[type=date],
.contact-form-wrap .wpcf7-form textarea,
.contact-form-wrap .wpcf7-form select {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--kraft);
	border-radius: 2px;
	background: white;
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--charcoal);
	transition: border-color 0.2s, box-shadow 0.2s;
	text-transform: none;
	letter-spacing: 0;
}
.contact-form-wrap .wpcf7-form input:focus,
.contact-form-wrap .wpcf7-form textarea:focus,
.contact-form-wrap .wpcf7-form select:focus {
	outline: none;
	border-color: var(--warm-gold);
	box-shadow: 0 0 0 3px var(--gold-glow);
}
.contact-form-wrap .wpcf7-form textarea { resize: vertical; min-height: 140px; line-height: 1.6; }

/* Submit button — CF7 uses <input type=submit>, not <button>. */
.contact-form-wrap .wpcf7-form input[type=submit],
.contact-form-wrap .wpcf7-form .wpcf7-submit {
	display: inline-block;
	padding: 13px 28px;
	margin-top: 22px;
	font-family: var(--font-type);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 1.5px;
	border-radius: 2px;
	cursor: pointer;
	border: none;
	text-transform: uppercase;
	background: var(--stamp-red);
	color: white;
	transition: all 0.3s ease;
}
.contact-form-wrap .wpcf7-form input[type=submit]:hover,
.contact-form-wrap .wpcf7-form .wpcf7-submit:hover {
	background: var(--stamp-red-dark);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px var(--shadow);
}

/* Acceptance checkbox + radio + checkbox lists. */
.contact-form-wrap .wpcf7-acceptance,
.contact-form-wrap .wpcf7-list-item {
	display: block;
	margin: 8px 0 0;
	font-family: var(--font-body);
	font-size: 0.92rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--charcoal);
}
.contact-form-wrap .wpcf7-list-item-label { margin-left: 6px; }

/* The little red "this field is required" tip below an invalid field. */
.contact-form-wrap .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-family: var(--font-body);
	font-size: 0.85rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--stamp-red);
}
.contact-form-wrap .wpcf7-form input.wpcf7-not-valid,
.contact-form-wrap .wpcf7-form textarea.wpcf7-not-valid,
.contact-form-wrap .wpcf7-form select.wpcf7-not-valid {
	border-color: var(--stamp-red);
	background: rgba(184, 66, 51, 0.04);
}

/* The big block message at the bottom: success / failure / spam / etc. */
.contact-form-wrap .wpcf7-response-output {
	margin: 24px 0 0 !important;
	padding: 14px 18px !important;
	border-radius: 2px;
	border: 1.5px solid var(--kraft) !important;
	background: var(--paper);
	font-family: var(--font-body);
	font-size: 0.95rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--charcoal);
}
.contact-form-wrap .wpcf7 form.sent .wpcf7-response-output {
	border-color: #4a8a3a !important;
	background: rgba(74, 138, 58, 0.06);
	color: #2d5921;
}
.contact-form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output,
.contact-form-wrap .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--warm-gold) !important;
	background: var(--gold-glow);
	color: var(--charcoal);
}
.contact-form-wrap .wpcf7 form.failed .wpcf7-response-output,
.contact-form-wrap .wpcf7 form.aborted .wpcf7-response-output,
.contact-form-wrap .wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--stamp-red) !important;
	background: rgba(184, 66, 51, 0.06);
	color: var(--stamp-red-dark);
}

/* The CF7 spinner animation — tone it down to fit the palette. */
.contact-form-wrap .wpcf7-spinner {
	background-color: var(--warm-gold);
	margin: 0 0 0 10px;
	vertical-align: middle;
}

/* COMMENTS */
.comments-area { max-width: 720px; margin: 40px auto 80px; padding: 0 24px; }
.comments-area .comments-title { font-family: var(--font-serif); font-size: 1.6rem; color: var(--ink); margin-bottom: 24px; }
.comment-list { list-style: none; padding: 0; }
.comment-list .comment { background: var(--paper); padding: 22px 26px; border-radius: 2px; box-shadow: 2px 3px 12px var(--shadow); margin-bottom: 20px; }
.comment-author { font-family: var(--font-serif); color: var(--ink); font-weight: 600; }
.comment-meta time { font-family: var(--font-type); font-size: 0.7rem; color: var(--charcoal-light); letter-spacing: 1px; text-transform: uppercase; }
.comment-content { font-size: 0.98rem; line-height: 1.7; color: var(--charcoal); margin-top: 8px; }
.comment-respond .comment-form-comment textarea { width: 100%; padding: 12px; border: 1.5px solid var(--kraft); border-radius: 2px; font-family: var(--font-body); font-size: 1rem; }
.comment-respond label { font-family: var(--font-type); font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink); }
.comment-respond input[type=text],
.comment-respond input[type=email],
.comment-respond input[type=url] { width: 100%; padding: 10px 12px; border: 1.5px solid var(--kraft); border-radius: 2px; font-family: var(--font-body); }
.comment-form-cookies-consent { font-size: 0.85rem; color: var(--charcoal-light); }

/* RESPONSIVE */
@media (max-width: 960px) {
	.cat-grid { grid-template-columns: 1fr; }
	.cat-main .post-cards { grid-template-columns: 1fr; max-width: 380px; margin: 0 auto; }
	.post-cards { grid-template-columns: 1fr; max-width: 380px; margin: 0 auto; }
	.cat-featured-card { grid-template-columns: 1fr; }
	.cat-featured-photo img { aspect-ratio: 16/9; transform: none; }
	.bilingual-cols { grid-template-columns: 1fr; }
	.bilingual-list { grid-template-columns: 1fr; max-width: 480px; }
	.book-hero-inner { grid-template-columns: 1fr; gap: 30px; text-align: center; }
	.book-hero-cover img { max-width: 240px; margin: 0 auto; }
	.review-grid { grid-template-columns: 1fr; }
	.books-grid { grid-template-columns: 1fr; }
	.book-tile { grid-template-columns: 1fr; text-align: center; }
	.book-tile img { max-width: 200px; margin: 0 auto; }
}
@media (max-width: 600px) {
	.cat-hero h1 { font-size: 2rem; }
	.book-hero-text h1 { font-size: 2.2rem; }
	.contact-form-wrap { padding: 24px; }
	.pub-works table { font-size: 0.88rem; }
	.pub-works th, .pub-works td { padding: 12px 14px; }
}
