/*
Theme Name: Smithy
Template: twentytwentyfive
Description: Look für Smithy – Creative Social Club. Baut auf Twenty Twenty-Five auf.
Version: 1.4.8
Author: Smithy – Creative Social Club
Requires at least: 6.7
Text Domain: smithy
License: GPL-2.0-or-later
*/

/* Kleine Feinheiten, die theme.json nicht abdeckt. */
.smithy-eyebrow { font-family: var(--wp--preset--font-family--spartan); text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; font-weight: 600; }
.smithy-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .smithy-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .smithy-header { top: 0; position: relative; } }
.smithy-header .wp-block-image img { display: block; }
.smithy-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 1px; }
.smithy-footer a { color: inherit; text-decoration: none; }
.smithy-footer a:hover { color: var(--wp--preset--color--rose); }
.smithy-footer ul { list-style: none; padding: 0; margin: 0; }
.smithy-footer li { margin: .25rem 0; }
::selection { background: var(--wp--preset--color--rose); color: var(--wp--preset--color--ink); }

/* Termin-Seiten: keine Blog-Angaben */
.single-smithy_event .wp-block-post-author-name, .single-smithy_event .wp-block-post-date { display: none; }

/* Buchungs-Plugin an das Theme anpassen */
.sb-cal, .sb-facts, .sb-signup, .sb-newsletter, .sb-konto { font-family: inherit; }
.sb-form { border-color: rgba(43,43,43,.12); }
.sb-facts { background: var(--wp--preset--color--beige-light); }
.smithy-header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) { .smithy-header-cta .wp-block-button__link { padding: .5rem .9rem !important; font-size: .82rem !important; } }
.home .wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.home main .wp-block-post-content > .alignfull { margin-block-start: 0; }
.wp-block-cover .wp-block-cover__inner-container p { opacity: .6; }
.smithy-steps h3 { margin-top: .4rem; }
/* Seiten: Inhalt, der mit einem farbigen Band endet, schließt direkt an die Fußzeile an */
.wp-block-post-content:has(> .alignfull:last-child) { padding-bottom: 0 !important; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
main:has(.wp-block-post-content > .alignfull:last-child) { margin-bottom: 0; }
.smithy-facts { list-style: none; padding: 0; margin-top: 1rem; font-size: .95rem; }
.smithy-facts li { padding: .35rem 0; border-top: 1px solid rgba(43,43,43,.12); }
.smithy-jump { font-family: var(--wp--preset--font-family--spartan); font-weight: 500; }
.smithy-jump a { text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--rose); }
.smithy-faq { border-top: 1px solid rgba(43,43,43,.15); padding: .9rem 0; }
.smithy-faq summary { cursor: pointer; font-family: var(--wp--preset--font-family--spartan); font-weight: 600; font-size: 1.15rem; }
.smithy-faq[open] summary { margin-bottom: .5rem; }

/* Bilder mit festem Seitenverhältnis immer volle Breite */
.wp-block-image img[style*="aspect-ratio"] { width: 100%; }

/* Programm: Kategorien und Format-Kacheln */
.smithy-cat { scroll-margin-top: 100px; }
.smithy-cat__lead { max-width: 640px; margin-left: 0 !important; }
.smithy-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 2rem 1.5rem; }
.smithy-tiles > * { margin: 0 !important; }
.smithy-tile { position: relative; }
.smithy-tile .wp-block-image { margin: 0; }
.smithy-tile .wp-block-image img { transition: transform .25s; }
.smithy-tile .wp-block-image { overflow: hidden; border-radius: 6px; }
.smithy-tile:hover .wp-block-image img { transform: scale(1.03); }
.smithy-tile h3 { margin: .8rem 0 .15rem !important; font-size: 1.2rem; line-height: 1.15; }
.smithy-tile h3 a { color: inherit; text-decoration: none; }
.smithy-tile h3 a::after { content: ""; position: absolute; inset: 0; }
.smithy-tile:hover h3 a { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.smithy-tile p { margin: .2rem 0 0 !important; font-size: .95rem; }
.smithy-tile p.smithy-tile__tech { margin-top: .45rem !important; font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; color: rgba(43,43,43,.6); }
@media (max-width: 600px) { .smithy-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; } .smithy-tile h3 { font-size: 1.05rem; } .smithy-tile p { font-size: .88rem; } }
.smithy-jump + .sb-filter { margin-top: 1.1rem; }

/* Programm: Angebotsarten als Kästchen, Techniken als feine Links */
.smithy-cats { display: flex; flex-wrap: wrap; gap: .5rem; }
.smithy-cats a { display: inline-block; padding: .5rem 1.05rem; border: 1px solid rgba(43,43,43,.28); border-radius: 99px; border-bottom-width: 1px; border-bottom-color: rgba(43,43,43,.28); font-weight: 700; font-size: .95rem; line-height: 1.2; color: var(--wp--preset--color--ink); text-decoration: none; transition: background .15s, color .15s; }
.smithy-cats a:hover, .smithy-cats a:focus-visible { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: #fff; }
.smithy-jump + .sb-filter { margin-top: 1rem; }
.sb-filter { gap: .35rem 1.3rem; align-items: baseline; }
.sb-filter .sb-filter__btn { padding: 0 0 .1rem; border: 0; border-bottom: 2px solid var(--wp--preset--color--rose); border-radius: 0; background: none; color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--montserrat, inherit); font-weight: 300; font-size: .98rem; }
.sb-filter .sb-filter__btn:hover, .sb-filter .sb-filter__btn:focus-visible { background: none; border-bottom-color: var(--wp--preset--color--ink); }
.sb-filter .sb-filter__btn.is-active { background: none; color: var(--wp--preset--color--ink); border-bottom-color: var(--wp--preset--color--ink); font-weight: 500; }

/* Bild-Raster statt einzelner großer Bilder */
.smithy-mosaic { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.smithy-mosaic--row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.smithy-mosaic > * { margin: 0 !important; }
.smithy-mosaic .wp-block-image { margin: 0; overflow: hidden; border-radius: 6px; }
.smithy-mosaic img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 6px; transition: transform .3s; }
.smithy-mosaic .wp-block-image:hover img { transform: scale(1.03); }
@media (max-width: 600px) { .smithy-mosaic { gap: 6px; } .smithy-mosaic--row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.smithy-mosaic--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 600px) { .smithy-mosaic--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
