/*
Theme Name: Chatuge Gun Club
Description: Block theme for Chatuge Gun Club, Inc, Towns County, Georgia. Source: /home/cape/chatuge-gun-club/theme/chatuge (copied into the site by build/deploy.sh, never linked).
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: chatuge
*/

/* Most of the look lives in theme.json. This file holds what theme.json cannot say. */

:root {
	--cgc-radius: 6px;
	--cgc-shadow: 0 1px 2px rgba(21, 35, 58, .06), 0 6px 20px rgba(21, 35, 58, .08);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--sky);
	outline-offset: 2px;
}

/* Skip link */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--paper); color: var(--wp--preset--color--navy);
	padding: .75rem 1rem; z-index: 100000; top: .5rem; left: .5rem;
}

/* Top bar */
.cgc-topbar { font-size: .9rem; line-height: 1.4; }
.cgc-topbar p { margin: 0; }
.cgc-topbar a { color: inherit; }

/* Header */
.cgc-header { position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 0 rgba(21, 35, 58, .1); }
.admin-bar .cgc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cgc-header { top: 0; position: relative; } }
.cgc-header .wp-block-site-logo img { max-height: 64px; width: auto; }
.cgc-header .wp-block-site-title a { text-decoration: none; }
.cgc-header .wp-block-navigation a { text-decoration: none; font-weight: 600; }
.cgc-header .wp-block-navigation a:hover { text-decoration: underline; }
.cgc-tagline { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin: 0; }

/* Page title band */
.cgc-titleband h1 { margin: 0; }

/* Cards */
.cgc-card {
	background: var(--wp--preset--color--white);
	border-radius: var(--cgc-radius);
	box-shadow: var(--cgc-shadow);
	height: 100%;
}
.cgc-card > :first-child { margin-top: 0; }
.cgc-kicker {
	font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--wp--preset--color--walnut); margin-bottom: .25rem;
}

/* Photo slots: placeholder art until the club sends photos */
.cgc-photo img { border-radius: var(--cgc-radius); width: 100%; height: auto; display: block; }
.cgc-photo figcaption { font-size: .85rem; color: var(--wp--preset--color--slate); }

/* Steps */
.cgc-steps { counter-reset: step; list-style: none; padding-left: 0; }
.cgc-steps > li {
	counter-increment: step; position: relative; padding-left: 3.25rem; margin-bottom: 1.25rem;
}
.cgc-steps > li::before {
	content: counter(step); position: absolute; left: 0; top: -.1rem;
	width: 2.25rem; height: 2.25rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--wp--preset--color--navy); color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--slab); font-weight: 800;
}

/* Tables (match calendar) */
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .975rem; }
.wp-block-table th { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--white); text-align: left; }
.wp-block-table th, .wp-block-table td { padding: .6rem .75rem; border: 1px solid var(--wp--preset--color--mist); vertical-align: top; }
.wp-block-table tbody tr:nth-child(even) { background: var(--wp--preset--color--mist); }
@media (max-width: 700px) {
	.wp-block-table { overflow-x: auto; }
	.wp-block-table table { min-width: 560px; }
}

/* Preview ribbon (only while the site is a private preview) */
.cgc-preview-ribbon {
	background: var(--wp--preset--color--walnut); color: #fff; text-align: center;
	font-size: .85rem; padding: .4rem 1rem; margin: 0;
}

/* Footer */
.cgc-footer a { color: inherit; }
.cgc-footer h2, .cgc-footer h3 { color: var(--wp--preset--color--white); }
.cgc-footer .wp-block-site-logo img { max-height: 96px; width: auto; background: #fff; border-radius: 10px; padding: 8px; }
.cgc-footer .wp-block-separator { opacity: .5; }
.wp-block-post-content.alignfull > .alignfull:first-child { margin-top: 0; }
main > .wp-block-post-content.alignfull { margin-top: 0; }

@media (prefers-reduced-motion: no-preference) {
	.wp-element-button, .wp-block-button__link { transition: background-color .15s ease, color .15s ease; }
}

/* Hero */


/* Phones: the Join button lives in the menu; the header keeps logo and menu only */
.wp-block-navigation .cgc-nav-join { display: none; }
@media (max-width: 781px) {
	.cgc-header .wp-block-buttons { display: none; }
	.wp-block-navigation__responsive-container.is-menu-open .cgc-nav-join { display: flex; }
	.cgc-topbar .wp-block-group { gap: .15rem; }
}
