/* =====================================
   CONTENT / BLOCK STYLES
   Loaded on the front end AND inside the block editor,
   so what the client edits looks like the live site.
===================================== */

.entry-content > *:first-child { margin-top: 0; }
.tkd-full > * { margin-top: 0; margin-bottom: 0; }

/* ---------- HERO (Cover block with class tkd-hero) ---------- */
.wp-block-cover.tkd-hero { min-height: 100vh; padding: 20px; }
.tkd-hero .wp-block-cover__inner-container { text-align: center; }
.tkd-hero .wp-block-image { margin: 0 auto; }
.tkd-hero .wp-block-image img { width: 170px; height: auto; }
.tkd-hero h1 {
	font-size: 55px; font-weight: 900; line-height: 1.15;
	margin: 25px 0 0; color: #fff;
}
.tkd-hero p { margin-top: 25px; font-size: 20px; color: #fff; }

/* ---------- SECTIONS (Group block styles) ---------- */
.is-style-tkd-section,
.is-style-tkd-section-dark {
	padding: 100px 8%;
	text-align: center;
	scroll-margin-top: 70px;
}
.is-style-tkd-section { background: var(--wp--preset--color--dark, #070707); }
.is-style-tkd-section-dark { background: #111; }

.is-style-tkd-section h2.wp-block-heading,
.is-style-tkd-section-dark h2.wp-block-heading {
	font-size: 40px; margin: 0 0 35px; line-height: 1.2;
}
.is-style-tkd-section h2.wp-block-heading::after,
.is-style-tkd-section-dark h2.wp-block-heading::after {
	content: ""; display: block; width: 80px; height: 4px;
	background: var(--wp--preset--color--red, #d90429); margin: 15px auto;
}
.has-text-align-left.wp-block-heading::after { margin-left: 0 !important; }

.is-style-tkd-section p,
.is-style-tkd-section-dark p { line-height: 1.8; color: #ddd; }

/* About text: justified long-form copy */
.tkd-about-text { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
.tkd-about-text p { text-align: justify; font-size: 18px; line-height: 1.9; color: #ddd; margin: 0 0 30px; }

/* ---------- CARDS ---------- */
.tkd-cards {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	max-width: 1200px; margin-left: auto !important; margin-right: auto !important;
}
.tkd-cards > * { margin: 0 !important; max-width: none !important; }
.is-style-tkd-card {
	background: #080808; padding: 35px; border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, .1);
	transition: transform .4s, border-color .4s;
}
.is-style-tkd-card:hover { transform: translateY(-10px); border-color: var(--wp--preset--color--red, #d90429); }
.is-style-tkd-card h3 { color: var(--wp--preset--color--gold, #d4af37); margin: 0 0 15px; font-size: 1.17em; }
.is-style-tkd-card p { margin: 0; }

/* ---------- GALLERY (class tkd-gallery) ---------- */
.wp-block-gallery.tkd-gallery.has-nested-images {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
	max-width: 1400px; margin-left: auto; margin-right: auto;
}
.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: auto; margin: 0; max-width: none; flex: none;
}
.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img {
	height: 260px; flex: none; width: 100%; object-fit: cover; border-radius: 15px;
	cursor: pointer; transition: transform .4s;
}
.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image:hover img { transform: scale(1.05); }
.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image figcaption {
	border-radius: 0 0 15px 15px;
}
/* overflow visible so the hover zoom is not clipped (matches original) */
.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image,
.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image a { overflow: visible; }

/* ---------- CONTACT ---------- */
.tkd-contact-info { margin: 0; padding: 0; list-style: none; }
.tkd-contact-info li { margin: 0 0 16px; line-height: 1.8; color: #ddd; }
.tkd-contact-info a { color: #fff; }
.tkd-contact-info a:hover { color: var(--wp--preset--color--red, #d90429); }
.tkd-contact-info .map-link { color: var(--wp--preset--color--gold, #d4af37); }
.tkd-contact-info .icon { margin-right: 6px; }

/* ---------- COACH / PROFILE ---------- */
.tkd-profile { background: #080808; text-align: center; padding-bottom: 20px; }
.wp-block-image.tkd-profile-cover { margin: 0; }
.wp-block-image.tkd-profile-cover img {
	width: 100%; height: 350px; object-fit: cover; display: block;
}
.wp-block-image.is-style-tkd-avatar { position: relative; margin: -90px auto 0; }
.wp-block-image.is-style-tkd-avatar img {
	width: 180px; height: 180px; object-fit: cover; border-radius: 50%;
	border: 6px solid #080808; display: block; margin: 0 auto;
}
.tkd-profile h1 { font-size: 45px; margin: 25px 0 0; }
.tkd-subtitle { color: var(--wp--preset--color--gold, #d4af37); font-weight: bold; font-size: 1.17em; margin: 10px; }
.tkd-bio {
	max-width: 850px; margin: 40px auto !important; padding: 20px;
	font-size: 18px; line-height: 1.9; text-align: left;
}
.tkd-bio p { margin: 0; }
.tkd-bio strong, .tkd-page .entry-content strong { color: var(--wp--preset--color--gold, #d4af37); }
.tkd-page .entry-content h2,
.tkd-page .entry-content h3 { color: var(--wp--preset--color--gold, #d4af37); margin: 1.6em 0 .4em; }
.tkd-page .entry-content p { color: #ddd; }

/* ---------- BUTTONS ---------- */
.wp-block-button__link { transition: background .3s, color .3s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff !important; color: #000 !important; }
.tkd-profile .wp-block-buttons { margin: 0 0 50px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
	.tkd-hero h1 { font-size: 45px; }
	.tkd-cards { grid-template-columns: repeat(2, 1fr); }
	.wp-block-gallery.tkd-gallery.has-nested-images { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.tkd-hero .wp-block-image img { width: 120px; }
	.tkd-hero h1 { font-size: 32px; }
	.tkd-hero p { font-size: 15px; }
	.is-style-tkd-section, .is-style-tkd-section-dark { padding: 70px 25px; }
	.is-style-tkd-section h2.wp-block-heading,
	.is-style-tkd-section-dark h2.wp-block-heading { font-size: 30px; }
	.tkd-about-text p { font-size: 17px; text-align: left; }
	.tkd-cards { grid-template-columns: 1fr; }
	.wp-block-gallery.tkd-gallery.has-nested-images { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { height: 160px; }
	.wp-block-image.tkd-profile-cover img { height: 220px; }
	.wp-block-image.is-style-tkd-avatar img { width: 150px; height: 150px; }
	.tkd-profile h1 { font-size: 34px; }
	.tkd-bio { font-size: 17px; }
}
@media (max-width: 400px) {
	.tkd-hero h1 { font-size: 27px; }
	.tkd-hero .wp-block-image img { width: 100px; }
	.wp-block-gallery.tkd-gallery.has-nested-images { grid-template-columns: 1fr; }
	.wp-block-gallery.tkd-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { height: 240px; }
}
