/*
Theme Name: Joram Schito 2026
Theme URI: https://joramschito.ch
Description: Minimal, fresh child theme of Twenty Twenty-Four for joramschito.ch — nature palette, one-page landing.
Author: Joram Schito
Template: twentytwentyfour
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.7
License: GPL-2.0-or-later
Text Domain: jschito2026
*/

/* ---------- typography: sans-serif everywhere ---------- */
h1, h2, h3, h4, h5, h6,
.wp-block-site-title, .wp-block-site-title a,
.wp-block-post-title {
	font-family: var(--wp--preset--font-family--inter), system-ui, -apple-system, sans-serif !important;
}

/* ---------- one-pager behavior ---------- */
html { scroll-behavior: smooth; }
:target { scroll-margin-top: 90px; }

/* ---------- section kickers (small uppercase labels) ---------- */
.kicker {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.78rem !important;
	font-weight: 700;
	color: var(--wp--preset--color--accent-4);
	margin-bottom: 0.2rem !important;
}
.section-dark .kicker { color: #e8c79a; }

/* ---------- images ---------- */
.entry-content img { max-width: 100%; height: auto; }
.wp-block-post-content .wp-block-image img {
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(28, 33, 27, 0.10);
}

/* ---------- photo strip: swipeable carousel (arrows added by strip.js) ---------- */
.strip-wrap { position: relative; }
.photo-strip {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 0.25rem 0.25rem 1rem;
	scrollbar-width: none;
	cursor: grab;
}
.photo-strip::-webkit-scrollbar { display: none; }
.photo-strip.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.photo-strip figure {
	flex: 0 0 min(80%, 440px);
	margin: 0;
	scroll-snap-align: center;
}
.photo-strip img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(0,0,0,.25);
	display: block;
	pointer-events: none; /* let drags hit the strip, not the img */
}
.photo-strip figcaption {
	font-size: 0.85rem;
	margin-top: 0.5rem;
	opacity: 0.85;
}
.strip-btn {
	position: absolute;
	top: 138px; /* vertical middle of the 300px images */
	transform: translateY(-50%);
	z-index: 2;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(244, 239, 230, 0.92);
	color: #1c211b;
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0,0,0,.3);
	transition: background .15s ease, opacity .2s ease;
	padding: 0;
}
.strip-btn:hover { background: #ffffff; }
.strip-btn-prev { left: -6px; }
.strip-btn-next { right: -6px; }
.strip-btn.is-hidden { opacity: 0; pointer-events: none; }
.section-dark, .section-dark h2, .section-dark p { color: #f4efe6; }
.section-dark a { color: #e8c79a; }

/* ---------- legacy content safety (drafted pages, if ever republished) ---------- */
.entry-content table { border-collapse: collapse; width: 100% !important; }
.entry-content td, .entry-content th { padding: .35rem .6rem; vertical-align: top; }

/* ---------- header logo ---------- */
.site-logo-link { display: inline-flex; align-items: center; }
.site-logo-link img {
	width: 48px;
	height: 48px;
	border-radius: 9px;
	display: block;
	box-shadow: 0 2px 8px rgba(28,33,27,.12);
	transition: transform .15s ease;
}
.site-logo-link:hover img { transform: scale(1.06); }
@media (max-width: 600px) {
	.site-logo-link img { width: 40px; height: 40px; }
}

/* ---------- footer ---------- */
.site-footer-min { border-top: 1px solid rgba(28,33,27,.08); }
.site-footer-min p { margin: 0.25rem 0; }
.site-footer-min a { text-decoration: none; }
.site-footer-min a:hover { text-decoration: underline; }
