/*
Theme Name: Tiyeni Theme
Theme URI: https://mbuna.com/tiyeni
Author: Dennis Hope Mzumara, Mbuna Inc
Author URI: https://mbuna.com/
Description: Fast, photo-led block theme for travel clubs, tour operators, lodges and tourism directories. Made for the Tiyeni Core plugin (places, member deals, partner portal, feedback, map view). Self-hosted font, no jQuery, two footer styles and colour variations.
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
Version: 0.4.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tiyeni-travel
Tags: block-patterns, full-site-editing, wide-blocks, style-variations, travel
*/

:root { --tt-foot-1: #0C6620; --tt-foot-2: #05331A; --tt-bg: #fff; }

/* Header */
.tt-header { background: var(--tt-header-bg, rgba(255,255,255,.94)); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--wp--preset--color--line); }
.tt-header .wp-block-site-logo img { height: auto; }
.tt-header .wp-block-navigation a { font-weight: 700; text-decoration: none; }
.tt-header .wp-block-navigation a:hover { color: var(--wp--preset--color--green); }
.tt-header .tiyeni-acct { color: var(--wp--preset--color--ink); }
.tt-header .wp-block-navigation__submenu-container { border-radius: 14px; border: 1px solid var(--wp--preset--color--line) !important; box-shadow: 0 18px 40px rgba(11,42,49,.14); padding: 8px !important; min-width: 230px !important; }
.tt-header .wp-block-navigation__submenu-container a { border-radius: 10px; padding: .55rem .8rem !important; }
.tt-header .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--sand); }
.tt-header .wp-block-button__link { padding: .55rem 1.1rem; font-size: .95rem; }

/* Hero */
.tt-hero { position: relative; overflow: hidden; padding-top: clamp(3.5rem, 9vw, 7rem) !important; padding-bottom: clamp(3.5rem, 8vw, 6rem) !important;
	background-image: radial-gradient(1200px 500px at 85% -10%, rgba(18,130,43,.55), transparent 60%), radial-gradient(700px 400px at -10% 110%, rgba(5,51,26,.6), transparent 60%); }
.tt-hero::after { content: ""; position: absolute; right: -60px; top: 30px; width: 380px; height: 380px; opacity: .10; pointer-events: none;
	background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75C7 8 17 8 17 8z'/%3E%3C/svg%3E"); }
.tt-hero > * { position: relative; z-index: 1; }
.tt-hero h1 { max-width: 16ch; }
.tt-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); max-width: 62ch; }
.tt-hero .tt-lead { color: rgba(255,255,255,.86); }
.tt-eyebrow { font-size: .8rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--green); margin-bottom: .5rem; }
.tt-hero .tt-eyebrow, .tt-cta .tt-eyebrow { color: #9fe0ac; }
.tt-fine { font-size: .85rem; color: var(--wp--preset--color--muted); }

/* Sections */
.tt-section { padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(1rem, 3vw, 2rem); }
.tt-section.has-background { padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.tt-steps { gap: 1.25rem !important; }
.tt-steps > .wp-block-column { background: var(--tt-surface, #fff); border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1.4rem; }
.tt-steps h3 { margin: .5rem 0 .35rem; font-size: 1.2rem; }
.tt-steps p { margin: 0; color: var(--wp--preset--color--muted); }
.tt-step-n { display: inline-grid !important; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--wp--preset--color--leaf); color: var(--wp--preset--color--green-dark) !important; font-weight: 900; }
.tt-cta ul { list-style: none; padding: 0; }
.tt-cta li { padding: .5rem 0 .5rem 1.8rem; position: relative; border-bottom: 1px solid rgba(255,255,255,.18); font-weight: 600; }
.tt-cta li::before { content: "✓"; position: absolute; left: 0; font-weight: 900; color: #9fe0ac; }
.tt-cta .wp-block-button__link { background: var(--tt-surface, #fff); color: var(--wp--preset--color--ink); }
.tt-cta .wp-block-button__link:hover { background: var(--wp--preset--color--leaf); }

/* Stories grid */
.tt-stories { padding: 0; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 1.25rem; }
.tt-stories li { margin: 0 !important; width: auto !important; background: var(--tt-surface, #fff); border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1.2rem; list-style: none; }
.tt-stories .wp-block-latest-posts__post-title { font-weight: 800; font-size: 1.15rem; color: var(--wp--preset--color--ink); text-decoration: none; line-height: 1.25; display: block; }
.tt-stories .wp-block-latest-posts__post-date { color: var(--wp--preset--color--muted); font-size: .8rem; margin: .35rem 0; }
.tt-stories .wp-block-latest-posts__post-excerpt { color: var(--wp--preset--color--muted); margin: 0; }
.tt-story-card { background: var(--tt-surface, #fff); border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: 1.25rem; height: 100%; box-sizing: border-box; }

/* Details / FAQ */
.wp-block-details { border: 1px solid var(--wp--preset--color--line); border-radius: 12px; padding: .9rem 1.1rem; margin-block: .6rem !important; background: var(--tt-surface, #fff); }
.wp-block-details summary { font-weight: 800; cursor: pointer; }
.wp-block-details[open] summary { margin-bottom: .5rem; }

/* Footer */
.tt-footer a { color: inherit; text-decoration: none; }
.tt-footer a:hover { text-decoration: underline; }
.tt-footer .tt-foot-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.tt-footer p { color: rgba(255,255,255,.75); }

/* Page title spacing */
.tt-page-head { padding-top: clamp(2rem, 5vw, 3.5rem); }

@media (max-width: 781px) {
	.tt-hero::after { width: 220px; height: 220px; right: -60px; }
	.tt-header .tt-header-cta { display: none !important; }
}

/* Headings inherit the text colour of coloured bands */
.has-text-color :is(h1, h2, h3, h4, h5, h6) { color: inherit; }

/* Pages: blocks get the full 1200px column; running text stays at a readable width, left-aligned with the title. */
.tt-page-content > :is(p, ul, ol, h2, h3, h4, .wp-block-details, blockquote, .wp-block-buttons) { max-width: 760px; margin-left: max(0px, calc((100% - 1200px) / 2)) !important; }

.tt-howto .wp-block-buttons { justify-content: center; }

/* Full-width colour bands keep the site's side gutter on small screens */
.wp-block-post-content > .alignfull.has-background { padding-left: var(--wp--style--root--padding-left) !important; padding-right: var(--wp--style--root--padding-right) !important; }
.tt-page-content > h2 { margin-top: 2.75rem !important; }


/* ===== v0.2 ===== */

/* Home hero with photo */
.tt-hero-photo { border-radius: 26px; overflow: hidden; margin-inline: clamp(.5rem, 1.5vw, 1rem) !important; }
.tt-hero-photo .wp-block-cover__inner-container { max-width: 1200px; margin-inline: auto; width: 100%; }
.tt-hero-photo h1 { max-width: 15ch; color: #fff; text-shadow: 0 2px 18px rgba(11,42,49,.35); }
.tt-hero-photo .tt-lead { color: rgba(255,255,255,.9); }
.tt-hero-photo .tt-eyebrow { color: #a8e6b4; }
.tt-hero-photo .tiyeni-search { margin-top: 1.5rem; box-shadow: 0 18px 40px rgba(11,42,49,.28); }

/* "Get found" business card (Home) */
.tt-bizcard { border-radius: 28px; overflow: hidden; }
.tt-bizcard > .wp-block-column:first-child { position: relative; min-height: 460px; }
.tt-bizcard > .wp-block-column:first-child .wp-block-image, .tt-bizcard > .wp-block-column:first-child .wp-block-image img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0; object-fit: cover; }
.tt-bizcard > .wp-block-column:last-child { padding: clamp(1.75rem, 4vw, 3.25rem) !important; display: flex; flex-direction: column; justify-content: center; }
.tt-bizcard .tt-ticks { list-style: none; padding: 0; display: grid; gap: .9rem; }
.tt-bizcard .tt-ticks li { position: relative; padding-left: 2.6rem; }
.tt-bizcard .tt-ticks li::before { content: "✓"; position: absolute; left: 0; top: .05rem; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 10px; background: var(--tt-surface, #fff); color: var(--wp--preset--color--green-dark); font-weight: 900; box-shadow: 0 2px 8px rgba(11,42,49,.06); }
.tt-bizcard .tt-ticks strong { display: block; }
.tt-chip-on-photo { position: absolute; left: 18px; top: 18px; z-index: 2; margin: 0 !important; padding: .4rem .9rem; border-radius: 999px; background: var(--tt-surface, #fff); color: var(--wp--preset--color--green-dark); font-weight: 900; font-size: .85rem; }
@media (max-width: 781px) { .tt-bizcard > .wp-block-column:first-child { min-height: 240px; } }

/* Footer — photo fade */
.tt-foot-photo { margin-top: 0 !important; }
.tt-foot-photo.wp-block-cover { min-height: 540px !important; align-items: flex-end !important; padding-bottom: 2.5rem !important; }
.tt-foot-photo .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(180deg, var(--tt-bg) 0%, color-mix(in srgb, var(--tt-bg) 92%, transparent) 6%, color-mix(in srgb, var(--tt-bg) 55%, transparent) 14%, color-mix(in srgb, var(--tt-bg) 12%, transparent) 24%, color-mix(in srgb, var(--tt-foot-1) 10%, transparent) 36%, color-mix(in srgb, var(--tt-foot-1) 48%, transparent) 56%, color-mix(in srgb, var(--tt-foot-1) 90%, transparent) 80%, var(--tt-foot-1) 100%), radial-gradient(900px 360px at 85% 100%, color-mix(in srgb, var(--wp--preset--color--green) 30%, transparent), transparent 70%) !important; }
.tt-foot-photo:not(:has(img)) .wp-block-cover__background { background: linear-gradient(180deg, var(--tt-bg) 0%, var(--wp--preset--color--leaf) 18%, color-mix(in srgb, var(--tt-foot-1) 55%, #fff) 45%, var(--tt-foot-1) 100%) !important; }
.tt-foot-photo .wp-block-cover__inner-container { max-width: 1200px; width: 100%; margin-inline: auto; }
.tt-foot-photo h2 { color: #fff; text-shadow: 0 2px 16px rgba(11,42,49,.35); margin-top: .3rem; }
.tt-foot-photo .tt-eyebrow { color: #cff2d6; }
.wp-block-buttons.is-style-trip-ideas { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 12px; }
@media (max-width: 600px) { .wp-block-buttons.is-style-trip-ideas { grid-template-columns: 1fr 1fr; gap: 8px; } .is-style-trip-ideas .wp-block-button__link { min-height: 52px; font-size: .9rem; padding: .5rem .8rem; } }
.is-style-trip-ideas .wp-block-button__link { width: 100%; min-height: 62px; justify-content: flex-start; display: flex; align-items: center; text-align: left; border-radius: 16px; background: rgba(255,255,255,.14) !important; border: 1px solid rgba(255,255,255,.3); color: #fff !important; backdrop-filter: blur(8px); font-weight: 800; }
.is-style-trip-ideas .wp-block-button__link:hover { background: rgba(255,255,255,.24) !important; }
.tt-foot-main { background: radial-gradient(1000px 420px at 0% 0%, color-mix(in srgb, var(--wp--preset--color--green) 38%, transparent), transparent 70%), radial-gradient(800px 380px at 100% 100%, color-mix(in srgb, var(--wp--preset--color--green) 18%, transparent), transparent 70%), linear-gradient(180deg, var(--tt-foot-1) 0%, color-mix(in srgb, var(--tt-foot-1) 50%, var(--tt-foot-2)) 45%, var(--tt-foot-2) 100%); color: #fff; margin-top: 0 !important; }
.tt-foot-main a { color: inherit; }
.tt-foot-cols { gap: 0 !important; }
.tt-foot-cols > .wp-block-column { padding: .25rem 1.75rem; }
.tt-foot-cols > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255,255,255,.18); }
.tt-foot-cols > .wp-block-column:first-child { padding-left: 0; }
.tt-foot-cols h3 { font-size: 1.1rem; color: #fff; margin-bottom: .75rem; }
.tt-foot-cols p { color: rgba(255,255,255,.78); }
.tt-foot-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.tt-foot-list a { text-decoration: none; opacity: .85; }
.tt-foot-list a:hover { opacity: 1; text-decoration: underline; }
.tt-foot-bar { border-top: 1px solid rgba(255,255,255,.15); padding-top: 1.25rem; color: rgba(255,255,255,.8); }
@media (max-width: 781px) {
	.tt-foot-cols > .wp-block-column { padding: 1rem 0 !important; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.14); }
	.tt-foot-cols > .wp-block-column:first-child { border-top: 0; }
	.tt-foot-photo.wp-block-cover { min-height: 460px !important; }
}

/* Footer — classic */
.tt-foot-classic { background: linear-gradient(180deg, var(--tt-foot-1) 0%, var(--tt-foot-2) 100%); color: #fff; }
.tt-foot-classic a { color: inherit; }
.tt-foot-classic h3 { color: #fff; font-size: 1rem; }
.tt-foot-classic p { color: rgba(255,255,255,.75); }

/* Stories */
.tt-stories-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1.5rem; }
.tt-story-search .wp-block-search__inside-wrapper { height: 58px; padding: 5px !important; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--line) !important; background: var(--tt-surface, #fff); box-shadow: 0 8px 24px rgba(11,42,49,.08); }
.tt-story-search .wp-block-search__input { border: 0 !important; padding: 0 1rem !important; font-weight: 700; background: transparent; }
.tt-story-search .wp-block-search__button { margin: 0 !important; border-radius: 999px !important; padding: 0 1.4rem !important; }
.tt-story-search { min-width: min(100%, 440px); }
.tt-story-card { background: var(--tt-surface, #fff); border: 1px solid var(--wp--preset--color--line); border-radius: 18px; overflow: hidden; height: 100%; box-sizing: border-box; padding-bottom: 1rem; }
.tt-story-card > :not(.wp-block-post-featured-image) { padding-inline: 1.1rem; }
.tt-story-card .wp-block-post-featured-image { margin: 0 0 .75rem; }
.tt-story-card .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.tt-cat-chips .wp-block-categories-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.tt-cat-chips .wp-block-categories-list a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--wp--preset--color--line); text-decoration: none; color: var(--wp--preset--color--ink); font-weight: 800; }
.tt-cat-chips .wp-block-categories-list .current-cat a { background: var(--wp--preset--color--ink); color: #fff; border-color: var(--wp--preset--color--ink); }

/* Single story */
.tt-story-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding-block: .9rem; border-block: 1px solid var(--wp--preset--color--line); }
.tt-story-body { font-size: 1.15rem; line-height: 1.7; }
.tt-story-body h2 { margin-top: 2rem; }
.tt-story-body blockquote, .tt-story-body .wp-block-quote { margin: 1.5rem 0; padding: 1.25rem 1.5rem; border-left: 5px solid var(--wp--preset--color--green); border-radius: 0 18px 18px 0; background: var(--wp--preset--color--leaf); font-size: 1.35rem; font-weight: 800; font-style: italic; }
.tt-story-side { position: sticky; top: 100px; display: grid; gap: 1rem; }
.tt-join-card { border-radius: 22px; padding: 1.25rem !important; }
.tt-share a { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: var(--wp--preset--color--leaf); color: var(--wp--preset--color--green-dark); }
.tt-breadcrumb { font-size: .875rem; font-weight: 800; color: var(--wp--preset--color--muted); }
.tt-breadcrumb a { color: inherit; text-decoration: none; }
@media (max-width: 781px) { .tt-story-side { position: static; } }

/* Place page small map spacing */
.tiyeni-placemap h2 { font-size: var(--wp--preset--font-size--large); }
.tt-bizcard.has-background { padding: 0 !important; gap: 0 !important; }

/* ===== v0.2.1 ===== */

/* Header: modern fixed (default), fixed, or static — Tiyeni → Settings → Colours, fonts & header */
header.wp-block-template-part:has(> .tt-header) { position: sticky; top: 0; z-index: 50; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.admin-bar header.wp-block-template-part:has(> .tt-header) { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part:has(> .tt-header) { top: 0; } }
.tt-head-static header.wp-block-template-part:has(> .tt-header) { position: relative; }
.tt-header { transition: padding .3s ease, box-shadow .3s ease, background-color .3s ease; }
.tt-header .wp-block-site-logo img { transition: width .3s ease; }
.tt-head-smart .is-scrolled > .tt-header, .tt-head-sticky .is-scrolled > .tt-header { padding-top: .3rem !important; padding-bottom: .3rem !important; box-shadow: 0 10px 30px rgba(11,42,49,.10); background: var(--tt-header-bg, rgba(255,255,255,.82)); backdrop-filter: saturate(1.6) blur(14px); }
.tt-head-smart .is-scrolled > .tt-header .wp-block-site-logo img { width: 74px !important; }
.tt-head-smart .is-hidden { transform: translateY(-110%); }
.tt-head-smart header.wp-block-template-part:focus-within { transform: none; }

/* Light / dark switch */
.tiyeni-themetoggle { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: none; border: 1.5px solid var(--wp--preset--color--line); border-radius: 999px; background: transparent; color: var(--wp--preset--color--ink); cursor: pointer; transition: background .2s, transform .2s; }
.tiyeni-themetoggle:hover { background: var(--wp--preset--color--sand); }
.tiyeni-themetoggle:active { transform: scale(.94); }
.tiyeni-themetoggle svg { grid-area: 1/1; transition: transform .45s cubic-bezier(.2,.7,.2,1), opacity .3s; }
.tiyeni-themetoggle .tiyeni-tt-moon { opacity: 0; transform: rotate(-90deg) scale(.5); }
:root[data-theme="dark"] .tiyeni-themetoggle .tiyeni-tt-sun { opacity: 0; transform: rotate(90deg) scale(.5); }
:root[data-theme="dark"] .tiyeni-themetoggle .tiyeni-tt-moon { opacity: 1; transform: none; }

/* Logos for each view */
.tiyeni-logo-dark { display: none !important; }
:root[data-theme="dark"] .tiyeni-has-dark-logo img[data-logo-light] { display: none !important; }
:root[data-theme="dark"] .tiyeni-has-dark-logo .tiyeni-logo-dark { display: inline-block !important; }

/* Dark view */
:root[data-theme="dark"] body { background: var(--tt-bg); color: var(--wp--preset--color--ink); }
:root[data-theme="dark"] .has-white-background-color, :root[data-theme="dark"] .has-base-background-color { background-color: var(--tt-surface) !important; }
:root[data-theme="dark"] .has-ink-background-color { background-color: var(--tt-band) !important; }
:root[data-theme="dark"] .has-ink-background-color, :root[data-theme="dark"] .has-green-background-color, :root[data-theme="dark"] .has-green-dark-background-color { color: #fff; }
:root[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link.has-ink-background-color { color: #0B1A12 !important; background-color: var(--wp--preset--color--ink) !important; }
:root[data-theme="dark"] .tt-header .wp-block-navigation__submenu-container, :root[data-theme="dark"] .wp-block-navigation__responsive-container.is-menu-open { background: var(--tt-surface) !important; color: var(--wp--preset--color--ink) !important; }
:root[data-theme="dark"] .tt-hero-photo .wp-block-cover__background, :root[data-theme="dark"] .wp-block-cover .has-background-dim:not(.tt-foot-photo .wp-block-cover__background) { filter: brightness(.85); }
:root[data-theme="dark"] img:not(.custom-logo):not(.tiyeni-logo-dark) { filter: brightness(.92); }
:root[data-theme="dark"] .leaflet-tile-pane { filter: brightness(.7) contrast(1.15) saturate(.8); }
:root[data-theme="dark"] .tt-hero-photo h1, :root[data-theme="dark"] .tt-foot-photo h2 { color: #fff; }
:root[data-theme="dark"] .tt-cta .wp-block-button__link { color: #fff; }
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea { color-scheme: dark; }
:root[data-theme="dark"] .wp-block-search__input { background: var(--tt-surface); color: var(--wp--preset--color--ink); }
body, .tt-header, .tiyeni-card, .tiyeni-form { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }

/* Gentle animations (switch: Tiyeni → Settings → Colours, fonts & header) */
@media (prefers-reduced-motion: no-preference) {
	.tiyeni-motion .tt-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--tt-delay, 0ms); }
	.tiyeni-motion .tt-reveal.is-in { opacity: 1; transform: none; }
	.tiyeni-motion .tiyeni-card, .tiyeni-motion .tt-story-card, .tiyeni-motion .tiyeni-region, .tiyeni-motion .tt-steps > .wp-block-column { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
	.tiyeni-motion .tiyeni-card:hover, .tiyeni-motion .tt-story-card:hover, .tiyeni-motion .tiyeni-region:hover, .tiyeni-motion .tt-steps > .wp-block-column:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(11,42,49,.14); }
	.tiyeni-motion .tiyeni-card img, .tiyeni-motion .tt-story-card .wp-block-post-featured-image img, .tiyeni-motion .tiyeni-region img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
	.tiyeni-motion .tiyeni-card:hover img, .tiyeni-motion .tt-story-card:hover .wp-block-post-featured-image img, .tiyeni-motion .tiyeni-region:hover img { transform: scale(1.05); }
	.tiyeni-motion .wp-block-button__link, .tiyeni-motion .tiyeni-btn { transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
	.tiyeni-motion .wp-block-button__link:hover, .tiyeni-motion .tiyeni-btn:hover { transform: translateY(-1px); }
	.tiyeni-motion .tt-hero-photo h1, .tiyeni-motion .tt-hero-photo .tt-lead, .tiyeni-motion .tt-hero-photo .tt-eyebrow, .tiyeni-motion .tt-hero-photo .tiyeni-search { animation: tt-rise .9s cubic-bezier(.2,.7,.2,1) both; }
	.tiyeni-motion .tt-hero-photo .tt-lead { animation-delay: .08s; }
	.tiyeni-motion .tt-hero-photo .tiyeni-search { animation-delay: .16s; }
	@keyframes tt-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
}

/* ===== V2 page layouts (Demo import) ===== */
.tt-pagehead { padding-top: clamp(2rem, 5vw, 3.75rem); }
.tt-pagehead h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.05; margin: .2rem 0 .7rem; letter-spacing: -.01em; }
.tt-pagehead .tt-lead { max-width: 60ch; margin-top: 0; }
.tt-pagehead .tt-eyebrow a { color: inherit; text-decoration: none; }
.tt-section--tight { padding-top: clamp(1.25rem, 3vw, 2rem); }
.tt-hero-photo .tt-hero-split { gap: clamp(1.5rem, 4vw, 3rem); }
.tt-hero-photo h1 { font-size: clamp(2.3rem, 5.2vw, 3.6rem); line-height: 1.04; margin: .2rem 0 .8rem; }
.tt-hero-card { background: var(--tt-surface, #fff); color: var(--wp--preset--color--ink); border-radius: 20px; padding: 1.25rem 1.4rem 1.4rem; box-shadow: 0 20px 50px rgba(0,0,0,.25); max-width: 420px; margin-left: auto; }
.tt-hero-card h3 { margin: 0 0 .6rem; font-size: 1.15rem; color: var(--wp--preset--color--ink) !important; }
.tt-numlist { list-style: none; counter-reset: n; padding: 0; margin: 0 0 1rem; display: grid; gap: .45rem; }
.tt-numlist li { counter-increment: n; position: relative; padding-left: 1.6rem; color: var(--wp--preset--color--ink); }
.tt-numlist li::before { content: counter(n); position: absolute; left: 0; font-weight: 900; color: var(--wp--preset--color--green); }
.tt-btn-block .wp-block-button { width: 100%; }
.tt-btn-block .wp-block-button__link { width: 100%; }
.tt-on-dark .is-style-outline .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.8) !important; background: transparent !important; }
.tt-on-dark .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12) !important; }
.tt-note { background: var(--wp--preset--color--sand); border-radius: 14px; padding: .9rem 1.1rem; margin-top: 1.25rem !important; font-size: .92rem; color: var(--wp--preset--color--muted); }
.tt-tiles { gap: 1.1rem !important; }
.tt-tile { background: var(--wp--preset--color--sand); border-radius: 20px; padding: clamp(1.1rem, 2.4vw, 1.6rem); box-sizing: border-box; }
.tt-tiles .tt-tile { height: 100%; }
.tt-tile + .tt-tile { margin-top: 1rem; }
.tt-tile h3 { margin: 0 0 .45rem; font-size: 1.2rem; }
.tt-tile p { margin: 0; color: var(--wp--preset--color--muted); }
.tt-tile p strong { color: var(--wp--preset--color--ink); }
.tt-steps.is-sand > .wp-block-column { background: var(--wp--preset--color--sand); border: 0; border-radius: 20px; }
.tt-steps.is-sand .tt-step-n { background: var(--wp--preset--color--green); color: #fff !important; }
.tt-steps.is-lite > .wp-block-column { padding: 1.1rem 1.2rem; }
.tt-steps.is-lite .tt-step-t { color: var(--wp--preset--color--green-dark); font-size: .95rem; margin-bottom: .4rem; }
.tt-gap-lg { gap: clamp(1.75rem, 5vw, 4rem) !important; }
.tt-faq { max-width: 860px; }
.tt-rounded img, .wp-block-image.tt-rounded img { border-radius: 20px; width: 100%; height: 100%; object-fit: cover; }
.tt-img-wide img { aspect-ratio: 16/8; }
.tt-img-pair { gap: 12px !important; margin-top: 12px !important; }
.tt-img-pair img { aspect-ratio: 1/1; }
.tt-img-pair .wp-block-image { margin: 0; }
.tt-stat-n { font-size: clamp(1.9rem, 3.5vw, 2.4rem) !important; font-weight: 900; color: var(--wp--preset--color--green) !important; line-height: 1.1; margin-bottom: .5rem !important; }
.tt-band { border-radius: 26px; padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 3rem) !important; }
.tt-band h2 { color: #fff; margin: 0 0 .4rem; }
.tt-band p { color: rgba(255,255,255,.82); margin: 0; }
.tt-band-logo { margin: 0; }
.tt-band-logo img { max-width: 170px; height: auto; }
.tt-split-wrap { margin-top: 0 !important; }
.tt-split { gap: 0 !important; margin: 0 !important; }
.tt-split > .wp-block-column:last-child { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 5vw, 4rem) clamp(1rem, 6vw, 5rem); box-sizing: border-box; }
.tt-split > .wp-block-column:last-child > * { width: 100%; max-width: 460px; margin-inline: auto; }
.tt-split-photo { height: calc(100% - 1.5rem); border-radius: 26px; overflow: hidden; margin: .5rem 0 1rem !important; }
.tt-split-photo h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; margin: 0 0 .5rem; max-width: 18ch; }
.tt-split-photo p { color: rgba(255,255,255,.88); margin: 0; }
.tt-center { text-align: center; }
@media (max-width: 781px) {
	.tt-hero-card { margin: 0; max-width: none; }
	.tt-split-photo { min-height: 260px !important; }
	.tt-band .wp-block-columns { gap: 1rem; }
}

/* Photo heroes: content lines up with the page column (WordPress sets margin:0 for positioned covers). */
.tt-hero-photo.wp-block-cover { padding-left: max(1.5rem, calc((100% - 1200px) / 2 - 1rem)) !important; padding-right: max(1.5rem, calc((100% - 1200px) / 2 - 1rem)) !important; }
.tt-hero-photo.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
.tt-foot-photo.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container { width: 100%; max-width: 1200px; margin-inline: auto; }
.tt-listform .tiyeni-form > h2.tiyeni-span { display: none; }
.tt-hero-photo .wp-block-cover__inner-container > * { margin-left: 0 !important; }
.tt-hero-photo .wp-block-cover__inner-container > h1 { max-width: 16ch !important; }
.tt-hero-photo .wp-block-cover__inner-container > .tt-lead { max-width: 60ch !important; }

/* Section heads with a short intro and an optional link on the right */
.tt-intro { color: var(--wp--preset--color--muted); max-width: 62ch; margin-top: -.35rem !important; font-size: 1.05rem; }
.tt-intro.has-text-align-center { margin-inline: auto; }
.tt-sechead { margin-bottom: 1.25rem !important; gap: 1rem !important; }
.tt-sechead h2 { margin-bottom: .35rem; }
.tt-sechead .tt-intro { margin-bottom: 0; }
.tt-head-link { justify-content: flex-end; }
@media (max-width: 781px) { .tt-head-link { justify-content: flex-start; } }
.wp-block-post-content > .wp-block-tiyeni-hero.alignfull { margin-top: 0; }

/* Phone menu: a blurred header would trap the full-screen menu panel inside it. */
body.tiyeni-nav-open .tt-header, body.tiyeni-nav-open header.wp-block-template-part { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; transform: none !important; }
body.tiyeni-nav-open .tt-header { background: var(--tt-surface, #fff) !important; }
.tt-header .tiyeni-nav { margin-inline: auto; }
@media (max-width: 1000px) { .tt-header .tiyeni-nav { margin-inline: auto 0; order: 3; } .tt-header .tt-header-tools { order: 2; margin-left: auto; } }

/* ===== 0.3.0 ===== */
/* Join / My account when signed in: no photo column; one comfortable column with even spacing. */
body.logged-in .tt-split-wrap .tt-split > .wp-block-column:first-child { display: none; }
body.logged-in .tt-split-wrap .tt-split > .wp-block-column:last-child { flex-basis: 100% !important; justify-content: flex-start; padding: clamp(1.75rem, 4vw, 3rem) var(--wp--style--root--padding-right, 1.25rem) clamp(2.5rem, 6vw, 4.5rem); }
body.logged-in .tt-split-wrap .tt-split > .wp-block-column:last-child > * { max-width: 920px; }
body.logged-in .tt-split-wrap .tt-fine { display: none; }
.tiyeni-account { display: grid; gap: 1.1rem; }
.tiyeni-account > * { margin-block: 0 !important; }
.tiyeni-account__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.tiyeni-account__head h2 { margin: 0; }
.tiyeni-account > h3 { margin-top: .75rem !important; }
.tiyeni-account .tiyeni-details { padding: 1rem 1.15rem; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; }
.tiyeni-account .tiyeni-details summary { cursor: pointer; font-weight: 800; }
.tiyeni-account .tiyeni-details[open] summary { margin-bottom: .9rem; }

/* Event and guide pages */
.tt-event__cols { margin-top: 0 !important; }
.tt-guide .tiyeni-kb { margin-top: .5rem; }

/* Carousel cards inside revealed sections never shift (keeps the row tidy). */
.tiyeni-rail .tt-reveal, .tiyeni-rail__track > * { transform: none !important; opacity: 1 !important; }
