/* Kinetica — WordPress-specific styles (menus, content, Elementor) */

/* menus */
.logo .custom-logo-link { display: flex; }
.logo .custom-logo { width: auto; max-height: 48px; }
.skip-link:focus { position: fixed; left: 16px; top: 16px; z-index: 100; width: auto; height: auto; clip: auto; padding: 12px 18px; background: var(--accent); color: var(--ink); border-radius: 999px; }

/* images inside cards */
.frame-img, .photo-img, .cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.work-card:hover .frame-img, .member:hover .photo-img { transform: scale(1.06); }
.gallery-stage { position: relative; border-radius: 28px; background: var(--ink); overflow: hidden; height: clamp(280px, 44vw, 540px); }
.gallery-slide { position: absolute; inset: 0; }
.gallery-slide svg { width: 100%; height: 100%; }
.map-box { position: relative; flex: 1.4 1 480px; min-width: 0; height: 420px; border-radius: 32px; background: var(--ink); overflow: hidden; }
.map-box svg { width: 100%; height: 100%; }

/* default pages & posts */
.page-head { padding-block: clamp(48px, 8vw, 112px) 48px; }
.entry-content { padding-bottom: 112px; max-width: 820px; font-size: 18px; line-height: 1.7; color: var(--soft); }
.entry-content > * { margin-block: 0 1.2em; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family: var(--font-display); color: var(--fg); letter-spacing: -.02em; line-height: 1.15; margin-top: 1.6em; }
.entry-content h2 { font-size: clamp(28px, 3vw, 40px); }
.entry-content h3 { font-size: 26px; }
.entry-content a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.entry-content img { height: auto; border-radius: 16px; }
.entry-content blockquote { margin-left: 0; padding-left: 24px; border-left: 3px solid var(--accent); font-family: var(--font-display); font-size: 24px; color: var(--fg); }
.entry-content pre, .entry-content code { background: var(--card); border-radius: 8px; }
.entry-content pre { padding: 20px; overflow-x: auto; }
.entry-content .alignwide { max-width: 1100px; }
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.post-hero img { width: 100%; height: auto; border-radius: 28px; margin-bottom: 48px; }

.post-card-link { display: block; }
.post-card-link:hover { color: inherit; }
.post-card-media { position: relative; height: 260px; border-radius: 24px; overflow: hidden; background: var(--card); margin-bottom: 18px; }
.post-card-media img, .post-card-media svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.post-card-link:hover .post-card-media img, .post-card-link:hover .post-card-media svg { transform: scale(1.05); }
.post-card-meta { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-2); }
.post-card-title { margin: 8px 0; font-family: var(--font-display); font-size: 24px; font-weight: 500; line-height: 1.2; }
.post-card-excerpt { margin: 0; color: var(--muted); line-height: 1.6; }
.pagination { margin-top: 56px; }
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-2); }
.pagination .page-numbers.current { background: var(--accent); color: var(--ink); border-color: var(--accent); }

.search-form { display: flex; gap: 8px; margin-top: 24px; }
.search-form .search-field { min-height: 52px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--card); color: var(--fg); }
.search-form .search-submit { min-height: 52px; padding: 0 24px; border-radius: 999px; border: none; background: var(--accent); color: var(--ink); font-weight: 600; }

/* comments */
.comment-list { list-style: none; padding: 0; }
.comment-body { padding: 20px 0; border-bottom: 1px solid var(--line); }
.comment-form input:not([type="submit"]):not([type="checkbox"]), .comment-form textarea { width: 100%; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--line-2); background: var(--card); color: var(--fg); }
.comment-form .submit { min-height: 52px; padding: 0 28px; border-radius: 999px; border: none; background: var(--accent); color: var(--ink); font-weight: 600; }

/* Elementor: let Kinetica sections run edge to edge without extra gaps */
.elementor-widget[class*="elementor-widget-kinetica-"] > .elementor-widget-container { margin: 0; padding: 0; }
.elementor-section .elementor-widget[class*="elementor-widget-kinetica-"]:not(:last-child) { margin-bottom: 0; }
.elementor-editor-active .reveal { opacity: 1; transform: none; }

/* admin bar offset for fixed elements */
.admin-bar .skip-link:focus { top: 48px; }
.elementor .case-logo { width: auto; height: clamp(52px, 7vw, 84px); }

/* CAPTCHA (Cloudflare Turnstile) */
.captcha { min-height: 65px; max-width: 420px; }
