/* Thirsty Word — site styles (matches the Claude Design master copy) */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	background: #F5F1E6 !important;
	color: #14323f;
	font-family: 'Spectral', Georgia, serif;
	-webkit-font-smoothing: antialiased;
}
body a { color: #1C8A9C; text-decoration: none; }
body a:hover { color: #E85A42; }
::selection { background: #E6A93A; color: #14323f; }

.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * + *,
.tw-main > * + *,
.tw-main .wp-block-post-content > * + * { margin-block-start: 0 !important; }
.tw-main { margin: 0 !important; padding: 0 !important; }

.tw-wrap {
	max-width: 1180px;
	margin: 0 auto !important;
	padding: 0 28px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: normal;
	letter-spacing: normal;
}
.tw-wrap *, .tw-wrap *::before, .tw-wrap *::after { box-sizing: border-box; }
.tw-wrap h1, .tw-wrap h2, .tw-wrap h3, .tw-wrap h4 { font-family: inherit; text-wrap: initial; }
.tw-wrap img { max-width: 100%; }
.tw-wrap input, .tw-wrap textarea, .tw-wrap select { font-family: 'Spectral', Georgia, serif; }
.tw-wrap button { font-family: inherit; }

.tw-hov-gold:hover { background: #efb84e !important; }
.tw-hov-cream:hover { background: #faf1d8 !important; }
.tw-hide { display: none !important; }

/* ---------- Header ---------- */
.tw-header {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 28px;
	box-sizing: border-box;
}
.tw-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	padding: 26px 0 18px;
	border-bottom: 1px solid rgba(20, 50, 63, .14);
}
.tw-wordmark { display: flex; align-items: baseline; gap: 2px; font-family: 'Special Elite', monospace; font-size: 22px; color: #14323f !important; }
.tw-wordmark .tw-dot { color: #1C8A9C; }

.tw-nav.wp-block-navigation {
	font-family: 'Special Elite', monospace !important;
	font-size: 13px !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	gap: 26px;
	--navigation-layout-wrap: wrap;
}
.tw-nav .wp-block-navigation__container { gap: 12px 26px !important; flex-wrap: wrap; }
.tw-nav .wp-block-navigation-item__content { color: #14323f !important; padding: 0 !important; }
.tw-nav .wp-block-navigation-item__content:hover { color: #E85A42 !important; }
.tw-nav .current-menu-item > .wp-block-navigation-item__content,
.tw-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: #E85A42 !important; }
.tw-nav .wp-block-navigation__submenu-icon { width: 9px; height: 9px; margin-left: 4px; }
.tw-nav .wp-block-navigation__submenu-icon svg { stroke: currentColor; }
.tw-nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	border: 1px solid rgba(20, 50, 63, .14) !important;
	box-shadow: 0 20px 44px -22px rgba(20, 50, 63, .5);
	border-radius: 3px;
	padding: 8px !important;
	min-width: 280px !important;
	left: auto !important;
	right: 0;
	top: 100% !important;
	margin-top: 12px;
	text-transform: none;
	z-index: 50;
}
.tw-nav .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px;
}
.tw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 10px 14px !important;
	border-radius: 2px;
	font-family: 'Spectral', serif;
	font-size: 15px;
	letter-spacing: 0;
	color: #14323f !important;
}
.tw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #f4efe2; color: #14323f !important; }
.tw-nav .tag { font-size: 10px; color: #E85A42; font-family: 'Special Elite', monospace; letter-spacing: .1em; }

/* ---------- Footer ---------- */
.tw-footer {
	max-width: 1180px;
	margin: 40px auto 0;
	padding: 0 28px;
	box-sizing: border-box;
}
.tw-footer-inner {
	border-top: 1px solid rgba(20, 50, 63, .14);
	padding: 46px 0 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 30px;
	flex-wrap: wrap;
}
.tw-footer-inner img { width: 140px; height: auto; display: block; }
.tw-footer-right { text-align: right; }
.tw-footer-right a { font-family: 'Special Elite', monospace; font-size: 15px; color: #14323f; }
.tw-footer-right a span { color: #1C8A9C; }
.tw-footer-right div { font-size: 13px; color: #7a8f95; margin-top: 4px; font-family: 'Spectral', Georgia, serif; }

/* ---------- Animations from the design ---------- */
@keyframes flipIn { from { transform: rotateY(-360deg); opacity: 0; } to { transform: rotateY(0deg); opacity: 1; } }
@keyframes floatBook { 0% { transform: rotateY(-24deg) rotateX(6deg) translateY(0); } 50% { transform: rotateY(-18deg) rotateX(3deg) translateY(-14px); } 100% { transform: rotateY(-24deg) rotateX(6deg) translateY(0); } }
@keyframes sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes fringeSway { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(2px); } }
@keyframes dropFall { 0%, 60% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(10px); opacity: .3; } 81% { transform: translateY(0); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
@keyframes coverBob { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-16px) rotate(1deg); } }
@keyframes shimmer { 0%, 100% { opacity: .35; } 50% { opacity: .7; } }
@keyframes twBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.tw-caret { animation: twBlink 1.05s steps(1) infinite; }

/* ---------- Bookshelf (home) ---------- */
.shelf-book { position: relative; display: flex; align-items: flex-end; }
.shelf-book > a, .shelf-book > div.spine { transition: transform .22s ease, box-shadow .22s ease; }
.shelf-book:hover > a, .shelf-book:focus-within > a { transform: translateY(-16px); }
.shelf-card { position: absolute; left: 50%; bottom: calc(100% + 4px); width: 230px; margin-left: -115px; background: #fffdf6; border: 1px solid rgba(20,50,63,.16); border-radius: 3px; box-shadow: 0 22px 44px -20px rgba(20,50,63,.55); padding: 16px 18px 15px; text-align: left; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease; z-index: 30; pointer-events: none; }
.shelf-book:hover .shelf-card, .shelf-book:focus-within .shelf-card { opacity: 1; visibility: visible; transform: translateY(-14px); }
.shelf-card .k { font-family: 'Special Elite', monospace; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: #E85A42; margin: 0 0 6px; }
.shelf-card .t { font-family: 'Spectral', serif; font-size: 18px; font-weight: 800; line-height: 1.15; color: #14323f; margin: 0 0 6px; }
.shelf-card .d { font-family: 'Spectral', serif; font-size: 13.5px; line-height: 1.45; color: #4a5f68; margin: 0 0 10px; }
.shelf-card .o { font-family: 'Special Elite', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #1C8A9C; }
.shelf-end { width: 14px; height: 150px; align-self: flex-end; background: linear-gradient(90deg,#6d4423,#8a5a34); border-radius: 2px 2px 0 0; margin: 0 10px; box-shadow: inset -3px 0 6px -3px rgba(0,0,0,.4); }

/* ---------- Contact page panel ---------- */
.tw-desk { transition: border-color .15s ease; }
.tw-desk:hover { border-color: rgba(28,138,156,.45) !important; }

.tw-contact-form .wpforms-container { margin: 0 !important; max-width: none !important; }
.tw-contact-form .wpforms-form .wpforms-field-container { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px 18px; }
.tw-contact-form .wpforms-form .wpforms-field { grid-column: 1 / -1; padding: 0 !important; margin: 0 !important; }
.tw-contact-form .wpforms-form .wpforms-field.tw-half { grid-column: auto; }
.tw-contact-form .wpforms-form .wpforms-field-label {
	display: block !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	color: #9dc0c6 !important;
	margin: 0 0 8px !important;
	line-height: 1.4 !important;
}
.tw-contact-form .wpforms-form .wpforms-required-label { color: #9dc0c6 !important; font-weight: 400; }
.tw-contact-form .wpforms-form input[type=text],
.tw-contact-form .wpforms-form input[type=email],
.tw-contact-form .wpforms-form select,
.tw-contact-form .wpforms-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	background: rgba(255,253,246,.06) !important;
	border: 1px solid rgba(245,241,230,.22) !important;
	border-radius: 2px !important;
	padding: 13px 15px !important;
	font-family: 'Spectral', Georgia, serif !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: #F5F1E6 !important;
	box-shadow: none !important;
	transition: border-color .15s ease, background .15s ease;
}
.tw-contact-form .wpforms-form textarea { min-height: 150px !important; resize: vertical; line-height: 1.55 !important; }
.tw-contact-form .wpforms-form input:focus,
.tw-contact-form .wpforms-form select:focus,
.tw-contact-form .wpforms-form textarea:focus { outline: none !important; border-color: #E6A93A !important; background: rgba(255,253,246,.1) !important; }
.tw-contact-form .wpforms-form ::placeholder { color: rgba(215,226,225,.45) !important; opacity: 1; }
.tw-contact-form .wpforms-form select {
	appearance: none !important; -webkit-appearance: none !important;
	background-image: linear-gradient(45deg,transparent 50%,#E6A93A 50%),linear-gradient(135deg,#E6A93A 50%,transparent 50%) !important;
	background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50% !important;
	background-size: 6px 6px, 6px 6px !important;
	background-repeat: no-repeat !important;
	padding-right: 40px !important;
}
.tw-contact-form .wpforms-form select option { color: #14323f; background: #fff; }
.tw-contact-form .tw-chips ul { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.tw-contact-form .tw-chips ul li { margin: 0 !important; padding: 0 !important; display: block !important; position: relative; }
.tw-contact-form .tw-chips ul li input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; }
.tw-contact-form .tw-chips ul li label {
	display: inline-block !important;
	cursor: pointer;
	user-select: none;
	font-family: 'Special Elite', monospace !important;
	font-size: 12px !important;
	letter-spacing: .06em !important;
	text-transform: none !important;
	padding: 9px 15px !important;
	margin: 0 !important;
	border-radius: 100px;
	color: #d7e2e1 !important;
	border: 1px solid rgba(245,241,230,.28);
	background: transparent;
	transition: all .15s ease;
}
.tw-contact-form .tw-chips ul li label::before, .tw-contact-form .tw-chips ul li label::after { display: none !important; }
.tw-contact-form .tw-chips ul li input:checked + label { background: #E6A93A; color: #14323f !important; border-color: #E6A93A; }
.tw-contact-form .tw-chips ul li input:focus-visible + label { outline: 2px solid #E6A93A; outline-offset: 2px; }
.tw-contact-form .wpforms-submit-container { margin-top: 24px !important; padding: 0 !important; }
.tw-contact-form .wpforms-form button[type=submit] {
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	height: auto !important;
	background: #E6A93A !important;
	color: #14323f !important;
	border: none !important;
	padding: 15px 56px 15px 26px !important;
	border-radius: 100px !important;
	font-family: 'Special Elite', monospace !important;
	font-size: 13px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 12px 28px -10px rgba(230,169,58,.75) !important;
	transition: transform .15s ease, background .15s ease;
	position: relative;
}
.tw-contact-form .wpforms-form button[type=submit]::after {
	content: "→";
	position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
	display: flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%;
	background: #14323f; color: #E6A93A; font-size: 14px;
}
.tw-contact-form .wpforms-form button[type=submit]:hover { background: #efb84e !important; transform: translateY(-1px); }
.tw-contact-form label.wpforms-error, .tw-contact-form .wpforms-error { color: #ffb4a6 !important; font-size: 14px !important; }
.tw-contact-form .wpforms-confirmation-container-full {
	background: transparent !important; border: none !important; color: #d7e2e1 !important;
	text-align: center; padding: 30px 10px !important; font-size: 16.5px; line-height: 1.6;
}
.tw-contact-form .wpforms-confirmation-container-full p { color: #d7e2e1 !important; }
.tw-contact-form .tw-thanks-k { font-family: 'Special Elite', monospace; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: #E6A93A !important; margin: 0 0 12px; }
.tw-contact-form .tw-thanks-h { font-size: 32px; line-height: 1.1; font-weight: 800; color: #F5F1E6 !important; margin: 0 0 12px; }

/* ---------- Book reader ---------- */
.tw-reader { width: 100%; font-family: Georgia, 'Times New Roman', serif; color: #222; }
.tw-reader-loading { text-align: center; color: #9a8c6c; font-size: 14px; padding: 60px 0; margin: 0; }
.tw-reader .tr-top { margin: 0 auto 14px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: #6f6550; max-width: 100%; }
.tw-reader .tr-top select { font-family: Georgia, serif; font-size: 13px; color: #4a4232; border: none; background: transparent; cursor: pointer; }
.tw-reader .tr-row { display: flex; align-items: center; justify-content: center; }
.tw-reader .tr-btn { flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(60,48,26,.25); background: #fffdf7; color: #3a3020; font-size: 22px; line-height: 1; cursor: pointer; box-shadow: 0 6px 16px -10px rgba(40,30,10,.6); padding: 0; }
.tw-reader .tr-book { position: relative; flex-shrink: 0; cursor: pointer; user-select: none; box-shadow: 0 36px 60px -32px rgba(40,28,8,.6), 0 2px 6px rgba(40,28,8,.12); border-radius: 3px; }
.tw-reader .tr-page { position: absolute; top: 0; bottom: 0; }
.tw-reader .tr-spine { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(80,62,30,.18); }
.tw-reader .tr-head { position: absolute; text-align: center; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: #9a8c6c; }
.tw-reader .tr-num { position: absolute; text-align: center; font-size: 12px; color: #8a7c5c; }
.tw-reader .tr-view { position: absolute; overflow: hidden; }
.tw-reader .tr-progress { height: 2px; background: rgba(80,62,30,.15); border-radius: 2px; overflow: hidden; }
.tw-reader .tr-progress > div { height: 100%; background: #1C8A9C; }
.tw-reader .tr-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; color: #6f6550; margin: 10px 0 0; }
.kr-flow { font-family: Georgia, "Times New Roman", serif; font-size: var(--fs, 17px); line-height: 1.6; color: #2a2418; }
.kr-flow p { margin: 0; }
.kr-flow .chap { break-before: column; -webkit-column-break-before: always; }
.kr-flow .chap.cover { break-before: auto; -webkit-column-break-before: auto; height: calc(var(--ph) - 4px); text-align: center; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.kr-flow .cover img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(var(--ph) - 4px); box-shadow: 0 8px 22px -10px rgba(0,0,0,.45); }
.kr-flow .kick { font-size: .68em; letter-spacing: .28em; text-transform: uppercase; color: #1C8A9C; font-weight: bold; }
.kr-flow .title { text-align: center; padding-top: 3em; }
.kr-flow .title h1 { font-size: 2.1em; line-height: 1.05; color: #0E4653; margin: .6em 0 .3em; }
.kr-flow .title .sub { font-style: italic; }
.kr-flow .title .by { letter-spacing: .22em; margin: 1.2em 0 0; }
.kr-flow .rule { width: 3em; height: 2px; background: #E85A42; margin: 1em auto 1.8em; }
.kr-flow .rule-l { width: 3em; height: 2px; background: #E85A42; margin: .6em 0 1.4em; }
.kr-flow h2.fm { font-size: 1.4em; color: #0E4653; margin: 0; }
.kr-flow table { width: 100%; border-collapse: collapse; font-size: .84em; }
.kr-flow tr { break-inside: avoid; }
.kr-flow td { padding: .25em .3em; vertical-align: top; }
.kr-flow h2.act { font-size: 1.2em; font-weight: normal; letter-spacing: .3em; text-align: center; color: #0E4653; margin: 2.4em 0 0; }
.kr-flow .np { text-indent: 1.5em; margin: 0; text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; orphans: 2; widows: 2; }
@media (max-width: 520px) { .kr-flow .np { text-align: left; } }
.kr-flow .np.first { text-indent: 0; }
.kr-flow .np.first::first-letter { font-size: 3.1em; float: left; line-height: .82; padding: .06em .08em 0 0; color: #0E4653; }
.kr-flow .small { font-size: .85em; line-height: 1.55; margin: 0 0 .8em; }

/* ---------- Mobile (as in the design) ---------- */
@media (max-width: 760px) {
	.tw-wrap, .tw-header, .tw-footer { padding-left: 16px !important; padding-right: 16px !important; }
	.tw-nav .wp-block-navigation__container { gap: 12px 16px !important; justify-content: flex-start !important; }
	.tw-nav .wp-block-navigation__submenu-container { right: auto; left: 0 !important; }
	.tw-wrap div[style*="grid-template-columns"]:not(.music-grid) { grid-template-columns: minmax(0, 1fr) !important; gap: 30px !important; }
	.tw-wrap div[style*="flex-wrap: nowrap"] { flex-wrap: wrap !important; }
	.tw-p-the-king-and-me-reading-copy div[style*="grid-template-columns"] { gap: 4px !important; }
	.tw-p-maria-novotna-ballet-development-edition div[style*="grid-template-columns"]:not(.music-grid) { gap: 26px !important; }
	.tw-wrap div[style*="width: 40px; transform: translateX(-50%)"] { display: none !important; }
	.tw-wrap h1[style*="nowrap"] { white-space: normal !important; }
	.tw-wrap section[style*="padding: 66px 60px"], .tw-wrap section[style*="padding: 60px;"] { padding: 40px 24px !important; }
	.tw-wrap div[style*="padding: 52px 54px 52px 58px"], .tw-wrap div[style*="padding: 48px 46px 48px 52px"], .tw-wrap div[style*="padding: 44px 44px 44px 48px"] { padding: 34px 26px !important; }
	.tw-wrap div[style*="padding: 56px 60px"] { padding: 36px 24px !important; }
	.tw-wrap div[style*="min-height: 620px"] { min-height: 0 !important; }
	.tw-wrap div[style*="min-height: 250px"] { overflow-x: auto !important; justify-content: flex-start !important; padding-bottom: 8px !important; }
	.tw-wrap section[style*="padding: 64px 0px"] { padding-top: 36px !important; }
	.tw-wrap div[style*="padding: 44px 44px 40px"] { padding: 34px 22px 30px !important; }
	.tw-wrap div[style*="padding: 54px 58px"], .tw-wrap div[style*="padding: 64px 72px"] { padding: 30px 20px !important; }
	.music-grid { grid-template-columns: auto 1fr !important; gap: 0 !important; }
	.music-grid > .mg-head { display: none !important; }
	.music-grid > .mg-scene { grid-column: 1; padding: 14px 12px 4px 0 !important; border-bottom: none !important; font-weight: 700 !important; }
	.music-grid > .mg-status { grid-column: 2; padding: 14px 0 4px !important; border-bottom: none !important; text-align: right; }
	.music-grid > .mg-music { grid-column: 1 / -1; padding: 0 0 4px !important; border-bottom: none !important; }
	.music-grid > .mg-fn { grid-column: 1 / -1; padding: 0 0 14px !important; border-bottom: 1px solid rgba(255,255,255,.14) !important; }
	.tw-contact-form .wpforms-form .wpforms-field-container { grid-template-columns: 1fr; }
	.tw-footer-right { text-align: left; }
}

@media print {
	header, nav, .no-print, .tw-header, .tw-footer { display: none !important; }
	body { background: #fff !important; }
}
