/*
Theme Name: IdeaForKids GeneratePress Child
Theme URI: https://ideaforkids.com/
Description: A warm, playful and responsive printable resource theme built on GeneratePress.
Author: IdeaForKids
Template: generatepress
Version: 1.0.0
Text Domain: ideaforkids-child
*/

:root {
	--ifk-bg: #fffdf8;
	--ifk-surface: #fff;
	--ifk-text: #171717;
	--ifk-muted: #62666d;
	--ifk-primary: #4d96ff;
	--ifk-coral: #ff6655;
	--ifk-yellow: #ffb703;
	--ifk-green: #69bd78;
	--ifk-blue: #4d96ff;
	--ifk-border: #eeece7;
	--ifk-radius: 16px;
	--ifk-container: 1280px;
	--ifk-shadow: 0 8px 24px rgba(30, 35, 45, .045);
}

html { background: var(--ifk-bg); scroll-behavior: smooth; }
body { color: var(--ifk-text); background: var(--ifk-bg); font-family: ui-rounded, "Avenir Next", Avenir, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; }
a { color: #2677e8; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #145dbd; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #206de0; outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.site { position:relative; max-width: var(--ifk-container); margin: 10px auto 18px; overflow: clip; border: 1px solid rgba(235,233,225,.85); border-radius: 18px; background: var(--ifk-surface); box-shadow: var(--ifk-shadow); }
.site-header { background: rgba(255,253,248,.96); }
.inside-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding:10px 30px; }
.main-title { margin: 0; font-size: 26px; font-weight: 850; letter-spacing: -.055em; line-height: 1.1; }
.main-title a { color: inherit; text-decoration: none; }
.site-branding .main-title a { display:inline-flex; align-items:center; gap:0; color:inherit; font-size:26px; }
.site-branding .main-title a::before, .site-branding .main-title a::after { content:none; }
.ifk-logo-bulb { margin-right:7px; font-size:25px; }
.ifk-logo-idea { color:#1682ef; }
.ifk-logo-for { color:#ffad00; }
.ifk-logo-kids { color:#ef3468; }
.site-description { margin-top: 3px; color: var(--ifk-muted); font-size: 11px; }
.main-navigation { position:static; z-index:5; flex:1 1 auto; min-width:0; background:transparent; }
.main-navigation .inside-navigation { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:0; }
.main-navigation .main-nav { flex:0 1 auto; min-width:0; }
.main-navigation .main-nav ul { justify-content:flex-end; }
.main-navigation .main-nav ul li a { padding: 13px 9px; color: #272a2f; font-size: 15px; font-weight:600; white-space:nowrap; }
.main-navigation .main-nav ul li a:hover, .main-navigation .main-nav ul li.current-menu-item > a { color: #1778e8; }
.ifk-nav-search { flex:0 0 auto; margin-left:8px; padding:0; }
.ifk-nav-search form { display: flex; width: 210px; border: 1px solid var(--ifk-border); border-radius: 999px; background: #fff; overflow: hidden; }
.ifk-nav-search input[type="search"] { min-width: 0; border: 0; padding: 10px 13px; font-size: 13px; }
.ifk-nav-search button { border: 0; padding: 0 13px; color: var(--ifk-text); background: transparent; cursor: pointer; }
.site-content { padding: 0 28px; }
.content-area { width: 100%; }
.entry-content { margin-top: 0; }
.ifk-wrap { width: 100%; max-width: 100%; margin: 0 auto; }
.ifk-section { margin: 26px 0 30px; }
.ifk-section-heading { display:flex; align-items:center; justify-content:space-between; gap: 14px; margin-bottom: 15px; }
.ifk-section h2, .ifk-content h2 { margin: 0 0 12px; font-size: clamp(23px, 2.2vw, 30px); line-height: 1.17; letter-spacing: -.04em; font-weight: 800; }
.ifk-section-heading h2 { margin: 0; }
.ifk-section-link { flex: none; font-size: 13px; text-decoration: none; }
.ifk-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.95fr); align-items:center; gap:24px; min-height: 350px; margin-top:18px; padding:32px 42px; border-radius:18px; background:linear-gradient(100deg,#fffdf7 0%,#fffdf7 48%,#fff8e9 100%); overflow:hidden; }
.ifk-kicker { margin: 0 0 14px; color: #646b72; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.ifk-hero h1 { max-width: 570px; margin: 0 0 14px; font-size: clamp(42px,4.7vw,60px); line-height: 1.02; letter-spacing: -.06em; font-weight: 850; }
.ifk-hero h1 span { display:block; }
.ifk-hero-copy { max-width: 440px; margin: 0 0 22px; color: #34383e; font-size: clamp(17px,1.8vw,22px); line-height: 1.4; }
.ifk-button, .ifk-content .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; gap: 10px; min-height: 48px; padding: 12px 24px; border: 0; border-radius: 999px; color:#fff; background: var(--ifk-coral); font-weight:750; text-decoration:none; transition: transform .18s ease, background .18s ease; }
.ifk-button:hover, .ifk-content .wp-block-button__link:hover { color:#fff; background:#eb5142; transform:translateY(-2px); }
.ifk-hero-art { position:relative; min-height:285px; display:flex; align-items:center; justify-content:center; }
.ifk-art-sheet { position:absolute; width:min(35%,200px); aspect-ratio: .72; padding:14px; border:1px solid #e5e0d6; border-radius:8px; background:#fff; box-shadow:0 12px 28px #40301d24; transform:rotate(-9deg) translate(-92px,5px); }
.ifk-art-sheet:nth-child(2) { transform:rotate(5deg) translate(0,-10px); z-index:1; }
.ifk-art-sheet:nth-child(3) { transform:rotate(9deg) translate(92px,12px); }
.ifk-art-sheet strong { display:block; text-align:center; font-size:13px; }
.ifk-art-line { height:7px; margin:12px 0; border-radius:4px; background:#f5e7c1; }
.ifk-art-line:nth-of-type(2) { width:75%; background:#dcedfb; }
.ifk-art-line:nth-of-type(3) { width:88%; background:#f9dada; }
.ifk-art-doodles { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:20px; }
.ifk-art-doodles i { display:block; aspect-ratio:1; border:2px solid #222; border-radius:50%; background:#ffe6a6; }
.ifk-art-doodles i:nth-child(2) { background:#d9efff; }
.ifk-art-doodles i:nth-child(3) { background:#ffd8d3; }
.ifk-benefits { display:flex; flex-wrap:wrap; gap:22px; margin-top:23px; color:#484d52; font-size:12px; }
.ifk-benefits span::before { content:"✓"; display:inline-grid; place-items:center; width:20px; height:20px; margin-right:7px; border-radius:50%; color:white; background:var(--ifk-green); font-weight:800; }
.ifk-grid { display:grid; gap:14px; }
.ifk-category-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ifk-age-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
.ifk-card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--ifk-border); border-radius:var(--ifk-radius); color:var(--ifk-text); background:var(--ifk-surface); text-decoration:none; box-shadow:0 3px 12px rgba(35,40,50,.025); transition:transform .18s ease,box-shadow .18s ease; }
.ifk-card:hover { color:var(--ifk-text); transform:translateY(-3px); box-shadow:var(--ifk-shadow); }
.ifk-category-card { min-height:152px; padding:17px 16px; }
.ifk-category-card:nth-child(5n+1), .ifk-age-card:nth-child(7n+1) { background:#fff2bb; }
.ifk-category-card:nth-child(5n+2), .ifk-age-card:nth-child(7n+2) { background:#eee5ff; }
.ifk-category-card:nth-child(5n+3), .ifk-age-card:nth-child(7n+3) { background:#ffe2dc; }
.ifk-category-card:nth-child(5n+4), .ifk-age-card:nth-child(7n+4) { background:#e0f3ff; }
.ifk-category-card:nth-child(5n+5), .ifk-age-card:nth-child(7n+5) { background:#e9f6d6; }
.ifk-category-card strong { max-width:120px; font-size:17px; line-height:1.15; }
.ifk-category-icon { position:absolute; right:12px; bottom:14px; font-size:48px; opacity:.9; }
.ifk-round-arrow { position:absolute; right:10px; bottom:10px; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--ifk-border); border-radius:50%; background:#fff; font-size:17px; }
.ifk-age-card { min-height:96px; align-items:center; justify-content:center; padding:10px 5px; text-align:center; }
.ifk-age-card strong { font-size:13px; }
.ifk-age-card small { color:var(--ifk-muted); font-size:11px; }
.ifk-post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ifk-post-card .ifk-thumb { display:block; aspect-ratio:1.56; background:#fff5dd; overflow:hidden; }
.ifk-post-card .ifk-thumb img { width:100%; height:100%; object-fit:cover; }
.ifk-thumb-placeholder { display:grid; width:100%; height:100%; place-items:center; color:#e58d20; background:linear-gradient(135deg,#fff1c5,#ffe0d8); font-size:55px; }
.ifk-compact-card { display:grid; grid-template-columns:60px 1fr; align-items:center; gap:9px; border:0; box-shadow:none; }
.ifk-compact-card .ifk-thumb { width:60px; height:54px; border-radius:8px; }
.ifk-compact-card .ifk-card-body { padding:0; }
.ifk-compact-card h3 { margin:0; font-size:12px; line-height:1.3; }
.ifk-compact-card h3 a { color:inherit; text-decoration:none; }
.ifk-compact-card p, .ifk-compact-card .ifk-text-cta { display:none; }
.ifk-archive-header { margin-bottom:19px; }
.ifk-archive-header h1 { margin:0 0 8px; font-size:clamp(30px,3vw,42px); letter-spacing:-.05em; }
.ifk-post-card .ifk-card-body { padding:14px 15px 16px; }
.ifk-card h3 { margin:0 0 6px; font-size:18px; line-height:1.25; letter-spacing:-.025em; }
.ifk-card p { margin:0 0 12px; color:var(--ifk-muted); font-size:13px; line-height:1.5; }
.ifk-text-cta { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border:1px solid #ddd8ce; border-radius:999px; color:#252525; font-size:12px; font-weight:700; }
.ifk-season-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.ifk-season-card { min-height:84px; flex-direction:row; align-items:center; gap:12px; padding:14px; background:#fff5e9; }
.ifk-season-card:nth-child(2n) { background:#eff8e5; }
.ifk-season-card span { font-size:29px; }
.ifk-season-card strong { font-size:14px; line-height:1.2; }
.ifk-newsletter { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0; padding:24px 34px; border-radius:20px; background:linear-gradient(100deg,#f1ffad,#efff84); }
.ifk-newsletter h2 { margin:0 0 4px; font-size:28px; }
.ifk-newsletter p { margin:0; color:#353a2b; }
.ifk-breadcrumbs { margin:15px 0 10px; color:var(--ifk-muted); font-size:12px; }
.ifk-breadcrumbs a { color:inherit; text-decoration:none; }
.ifk-breadcrumbs span { padding:0 7px; color:#9a9a9a; }
.ifk-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:26px; align-items:start; }
.ifk-content { min-width:0; }
.ifk-content h1 { margin:0 0 8px; font-size:clamp(31px,3vw,43px); line-height:1.1; letter-spacing:-.05em; font-weight:820; }
.ifk-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin:0 0 14px; color:#5d6268; font-size:12px; }
.ifk-meta a, .ifk-tag { color:#c35400; text-decoration:none; }
.ifk-intro { margin:0 0 14px; font-size:16px; line-height:1.55; }
.ifk-featured { margin:0 0 14px; overflow:hidden; border-radius:12px; background:#fff1cc; }
.ifk-featured img { display:block; width:100%; max-height:440px; object-fit:cover; }
.ifk-download { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:14px 0 22px; padding:18px; border:1px solid #ffe3e0; border-radius:14px; background:#fff3f1; }
.ifk-download-copy { display:flex; align-items:center; gap:15px; }
.ifk-download-icon { display:grid; place-items:center; width:58px; height:58px; flex:none; border-radius:14px; color:var(--ifk-coral); background:#ffe4e4; font-size:31px; }
.ifk-download h2 { margin:0 0 3px; font-size:17px; }
.ifk-download p { margin:0; color:var(--ifk-muted); font-size:12px; }
.ifk-download-action { text-align:center; }
.ifk-download-action small { display:block; margin-top:4px; color:var(--ifk-muted); font-size:10px; }
.ifk-content > :not(.ifk-breadcrumbs), .ifk-content .entry-content > * { max-width:100%; }
.ifk-content .entry-content { color:#373b40; line-height:1.7; }
.ifk-content .entry-content h2 { margin-top:22px; color:var(--ifk-text); }
.ifk-content .entry-content h3 { margin-top:20px; color:var(--ifk-text); }
.ifk-content .entry-content img { border-radius:10px; }
.ifk-content .entry-content ul li::marker { color:var(--ifk-green); }
.ifk-sidebar { display:grid; gap:16px; }
.ifk-sidebox { padding:17px; border:1px solid var(--ifk-border); border-radius:15px; background:#fff; }
.ifk-sidebox--pink { border-color:#ffefed; background:#fff7f6; }
.ifk-sidebox h2 { margin:0 0 12px; font-size:17px; line-height:1.2; }
.ifk-side-links { display:grid; gap:6px; }
.ifk-side-links a { display:flex; align-items:center; gap:10px; min-height:39px; padding:6px 9px; border-radius:9px; color:#34373b; background:#fff; font-size:12px; text-decoration:none; }
.ifk-side-links a:hover { background:#f2f7ff; }
.ifk-side-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; background:#eee5ff; font-size:17px; }
.ifk-side-popular { display:grid; gap:10px; }
.ifk-side-popular a { display:grid; grid-template-columns:60px 1fr; align-items:center; gap:9px; color:#222; font-size:12px; line-height:1.3; text-decoration:none; }
.ifk-side-popular img { width:60px; height:54px; border-radius:8px; object-fit:cover; background:#fff0d8; }
.ifk-side-cta { padding:19px; border-radius:15px; background:#f7ffd9; }
.ifk-side-cta h2 { font-size:21px; }
.ifk-side-cta .ifk-button { min-height:40px; padding:9px 16px; font-size:12px; }
.ifk-related-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ifk-related-grid .ifk-card h3 { font-size:14px; }
.ifk-pagination { display:flex; gap:7px; margin:24px 0; }
.ifk-pagination .page-numbers { display:grid; min-width:40px; height:40px; place-items:center; border:1px solid var(--ifk-border); border-radius:12px; text-decoration:none; }
.ifk-pagination .current { color:#fff; background:var(--ifk-primary); }
.ifk-search-form { display:flex; margin:14px 0 22px; }
.ifk-search-form input[type="search"] { min-width:0; flex:1; border-color:var(--ifk-border); border-radius:999px 0 0 999px; }
.ifk-search-form button { border:0; padding:0 20px; border-radius:0 999px 999px 0; color:#fff; background:var(--ifk-primary); }
.ifk-post-navigation { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0; }
.ifk-post-navigation a { padding:15px; border-radius:13px; background:#fff4f1; text-decoration:none; }
.ifk-post-navigation a:last-child { text-align:right; background:#f3edff; }
.site-footer { padding:18px 28px; background:#fffdf8; }
.site-info { color:#72767c; font-size:11px; }
.ifk-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; margin:0 0 8px; padding:0; list-style:none; }
.ifk-footer-links a { color:#5f6469; text-decoration:none; }
.ifk-copyright { display:block; }
.ifk-empty-state { padding:38px; border:1px solid var(--ifk-border); border-radius:var(--ifk-radius); text-align:center; background:#fff; }
.comments-area { margin:24px 0; padding:18px; border:1px solid var(--ifk-border); border-radius:15px; background:#fff; }
.comments-title, .comment-reply-title { margin:0 0 5px; font-size:20px; }
.comment-notes { color:var(--ifk-muted); font-size:12px; }
.comment-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.comment-form-comment { grid-column:1 / -1; }
.comment-form-comment textarea, .comment-form-author input, .comment-form-email input, .comment-form-url input { width:100%; min-height:44px; border:1px solid var(--ifk-border); border-radius:8px; }
.comment-form-comment textarea { min-height:78px; }
.comment-form-cookies-consent, .form-submit, .comment-form .comment-notes, .comment-form .logged-in-as { grid-column:1 / -1; }
.form-submit input[type="submit"] { min-height:43px; padding:10px 20px; border:0; border-radius:999px; color:#fff; background:var(--ifk-coral); cursor:pointer; }

@media (max-width: 1050px) {
	.site { margin:0 auto; border-radius:0; }
	.inside-header { flex-wrap:wrap; padding:10px 20px; }
	.main-navigation { flex:1 1 100%; width:100%; }
	.main-navigation .inside-navigation { padding:0; }
	.ifk-nav-search form { width:195px; }
	.ifk-layout { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }
	.ifk-hero { padding:30px 26px; }
	.ifk-age-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width: 768px) {
	.site-content { padding:0 18px; }
	.inside-header { min-height:60px; padding:10px 17px; }
	.main-navigation { flex:1 1 100%; }
	.main-navigation .inside-navigation { display:block; padding:0 15px; }
	.ifk-nav-search { margin:0; padding:8px 12px 12px; }
	.ifk-nav-search form { width:100%; }
	.ifk-hero { grid-template-columns:1fr; gap:8px; padding:30px 22px 20px; }
	.ifk-hero-art { min-height:220px; }
	.ifk-art-sheet { width:31%; max-width:170px; transform:rotate(-10deg) translate(-70px,4px); }
	.ifk-art-sheet:nth-child(2) { transform:rotate(5deg) translate(0,-8px); }
	.ifk-art-sheet:nth-child(3) { transform:rotate(10deg) translate(70px,12px); }
	.ifk-benefits { gap:11px; }
	.ifk-layout { grid-template-columns:1fr; }
	.ifk-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifk-side-cta { grid-column:1/-1; }
	.ifk-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifk-category-card:last-child { grid-column:1/-1; min-height:120px; }
	.ifk-age-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
	.ifk-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifk-season-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifk-season-card:last-child { grid-column:1/-1; }
	.ifk-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifk-newsletter { align-items:flex-start; flex-direction:column; padding:23px; }
}
@media (max-width: 480px) {
	body { font-size:15px; }
	.site-content { padding:0 13px; }
	.ifk-section { margin:22px 0 25px; }
	.ifk-hero h1 { font-size:43px; }
	.ifk-hero-art { min-height:195px; }
	.ifk-age-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ifk-post-grid { grid-template-columns:1fr; }
	.ifk-post-card .ifk-thumb { aspect-ratio:1.7; }
	.ifk-download { align-items:stretch; flex-direction:column; }
	.ifk-download-action .ifk-button { width:100%; }
	.ifk-sidebar { grid-template-columns:1fr; }
	.ifk-post-navigation { grid-template-columns:1fr; }
	.comment-form { grid-template-columns:1fr; }
	.ifk-footer-links { gap:11px 16px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; } }
