/*
Theme Name: ColoringPress Child
Theme URI: https://sketchingapp.online/
Author: sketchingapp.online
Description: GeneratePress child theme for a coloring pages site.
Version: 1.0.0
Template: generatepress
Text Domain: coloringpress-child
*/

/* Pastel palette and friendly UI */
:root{
  --cp-bg1:#FFF9F2; --cp-bg2:#FFE4E1; --cp-bg3:#FFD1DC; --cp-bg4:#C1E1C1;
  --cp-accent:#ffd84d; --cp-text:#333; --cp-max:1000px;
}
body{ background: var(--cp-bg1); color: var(--cp-text); font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.site-header{ position: sticky; top:0; z-index: 999; background: transparent; padding: 6px 0; }
.site-header .container{ max-width: var(--cp-max); margin: 8px auto; padding: 10px 16px; background: var(--cp-bg2); border-radius: 16px; box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.site-footer{ background: var(--cp-bg3); padding: 24px 0; }
.cp-container{ max-width: var(--cp-max); margin: 0 auto; padding: 0 16px; }
main{ padding: 24px 0; }
h1,h2,h3{ font-family: 'Fredoka One', cursive; }
.btn{ display:inline-block; background: var(--cp-accent); color:#222; padding: .6rem 1rem; border-radius: 999px; text-decoration:none; transition: filter .2s ease; }
.btn:hover{ filter: brightness(1.05); }
.grid{ display:grid; gap: 16px; }
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px){ .grid-3, .grid-4{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 600px){ .grid-3, .grid-4{ grid-template-columns: 1fr; } }
.card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.card img{ width:100%; height:auto; display:block; object-fit:contain; }
.card-body{ padding: 12px 14px; }
.search-bar{ margin: 16px 0; }
.breadcrumb{ font-size: .9rem; margin: 8px 0; }
.breadcrumb a{ color:#555; text-decoration:none; }
.category-tile{ background: var(--cp-bg4); text-align:center; border-radius: 16px; overflow:hidden; }
.category-tile img{ max-width:100%; display:block; }
.category-tile .label{ padding:10px; font-weight:600; }
.hero{ text-align:center; padding: 12px 0 18px; }
.hero .logo{ max-width: 180px; margin: 0 auto 10px; }
.single-image{ width:90%; max-width: var(--cp-max); margin: 0 auto 16px; }

/* Header nav improvements */
.header-inner{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap: 12px; }
.branding .custom-logo{ max-height: 44px; height: auto; width: auto; }
.branding .site-title{ font-weight: 800; font-size: 1.1rem; }
.branding .site-tagline{ font-size: .95rem; color: #555; }
.main-nav .menu{ display:flex; gap:12px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.main-nav .menu > li{ position:relative; }
.main-nav .menu > li > a{ display:inline-block; padding:8px 12px; border-radius:999px; text-decoration:none; background: var(--cp-bg1); color:#222; }
.main-nav .menu > li.menu-item-has-children > a::after{ content:'\25BE'; margin-left:6px; font-size:.8rem; }
.main-nav .sub-menu{ position:absolute; left:0; top:calc(100% + 6px); background:#fff; border-radius:12px; box-shadow: 0 8px 20px rgba(0,0,0,.08); padding:8px; display:none; min-width:220px; z-index:1001; }
.main-nav .sub-menu li a{ display:block; padding:6px 10px; border-radius:8px; color:#333; }
.main-nav .menu > li:hover > .sub-menu{ display:block; }
.main-nav .menu > li:focus-within > .sub-menu{ display:block; }
.site-header{ position: sticky; top:0; z-index: 1000; }
.site-header .cp-container{ overflow: visible; }

/* Mobile nav toggle */
.nav-btn{ display:none; cursor:pointer; background: var(--cp-accent); color:#222; padding:8px 12px; border-radius:12px; }
#nav-check{ display:none; }
@media (max-width: 768px){
  .nav-btn{ display:block; }
  .main-nav .menu{ display:none; flex-direction:column; width:100%; gap:8px; }
  #nav-check:checked ~ .menu{ display:flex; }
  .main-nav .menu > li{ width:100%; }
  .main-nav .menu > li > a{ display:block; width:100%; }
  .main-nav .sub-menu{ position:static; top:auto; left:auto; box-shadow:none; padding:0; }
}

/* Small screen tweaks */
@media (max-width: 600px){
  .site-header .container{ padding: 8px 12px; }
  .branding .site-title{ font-size: 1rem; }
  .branding .site-tagline{ font-size: .9rem; }
}

/* Footer friendliness */
.footer-inner{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-brand{ display:flex; align-items:center; gap:12px; }
.footer-brand .custom-logo{ max-height:40px; height:auto; width:auto; }
.footer-brand .name{ font-weight:700; }
.footer-brand .tagline{ color:#555; font-size:.95rem; }
.footer-nav .menu{ display:flex; gap:10px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.footer-nav .menu a{ background: var(--cp-bg1); padding:6px 10px; border-radius:999px; text-decoration:none; color:#222; }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.back-to-top{ font-size:.9rem; }

/* Category page cards */
.cat-grid{ display:grid; gap:16px; grid-template-columns: repeat(3, 1fr); }
@media (max-width:900px){ .cat-grid{ grid-template-columns: repeat(2, 1fr);} }
@media (max-width:600px){ .cat-grid{ grid-template-columns: 1fr;} }
.cat-card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.cat-card img{ width:100%; height:200px; display:block; object-fit:cover; }
.cat-card .card-body{ padding:12px 14px; }
.cat-description{ background: var(--cp-bg4); border-radius:12px; padding:10px 12px; color:#2a2a2a; }
.category-tile img{ width:100%; height:160px; object-fit:cover; }
.category-tile{ display:flex; flex-direction:column; }

/* Single post friendliness */
.action-bar{ display:flex; gap:10px; justify-content:center; margin: 12px 0 18px; }
.related-title{ margin-top: 12px; font-size: 1.25rem; }

/* Spacing improvements */
section{ margin-bottom: 24px; }
.breadcrumb{ margin-bottom: 16px; }
.search-bar{ margin-bottom: 20px; }

/* Sidebar behavior */
#secondary, .sidebar, .widget-area{ width:100%; margin-top:16px; }