/*
Theme Name: Drop in by Kimble
Theme URI: https://dropinusa.com
Author: Marvin Kimble
Author URI: https://dropinusa.com
Description: A clean, fast, independent WordPress theme built for Drop in by Kimble and designed to connect with the Drop in Studio plugin for Studio Builder, Studio Blocks, Page Stack, Launch Controls, and Site Wide Preferences.
Version: 1.1.2
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: drop-in-by-kimble
Tags: custom-logo, custom-menu, featured-images, block-styles, wide-blocks, responsive-layout, one-column, two-columns
*/

:root {
  --dibk-bg: #ffffff;
  --dibk-surface: #f6f7f8;
  --dibk-text: #121417;
  --dibk-muted: #666f7a;
  --dibk-border: #dde2e8;
  --dibk-accent: #0b6bff;
  --dibk-accent-dark: #074fbd;
  --dibk-radius: 18px;
  --dibk-container: 1140px;
  --dibk-shadow: 0 18px 45px rgba(18, 20, 23, 0.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--dibk-text);
  background: var(--dibk-bg);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--dibk-accent); text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; }
a:hover { color: var(--dibk-accent-dark); }

.site-wrap { min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1; }
.container, .entry-content > *:not(.alignfull) { width: min(var(--dibk-container), calc(100% - 40px)); margin-left: auto; margin-right: auto; }
.alignwide { width: min(1280px, calc(100% - 40px)); margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; margin-left: 0; margin-right: 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--dibk-border);
}
.header-inner {
  width: min(var(--dibk-container), calc(100% - 40px));
  margin: 0 auto;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-branding { display: flex; align-items: center; gap: 12px; min-width: 0; }
.custom-logo-link img { max-height: 48px; width: auto; }
.site-title { margin: 0; font-size: 1.08rem; font-weight: 800; letter-spacing: -0.03em; }
.site-title a { color: var(--dibk-text); text-decoration: none; }
.site-description { margin: 2px 0 0; color: var(--dibk-muted); font-size: 0.9rem; }

.primary-menu { display: flex; align-items: center; justify-content: flex-end; gap: 6px; list-style: none; margin: 0; padding: 0; }
.primary-menu li { position: relative; }
.primary-menu a { color: var(--dibk-text); text-decoration: none; display: block; padding: 10px 12px; border-radius: 999px; font-weight: 650; font-size: 0.95rem; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { background: var(--dibk-surface); color: var(--dibk-accent-dark); }
.menu-toggle { display: none; border: 1px solid var(--dibk-border); background: #fff; border-radius: 12px; padding: 10px 12px; font-weight: 750; }

.hero-panel {
  width: min(var(--dibk-container), calc(100% - 40px));
  margin: 48px auto;
  padding: clamp(36px, 7vw, 88px);
  border-radius: calc(var(--dibk-radius) + 10px);
  background: linear-gradient(135deg, #f7fbff 0%, #eef4ff 55%, #ffffff 100%);
  box-shadow: var(--dibk-shadow);
  border: 1px solid var(--dibk-border);
}
.hero-panel h1 { margin: 0 0 16px; font-size: clamp(2.3rem, 7vw, 5.8rem); line-height: 0.95; letter-spacing: -0.075em; }
.hero-panel p { max-width: 720px; margin: 0; color: var(--dibk-muted); font-size: clamp(1.05rem, 2vw, 1.35rem); }

.entry-header { width: min(900px, calc(100% - 40px)); margin: 52px auto 26px; }
.entry-title { margin: 0; font-size: clamp(2.2rem, 5vw, 4.6rem); line-height: 1; letter-spacing: -0.065em; }
.entry-meta { color: var(--dibk-muted); margin-top: 12px; font-size: 0.95rem; }
.entry-content { font-size: 1.05rem; }
.entry-content h2, .entry-content h3 { line-height: 1.12; letter-spacing: -0.04em; margin-top: 1.8em; }
.entry-content h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.entry-content h3 { font-size: clamp(1.35rem, 2.3vw, 2rem); }
.entry-content p, .entry-content ul, .entry-content ol { margin-top: 0; margin-bottom: 1.2em; }
.entry-content .wp-block-button__link, .button, button, input[type="submit"] {
  border: 0;
  background: var(--dibk-accent);
  color: #fff;
  padding: 13px 20px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.entry-content .wp-block-button__link:hover, .button:hover, button:hover, input[type="submit"]:hover { background: var(--dibk-accent-dark); color: #fff; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { background: #fff; border: 1px solid var(--dibk-border); border-radius: var(--dibk-radius); padding: 24px; box-shadow: 0 10px 28px rgba(18,20,23,0.06); }
.card h2, .card h3 { margin-top: 0; }

.posts-list { width: min(920px, calc(100% - 40px)); margin: 42px auto; display: grid; gap: 24px; }
.post-card { border: 1px solid var(--dibk-border); border-radius: var(--dibk-radius); padding: 24px; background: #fff; }
.post-card h2 { margin: 0 0 8px; font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.12; }
.post-card h2 a { color: var(--dibk-text); text-decoration: none; }
.post-card h2 a:hover { color: var(--dibk-accent-dark); }

.site-footer { margin-top: 70px; border-top: 1px solid var(--dibk-border); background: var(--dibk-surface); }
.footer-inner { width: min(var(--dibk-container), calc(100% - 40px)); margin: 0 auto; padding: 34px 0; display: flex; justify-content: space-between; gap: 20px; color: var(--dibk-muted); font-size: 0.95rem; }
.footer-inner a { color: inherit; }

.wp-block-image img, .wp-block-cover, .wp-block-media-text { border-radius: var(--dibk-radius); overflow: hidden; }
.wp-block-quote { border-left: 4px solid var(--dibk-accent); padding-left: 20px; color: var(--dibk-muted); }
.wp-block-separator { border: 0; border-top: 1px solid var(--dibk-border); margin: 42px auto; }
input, textarea, select { width: 100%; border: 1px solid var(--dibk-border); border-radius: 12px; padding: 12px 14px; font: inherit; }
label { font-weight: 750; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

@media (max-width: 820px) {
  .header-inner { min-height: 68px; }
  .menu-toggle { display: inline-flex; }
  .site-navigation { position: absolute; inset: 68px 20px auto 20px; background: #fff; border: 1px solid var(--dibk-border); border-radius: var(--dibk-radius); box-shadow: var(--dibk-shadow); padding: 10px; display: none; }
  .site-navigation.is-open { display: block; }
  .primary-menu { display: grid; justify-content: stretch; }
  .primary-menu a { border-radius: 12px; }
  .card-grid { grid-template-columns: 1fr; }
  .footer-inner { display: grid; }
}

/* Drop in Studio bridge */
.dibk-studio-connected {
  --dibk-accent: var(--dropin-color-primary, #0b6bff);
  --dibk-bg: var(--dropin-color-background, #ffffff);
  --dibk-surface: var(--dropin-color-surface, #f6f7f8);
  --dibk-text: var(--dropin-color-text, #121417);
  --dibk-muted: var(--dropin-color-muted, #667085);
  --dibk-container: var(--dropin-content-width, 1140px);
}
.studio-canvas-blank .entry-content,
.studio-canvas-landing .entry-content {
  margin: 0;
}
.studio-canvas-content {
  padding-top: 48px;
  padding-bottom: 72px;
}
