/*
Theme Name: Ikshanaa
Theme URI: https://www.ikshanaa.org
Description: Block child theme for Ikshanaa Social Foundation. Brand tokens, reusable block patterns and subtle motion, built entirely on the native WordPress block editor.
Author: DesignUX8
Author URI: https://designux8.com
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ikshanaa
Tags: block-theme, nonprofit, charity, accessibility-ready
*/

/* ---------- Self-hosted brand fonts (variable, latin) ---------- */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/outfit-400.woff2') format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 600;font-display:swap;src:url('assets/fonts/source-sans-3-400.woff2') format('woff2');}

/* ---------- Motion: reveal on scroll ---------- */
.ik-reveal{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform;}
.ik-reveal.is-in{opacity:1;transform:none;}
.ik-reveal-group > *{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.ik-reveal-group.is-in > *{opacity:1;transform:none;}
.ik-reveal-group.is-in > *:nth-child(2){transition-delay:.09s;}
.ik-reveal-group.is-in > *:nth-child(3){transition-delay:.18s;}
.ik-reveal-group.is-in > *:nth-child(4){transition-delay:.27s;}
.ik-reveal-group.is-in > *:nth-child(5){transition-delay:.36s;}
.ik-reveal-group.is-in > *:nth-child(6){transition-delay:.45s;}

@media (prefers-reduced-motion: reduce){
  .ik-reveal,.ik-reveal-group > *{opacity:1 !important;transform:none !important;transition:none !important;}
  html{scroll-behavior:auto !important;}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
html{scroll-behavior:smooth;}

/* ---------- Header ---------- */
.wp-site-blocks > header{position:sticky;top:0;z-index:100;background:var(--wp--preset--color--base);border-bottom:1px solid var(--wp--preset--color--line);transition:box-shadow .25s ease;}
.wp-site-blocks > header.is-stuck{box-shadow:0 6px 20px rgba(33,48,58,.07);}
.ik-brand-name{font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1.0625rem;letter-spacing:.02em;line-height:1.1;color:var(--wp--preset--color--orange-ink);}
.ik-brand-sub{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--wp--preset--color--ink-soft);line-height:1.2;}
.ik-nav a{font-family:var(--wp--preset--font-family--heading);font-weight:500;color:var(--wp--preset--color--contrast);}
.ik-nav a:hover,.ik-nav .current-menu-item a{color:var(--wp--preset--color--orange-ink);}

/* ---------- Utilities used by the block patterns ---------- */
.ik-eyebrow{font-family:var(--wp--preset--font-family--heading);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--orange-ink);}
.ik-eyebrow-light{color:var(--wp--preset--color--yellow);}
.ik-lead{font-size:var(--wp--preset--font-size--large);color:var(--wp--preset--color--ink-soft);}
.ik-muted{color:var(--wp--preset--color--ink-soft);}

.ik-card{background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--line);border-radius:16px;box-shadow:var(--wp--preset--shadow--card);transition:transform .3s ease,box-shadow .3s ease;height:100%;}
.ik-card:hover{transform:translateY(-4px);box-shadow:var(--wp--preset--shadow--lift);}
.ik-card-flat{background:var(--wp--preset--color--base);border:1px solid var(--wp--preset--color--line);border-radius:16px;height:100%;}
.ik-card-featured{border-color:var(--wp--preset--color--orange);box-shadow:var(--wp--preset--shadow--lift);}
.ik-card figure.wp-block-image,.ik-card .wp-block-image img{border-radius:16px 16px 0 0;margin-bottom:0;}
.ik-card .wp-block-image{overflow:hidden;}
.ik-card .wp-block-image img{transition:transform .6s cubic-bezier(.22,.61,.36,1);width:100%;}
.ik-card:hover .wp-block-image img{transform:scale(1.045);}

.ik-tag{display:inline-block;font-family:var(--wp--preset--font-family--heading);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:#EAF6F9;color:var(--wp--preset--color--blue-ink);}
.ik-ph{display:inline-block;font-family:var(--wp--preset--font-family--heading);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:3px 9px;border-radius:6px;background:#FFF3D6;color:var(--wp--preset--color--yellow-ink);border:1px dashed #E0B65A;}
.ik-step-num{font-family:var(--wp--preset--font-family--heading);font-size:.9375rem;font-weight:700;letter-spacing:.08em;color:var(--wp--preset--color--orange-ink);}
.ik-stat{border-top:3px solid var(--wp--preset--color--orange);padding-top:1.25rem;}
.ik-icon-badge{width:44px;height:44px;border-radius:12px;background:#FDEAE0;display:flex;align-items:center;justify-content:center;color:var(--wp--preset--color--orange-ink);}
.ik-icon-badge svg{width:22px;height:22px;}
.ik-icon-badge-blue{background:#EAF6F9;color:var(--wp--preset--color--blue-deep);}
.ik-check{display:flex;gap:.6rem;align-items:flex-start;}
.ik-check svg{flex:none;margin-top:.28rem;width:18px;height:18px;color:var(--wp--preset--color--orange);}
.ik-check-blue svg{color:var(--wp--preset--color--blue-deep);}

/* Secondary / outline button */
.wp-block-button.is-style-ik-ghost .wp-block-button__link{background:transparent;color:var(--wp--preset--color--blue-ink);border-color:var(--wp--preset--color--blue-mid);}
.wp-block-button.is-style-ik-ghost .wp-block-button__link:hover{background:#EAF6F9;color:var(--wp--preset--color--blue-ink);}
.wp-block-button.is-style-ik-light .wp-block-button__link{background:var(--wp--preset--color--base);color:var(--wp--preset--color--orange-ink);}
.wp-block-button.is-style-ik-light .wp-block-button__link:hover{background:var(--wp--preset--color--cream);color:var(--wp--preset--color--orange-ink);}
.wp-block-button__link{transition:transform .2s ease,background-color .2s ease;min-height:48px;display:inline-flex;align-items:center;justify-content:center;}
.wp-block-button__link:hover{transform:translateY(-2px);}

/* Check lists */
.ik-check-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:.55rem;}
.ik-check-list li{position:relative;padding-left:1.9rem;}
.ik-check-list li::before{content:"";position:absolute;left:0;top:.34em;width:1.15rem;height:1.15rem;border-radius:50%;border:1.6px solid var(--wp--preset--color--orange);background-image:linear-gradient(transparent,transparent);}
.ik-check-list li::after{content:"";position:absolute;left:.33rem;top:.62em;width:.5rem;height:.28rem;border-left:1.8px solid var(--wp--preset--color--orange);border-bottom:1.8px solid var(--wp--preset--color--orange);transform:rotate(-45deg);}
.ik-check-blue-list li::before{border-color:var(--wp--preset--color--blue-deep);}
.ik-check-blue-list li::after{border-color:var(--wp--preset--color--blue-deep);}
.ik-footer-list{list-style:none;padding-left:0;}

/* Cards that wrap an image keep the image flush to the top corners */
.ik-card > .wp-block-image:first-child img{border-radius:16px 16px 0 0;}
.ik-card > .wp-block-image:first-child{margin:0;}

/* Forms rendered by whichever form plugin is chosen */
.ik-form input[type=text],.ik-form input[type=email],.ik-form input[type=tel],.ik-form select,.ik-form textarea{width:100%;min-height:48px;border:1.5px solid var(--wp--preset--color--line);border-radius:10px;padding:0 14px;font-family:inherit;font-size:1rem;background:var(--wp--preset--color--base);}
.ik-form textarea{padding:12px 14px;min-height:130px;}
.ik-form input:focus,.ik-form select:focus,.ik-form textarea:focus{outline:none;border-color:var(--wp--preset--color--blue-deep);box-shadow:0 0 0 3px rgba(43,122,140,.18);}
.ik-form label{font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:.9375rem;display:block;margin-bottom:.4rem;}

/* Visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.wp-block-button__link:focus-visible{outline:3px solid var(--wp--preset--color--blue-deep);outline-offset:2px;}
.ik-skip-link:focus{position:fixed;top:10px;left:10px;z-index:9999;background:var(--wp--preset--color--base);padding:12px 18px;border-radius:8px;box-shadow:var(--wp--preset--shadow--card);}

/* ---------- Mobile reflow ---------- */
@media (max-width:781px){
  .ik-nav{display:none;}
  .ik-card{height:auto;}
  .wp-block-button__link{min-height:50px;}
  .ik-hide-mobile{display:none !important;}
  .ik-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.97);border-top:1px solid var(--wp--preset--color--line);padding:10px 16px;display:flex;gap:10px;}
  .ik-sticky-cta .wp-block-buttons{width:100%;gap:10px;}
  .ik-sticky-cta .wp-block-button{flex:1;}
  .ik-sticky-cta .wp-block-button__link{width:100%;}
  body{padding-bottom:78px;}
}
@media (min-width:782px){ .ik-sticky-cta{display:none;} }
