/*
Turkish Maps & Prints: theme styles
Loaded after bootstrap.min.css and zpBootstrap.css, so everything here wins.
Change the colors in one place: the custom properties under :root.
*/

:root {
	--tm-paper: #F5F0E6;        /* page background */
	--tm-paper-light: #FBF8F2;  /* header, light bands */
	--tm-rule: #D8CDB8;         /* hairlines */
	--tm-rule-strong: #CBBDA3;
	--tm-ink: #1D2733;          /* text, dark band */
	--tm-ink-soft: #4A4339;     /* body copy */
	--tm-muted: #5A5248;        /* captions */
	--tm-accent: #7A2E22;       /* Ottoman red: buttons, links */
	--tm-accent-dark: #5E2219;
	--tm-gold: #E9D9B8;         /* accents on the dark band */
	--tm-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--tm-sans: "Figtree", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------- Base ---------- */
html { min-height: 100%; }
body {
	margin-bottom: 0;
	background: var(--tm-paper);
	color: var(--tm-ink);
	font-family: var(--tm-sans);
	font-size: 16px;
	line-height: 1.6;
}
a { color: var(--tm-accent); }
a:hover, a:focus { color: var(--tm-accent-dark); }
h1, h2, h3, h4, h5 {
	font-family: var(--tm-serif);
	font-weight: 500;
	color: var(--tm-ink);
}
@media (min-width: 768px) {
	.container { width: 750px; }
}
@media (min-width: 992px) {
	.container { width: 970px; }
}
@media (min-width: 1230px) {
	.container { width: 1200px; }
}
#main { background: transparent; padding-bottom: 48px; }

/* ---------- Header / navigation ---------- */
#menu.navbar {
	background: var(--tm-paper-light);
	border: 0;
	border-bottom: 1px solid var(--tm-rule);
	border-radius: 0;
	font-family: var(--tm-sans);
}
#menu .navbar-brand {
	font-family: var(--tm-serif);
	font-weight: 600;
	font-size: 24px;
	color: var(--tm-ink);
	height: auto;
	padding: 14px 15px;
	line-height: 1.2;
}
#menu .navbar-brand:hover { color: var(--tm-accent); }
#menu .navbar-nav > li > a {
	color: var(--tm-ink);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
}
#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li > a:focus { color: var(--tm-accent); background: transparent; }
#menu .navbar-nav > .active > a,
#menu .navbar-nav > .active > a:hover,
#menu .navbar-nav > .active > a:focus {
	color: var(--tm-accent);
	background: transparent;
	box-shadow: inset 0 -2px 0 var(--tm-accent);
}
#menu .navbar-nav > .open > a,
#menu .navbar-nav > .open > a:hover,
#menu .navbar-nav > .open > a:focus { background: transparent; color: var(--tm-accent); }
#menu .navbar-toggle { border-color: var(--tm-rule-strong); margin-top: 12px; }
#menu .navbar-toggle .icon-bar { background: var(--tm-ink); }
#menu .navbar-toggle:hover, #menu .navbar-toggle:focus { background: var(--tm-paper); }
#menu .navbar-collapse { border-color: var(--tm-rule); }
#menu .dropdown-menu {
	background: var(--tm-paper-light);
	border-color: var(--tm-rule);
	border-radius: 0;
	box-shadow: 0 6px 18px rgba(29, 39, 51, .08);
}
#menu .dropdown-menu > li > a { color: var(--tm-ink); }
#menu .dropdown-menu > li > a:hover { background: var(--tm-paper); color: var(--tm-accent); }
#menu .logonlink-single:before, #menu .glyphicon { color: inherit; }

/* Desktop: centered title above a centered menu */
@media (min-width: 768px) {
	#menu .navbar-header { float: none; text-align: center; }
	#menu .navbar-brand {
		float: none;
		display: inline-block;
		font-size: 36px;
		padding: 30px 15px 18px;
		margin-left: 0 !important;
	}
	#menu .navbar-collapse {
		text-align: center;
		border-top: 1px solid var(--tm-rule);
	}
	#menu .navbar-nav.pull-right {
		float: none !important;
		display: inline-block;
		vertical-align: top;
	}
	#menu .navbar-nav > li > a { padding: 16px 18px; }
	#menu .dropdown-menu { text-align: left; }
	#look, #admin-single { width: auto; }
}

/* ---------- Page titles and breadcrumbs (inner pages) ---------- */
.page-header {
	border-bottom: 0;
	margin: 36px 0 8px;
	padding-bottom: 0;
}
.header h3, .page-header h3 {
	font-size: 46px;
	line-height: 1.05;
	margin: 0;
}
.breadcrumb {
	background: transparent;
	padding: 8px 0 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--tm-rule);
	border-radius: 0;
}
.breadcrumb h4 {
	font-family: var(--tm-sans);
	font-size: 14px;
	font-weight: 400;
	color: var(--tm-muted);
	letter-spacing: .02em;
}
.breadcrumb a { color: var(--tm-muted); }
.breadcrumb a:hover { color: var(--tm-accent); }
.page-header.margin-bottom-reset, .page-header.top-margin-reset {
	margin: 0 0 24px;
	max-width: 760px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--tm-ink-soft);
}

/* ---------- Pagination ---------- */
.pagination > li > a, .pagination > li > span {
	color: var(--tm-ink);
	background: var(--tm-paper-light);
	border-color: var(--tm-rule-strong);
	min-width: 40px;
	text-align: center;
}
.pagination > li > a:hover { background: var(--tm-paper); color: var(--tm-accent); }
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover {
	background: var(--tm-ink);
	border-color: var(--tm-ink);
	color: var(--tm-paper);
}
.pagination > li:first-child > a, .pagination > li:first-child > span,
.pagination > li:last-child > a, .pagination > li:last-child > span { border-radius: 0; }

/* ---------- Cards (albums on gallery, album and home pages) ---------- */
.tm-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 36px 28px;
	margin: 8px 0 40px;
}
.tm-card-grid-4 { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.tm-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--tm-ink);
	text-decoration: none;
}
.tm-card:hover, .tm-card:focus { color: var(--tm-ink); text-decoration: none; }
.tm-card-img {
	display: block;
	overflow: hidden;
	background: #DCD1BD;
	border: 1px solid var(--tm-rule-strong);
}
/* No focus box on mouse click; a clear ring for keyboard users only */
.tm-card:focus, .tm-chips a:focus, .tm-btn:focus { outline: none; }
.tm-card:focus-visible, .tm-chips a:focus-visible, .tm-btn:focus-visible {
	outline: 2px solid var(--tm-accent);
	outline-offset: 4px;
}
/* Zenphoto wraps thumbnails in span.flag_thumbnail (inline-block), which leaves a gap below */
.tm-card-img .flag_thumbnail,
.image-thumb .flag_thumbnail { display: block; line-height: 0; }
.image-thumb .thumb:focus { outline: none; }
.image-thumb .thumb:focus-visible { outline: 2px solid var(--tm-accent); outline-offset: 3px; }
.tm-card-img img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .5s ease, filter .5s ease;
}
.tm-card:hover .tm-card-img img { transform: scale(1.03); filter: saturate(1.1); }
.tm-card-meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
}
.tm-card-title {
	font-family: var(--tm-serif);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.2;
}
.tm-card:hover .tm-card-title { color: var(--tm-accent); }
.tm-card-count {
	font-size: 14px;
	color: var(--tm-muted);
	white-space: nowrap;
}
/* old float-clearing rule from zpBootstrap no longer needed */
.album-thumb:nth-of-type(3n+1) { clear: none; }

/* ---------- Image thumbnails inside albums ---------- */
.image-thumb { margin-bottom: 28px; }
.image-thumb .thumb img {
	border: 1px solid var(--tm-rule-strong);
	background: #DCD1BD;
	transition: opacity .3s ease;
}
.image-thumb .thumb:hover img { opacity: .88; }
.image-thumb h5 {
	font-family: var(--tm-serif);
	font-size: 18px;
	margin: 8px 0 0;
	line-height: 1.25;
}
.image-thumb h5 a { color: var(--tm-ink); }
.image-thumb h5 a:hover { color: var(--tm-accent); }

/* ---------- Buttons, forms, panels ---------- */
.btn { border-radius: 0; }
.btn-primary, .btn-primary:focus {
	background: var(--tm-accent);
	border-color: var(--tm-accent);
}
.btn-primary:hover, .btn-primary:active { background: var(--tm-accent-dark); border-color: var(--tm-accent-dark); }
.btn-default { background: var(--tm-paper-light); border-color: var(--tm-rule-strong); }
.form-control { border-radius: 0; border-color: var(--tm-rule-strong); background: #fff; }
.form-control:focus { border-color: var(--tm-accent); box-shadow: 0 0 0 3px rgba(122, 46, 34, .15); }
.panel { border-radius: 0; border-color: var(--tm-rule); background: var(--tm-paper-light); box-shadow: none; }
.panel-default > .panel-heading { background: var(--tm-paper); border-color: var(--tm-rule); }
.modal-content { border-radius: 0; background: var(--tm-paper-light); }
.label, .badge { border-radius: 0; }

/* ---------- News ---------- */
.post-date { background: var(--tm-paper-light); border-color: var(--tm-rule-strong); border-radius: 0; box-shadow: none; }
.post-date .month { background: var(--tm-accent); border-color: var(--tm-accent); border-radius: 0; font-family: var(--tm-sans); }
.post-date .day { color: var(--tm-ink); font-family: var(--tm-sans); }
.list-post, .list-post:first-of-type { border-color: var(--tm-rule); }

/* ---------- Homepage ---------- */
.tm-home #main { display: none; }
.tm-hero { padding: 56px 0 72px; }
.tm-hero-row { display: flex; flex-wrap: wrap; align-items: center; }
.tm-hero-figure { margin: 0; }
.tm-hero-figure img { width: 100%; border: 1px solid var(--tm-rule-strong); }
.tm-hero-figure figcaption {
	margin-top: 10px;
	font-family: var(--tm-serif);
	font-style: italic;
	font-size: 17px;
	color: var(--tm-muted);
}
.tm-hero-text { padding: 24px 0 0 12px; }
.tm-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--tm-accent);
	margin: 0 0 14px;
}
.tm-hero-text h1 {
	font-size: 54px;
	line-height: 1.05;
	margin: 0 0 20px;
}
.tm-lede { font-size: 17px; line-height: 1.65; color: var(--tm-ink-soft); margin: 0 0 26px; }
.tm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.tm-btn {
	display: inline-block;
	padding: 13px 24px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	text-decoration: none;
	border: 1px solid transparent;
	min-height: 44px;
}
.tm-btn:hover, .tm-btn:focus { text-decoration: none; }
.tm-btn-primary { background: var(--tm-accent); border-color: var(--tm-accent); color: #fff; }
.tm-btn-primary:hover, .tm-btn-primary:focus { background: var(--tm-accent-dark); border-color: var(--tm-accent-dark); color: #fff; }
.tm-btn-outline { border-color: var(--tm-ink); color: var(--tm-ink); }
.tm-btn-outline:hover, .tm-btn-outline:focus { background: var(--tm-ink); color: var(--tm-paper); }

.tm-band { padding: 72px 0; }
.tm-band h2 { font-size: 40px; margin: 0 0 28px; }
.tm-band-light { background: var(--tm-paper-light); }
.tm-band-rule { border-top: 1px solid var(--tm-rule); padding: 60px 0; }
.tm-band-rule h2 { font-size: 34px; margin-bottom: 22px; }
.tm-section-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 30px;
}
.tm-section-head h2 { margin: 0; }
.tm-more { font-size: 15px; font-weight: 600; }
.tm-band .tm-card-grid { margin-bottom: 0; }

.tm-quote {
	border: 0;
	padding: 0;
	margin: 0 0 24px;
	font-family: var(--tm-serif);
	font-style: italic;
	font-size: 34px;
	line-height: 1.25;
	color: var(--tm-ink);
}
.tm-intro { font-size: 17px; line-height: 1.75; color: var(--tm-ink-soft); }
.tm-intro p { margin: 0 0 18px; }
.tm-intro strong { color: var(--tm-ink); font-weight: 600; }
.tm-latest-news { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--tm-rule); }

.tm-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tm-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 18px;
	border: 1px solid var(--tm-rule-strong);
	background: var(--tm-paper-light);
	color: var(--tm-ink);
	font-size: 15px;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
}
.tm-chips a:hover, .tm-chips a:focus { background: var(--tm-ink); border-color: var(--tm-ink); color: var(--tm-paper); }

.tm-band-dark { background: var(--tm-ink); color: var(--tm-paper); padding-bottom: 96px; }
.tm-band-dark h2 { color: var(--tm-paper); }
.tm-band-dark .tm-more { color: var(--tm-gold); }
.tm-band-dark .tm-more:hover { color: #fff; }
.tm-band-dark .tm-card, .tm-band-dark .tm-card:hover { color: var(--tm-paper); }
.tm-band-dark .tm-card-img { background: #2C3947; border-color: #3B4A5A; }
.tm-band-dark .tm-card-title { font-size: 21px; font-weight: 500; }
.tm-band-dark .tm-card:hover .tm-card-title { color: var(--tm-gold); }
.tm-band-dark .tm-card-count { color: #C9C0B0; white-space: normal; }

@media (max-width: 991px) {
	.tm-hero { padding: 32px 0 48px; }
	.tm-hero-text { padding: 28px 0 0; }
	.tm-hero-text h1 { font-size: 42px; }
	.tm-quote { font-size: 28px; }
}
@media (max-width: 767px) {
	.header h3, .page-header h3 { font-size: 34px; }
	.tm-band { padding: 48px 0; }
	.tm-band h2 { font-size: 32px; }
	.tm-hero-text h1 { font-size: 36px; }
	.tm-card-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 24px 16px; }
	.tm-card-title { font-size: 19px; }
	.tm-card-meta { flex-direction: column; gap: 2px; }
}

/* ---------- Footer ---------- */
.footer.tm-footer {
	position: static;
	height: auto;
	background: var(--tm-paper);
	border-top: 0;
	padding: 40px 0;
	font-size: 14px;
	color: var(--tm-muted);
}
.tm-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; }
.tm-footer-brand { display: flex; flex-direction: column; gap: 6px; max-width: 620px; }
.tm-footer-title { font-family: var(--tm-serif); font-size: 22px; font-weight: 600; color: var(--tm-ink); }
.tm-footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: flex-start; }
.tm-footer-links a { color: var(--tm-muted); }
.tm-footer-links a:hover { color: var(--tm-accent); }

/* ---------- Small extras ---------- */
.scroll-to-top { background: var(--tm-ink); color: var(--tm-paper); border-radius: 0; }
.scroll-to-top:hover { background: var(--tm-accent); }
.fancybox-thumbs__list a::before { border-color: var(--tm-accent); }
.fancybox-progress { background: var(--tm-accent); }
.flexslider { background: transparent; }
::selection { background: rgba(122, 46, 34, .18); }


/* =========================================================
   Homepage refinements (v1.1)
   ========================================================= */

/* Engraved-style double rule: a heavier line over a hairline */
.tm-double, .footer.tm-footer { position: relative; }
.tm-double::before, .footer.tm-footer::before {
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 6px;
	border-top: 2px solid var(--tm-rule-strong);
	border-bottom: 1px solid var(--tm-rule-strong);
	pointer-events: none;
}

/* Main menu: legal pages live in the footer instead */
#menu .navbar-nav a[href*="title=Legal-Notice"],
#menu .navbar-nav a[href*="title=Privacy-and-Data-Policy"],
#menu .navbar-nav a[href*="/Legal-Notice"],
#menu .navbar-nav a[href*="/Privacy-and-Data-Policy"] { display: none !important; }

/* Hero caption is a link to the print */
.tm-hero-figure figcaption a { color: var(--tm-muted); }
.tm-hero-figure figcaption a:hover { color: var(--tm-accent); }

/* Collections: two feature cards, then a row of themes */
.tm-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}
.tm-card-feature .tm-card-title { font-size: 30px; }
.tm-card-feature .tm-card-count { font-size: 15px; }
.tm-subhead {
	margin: 48px 0 18px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--tm-accent);
}
.tm-theme-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
}
.tm-theme-grid .tm-card { gap: 6px; }
.tm-theme-grid .tm-card-title { font-size: 20px; }
.tm-theme-grid .tm-card-count { font-size: 13px; }
@media (max-width: 991px) {
	.tm-theme-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tm-feature-grid { grid-template-columns: 1fr; gap: 28px; }
	.tm-card-feature .tm-card-title { font-size: 24px; }
	.tm-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
}

/* Introduction: framed print, heading, drop cap, darker and narrower text */
.tm-intro-row { display: flex; flex-wrap: wrap; }
.tm-intro-figure {
	margin: 0 0 32px;
	padding: 14px;
	background: var(--tm-paper-light);
	border: 1px solid var(--tm-rule-strong);
	box-shadow: 0 1px 0 var(--tm-rule), 0 12px 28px rgba(29, 39, 51, .08);
}
.tm-intro-figure img { width: 100%; display: block; }
.tm-intro-figure figcaption {
	margin-top: 12px;
	font-family: var(--tm-serif);
	font-style: italic;
	font-size: 16px;
	line-height: 1.35;
	color: var(--tm-muted);
	text-align: center;
}
@media (min-width: 992px) {
	.tm-intro-figure { position: sticky; top: 32px; margin-right: 16px; }
}
.tm-intro-title { font-size: 40px; margin: 0 0 22px; }
.tm-intro { max-width: 62ch; font-size: 17px; line-height: 1.75; color: #3A342C; }
.tm-intro > p:first-child::first-letter,
.tm-intro > div:first-child > p:first-child::first-letter {
	float: left;
	font-family: var(--tm-serif);
	font-weight: 600;
	font-size: 64px;
	line-height: .8;
	padding: 6px 10px 0 0;
	color: var(--tm-accent);
}

/* Makers as a book-index line */
.tm-band-makers { padding: 64px 0; }
.tm-band-makers h2 { font-size: 34px; margin-bottom: 18px; }
.tm-index {
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--tm-serif);
	font-size: 22px;
	line-height: 1.9;
}
.tm-index li { display: inline; }
.tm-index li + li::before {
	content: "\00B7";
	margin: 0 .55em;
	color: var(--tm-rule-strong);
}
.tm-index a {
	color: var(--tm-ink);
	text-decoration: none;
	background-image: linear-gradient(var(--tm-accent), var(--tm-accent));
	background-size: 0 1px;
	background-position: 0 92%;
	background-repeat: no-repeat;
	transition: background-size .25s, color .2s;
	white-space: nowrap;
}
.tm-index a:hover, .tm-index a:focus { color: var(--tm-accent); background-size: 100% 1px; outline: none; }
.tm-index a:focus-visible { outline: 2px solid var(--tm-accent); outline-offset: 3px; }

/* Recently added: year and maker as a small gold line */
.tm-card-eyebrow {
	font-family: var(--tm-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tm-gold);
	margin-top: 4px;
}
.tm-band-dark .tm-card-title { line-height: 1.25; }
