/*
Theme Name: Smart Interventions Premium
Theme URI: https://smartinterventions.org/
Author: Smart Interventions
Author URI: https://smartinterventions.org/
Description: A premium, lightweight WordPress block theme built specifically for Smart Interventions. Includes one-click starter pages, B2B consulting layouts, contact form, responsive design, and brand settings.
Version: 1.0.2
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smart-interventions-premium
Tags: block-patterns, full-site-editing, custom-logo, featured-images, wide-blocks, translation-ready, rtl-language-support
*/

:root {
  --si-orange: #FFB72B;
  --si-charcoal: #262626;
  --si-grey: #5E6268;
  --si-beige: #F7F2EA;
  --si-cream: #FFF9EF;
  --si-border: #E8E4DD;
  --si-white: #FFFFFF;
  --si-shadow: 0 18px 55px rgba(38,38,38,.08);
  --si-radius: 18px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: 3px; }

.si-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.si-section { padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(64px, 8vw, 112px); }
.si-section-tight { padding-top: clamp(38px, 5vw, 68px); padding-bottom: clamp(38px, 5vw, 68px); }
.si-section-beige { background: var(--si-beige); }
.si-section-dark { background: var(--si-charcoal); color: var(--si-white); }
.si-section-dark h1,.si-section-dark h2,.si-section-dark h3,.si-section-dark h4 { color: var(--si-white); }
.si-eyebrow { color: #9A6500; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; margin-bottom: 14px; }
.si-lead { font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.7; color: var(--si-grey); max-width: 760px; }
.si-section-dark .si-lead { color: rgba(255,255,255,.78); }
.si-center { text-align: center; }
.si-center .si-lead { margin-inline: auto; }
.si-kicker { max-width: 760px; margin-bottom: 42px; }

/* Header */
.si-site-header { position: sticky; top: 0; z-index: 999; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(232,228,221,.8); backdrop-filter: blur(12px); }
.si-header-inner { width: min(1180px, calc(100% - 40px)); margin-inline: auto; min-height: 82px; display: flex; align-items: center; gap: 28px; }
.si-brand { flex: 0 0 auto; }
.si-brand .wp-block-site-logo img { max-height: 58px; width: auto; }
.si-brand .wp-block-site-title { font-size: 1.1rem; font-weight: 800; margin: 0; }
.si-header-nav { margin-left: auto; }
.si-header-nav .wp-block-navigation-item__content { color: var(--si-charcoal); font-weight: 650; font-size: .95rem; text-decoration: none; }
.si-header-nav .wp-block-navigation-item__content:hover { color: #A46A00; }
.si-header-cta .wp-block-button__link { padding: 12px 20px; white-space: nowrap; }

/* Buttons */
.wp-block-button__link { transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(38,38,38,.12); }
.si-btn-outline .wp-block-button__link { background: transparent !important; color: var(--si-charcoal) !important; border: 1.5px solid var(--si-charcoal); }
.si-btn-outline .wp-block-button__link:hover { background: var(--si-charcoal) !important; color: var(--si-white) !important; }
.si-section-dark .si-btn-outline .wp-block-button__link { color: var(--si-white) !important; border-color: rgba(255,255,255,.6); }
.si-section-dark .si-btn-outline .wp-block-button__link:hover { background: var(--si-white) !important; color: var(--si-charcoal) !important; }

/* Hero */
.si-hero { background: radial-gradient(circle at 86% 16%, rgba(255,183,43,.24), transparent 30%), linear-gradient(135deg,#fff 0%,#fff9ef 54%,#f7f2ea 100%); padding-top: clamp(62px, 8vw, 118px); padding-bottom: clamp(64px, 8vw, 118px); }
.si-hero .wp-block-columns { gap: clamp(36px, 6vw, 76px); align-items: center !important; }
.si-hero h1 { max-width: 800px; letter-spacing: -.035em; }
.si-hero-visual { position: relative; min-height: 470px; border-radius: 28px; overflow: hidden; background: linear-gradient(150deg,#262626 0%,#343434 65%,#1b1b1b 100%); box-shadow: 0 32px 70px rgba(38,38,38,.2); padding: 34px; display: flex; flex-direction: column; justify-content: space-between; }
.si-hero-visual:before { content:""; position:absolute; width:260px; height:260px; border:50px solid rgba(255,183,43,.9); border-radius:50%; right:-86px; top:-75px; }
.si-hero-visual:after { content:""; position:absolute; width:160px; height:160px; border:1px solid rgba(255,255,255,.18); border-radius:50%; left:-48px; bottom:-58px; }
.si-hero-visual > * { position:relative; z-index:2; }
.si-visual-label { color: var(--si-orange); letter-spacing:.13em; text-transform:uppercase; font-size:.78rem; font-weight:800; }
.si-visual-title { color:#fff; font-size:clamp(2rem,4vw,3.6rem); line-height:1.02; letter-spacing:-.04em; max-width:420px; margin:14px 0; }
.si-visual-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.si-mini-card { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); padding:18px; border-radius:14px; color:#fff; }
.si-mini-card strong { display:block; color:var(--si-orange); font-size:1.25rem; margin-bottom:4px; }
.si-trust-line { font-size:.86rem; color:#6b6b6b; font-weight:650; margin-top:22px; }

/* Grids & cards */
.si-grid { display:grid; gap:22px; }
.si-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.si-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.si-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.si-grid-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.si-card { background:#fff; border:1px solid var(--si-border); border-radius:var(--si-radius); padding:clamp(24px,3vw,34px); box-shadow:0 2px 0 rgba(38,38,38,.02); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; height:100%; }
.si-card:hover { transform:translateY(-5px); box-shadow:var(--si-shadow); border-color:rgba(255,183,43,.7); }
.si-card h3 { margin-top:0; }
.si-card p:last-child { margin-bottom:0; }
.si-card-number { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--si-orange); color:var(--si-charcoal); font-weight:850; margin-bottom:22px; }
.si-card-tag { display:inline-flex; background:var(--si-cream); color:#8a5b00; border:1px solid #f1d69f; border-radius:999px; padding:6px 10px; font-size:.73rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; margin-bottom:16px; }
.si-card-link { font-weight:750; color:var(--si-charcoal); text-decoration:none; }
.si-card-link:hover { color:#9A6500; }
.si-proof { background:var(--si-charcoal); color:#fff; }
.si-proof .si-grid { align-items:center; }
.si-proof-item { padding:22px 18px; border-right:1px solid rgba(255,255,255,.15); }
.si-proof-item:last-child { border-right:0; }
.si-proof-item strong { color:var(--si-orange); display:block; font-size:1.2rem; margin-bottom:4px; }
.si-proof-item span { color:rgba(255,255,255,.78); font-size:.9rem; }
.si-method-card { position:relative; padding-top:64px; }
.si-method-card .si-step { position:absolute; top:20px; left:24px; font-size:2.5rem; line-height:1; color:rgba(255,183,43,.5); font-weight:900; }
.si-quote { border-left:4px solid var(--si-orange); padding-left:22px; font-size:1.05rem; line-height:1.75; }
.si-meta { color:var(--si-grey); font-size:.9rem; font-weight:650; }
.si-logo-cloud { display:flex; flex-wrap:wrap; gap:12px; }
.si-pill { display:inline-flex; align-items:center; min-height:44px; border:1px solid var(--si-border); background:#fff; padding:10px 16px; border-radius:999px; font-weight:700; color:var(--si-charcoal); }

/* Page hero */
.si-page-hero { background:linear-gradient(135deg,var(--si-charcoal),#353535); color:#fff; padding-top:clamp(60px,8vw,100px); padding-bottom:clamp(60px,8vw,100px); }
.si-page-hero h1 { color:#fff; max-width:900px; }
.si-page-hero p { color:rgba(255,255,255,.78); }
.si-page-hero .si-eyebrow { color:var(--si-orange); }
.si-content { width:min(880px,calc(100% - 40px)); margin-inline:auto; padding-top:72px; padding-bottom:88px; }
.si-content-wide { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.si-check-list { list-style:none; padding-left:0; }
.si-check-list li { position:relative; padding-left:30px; margin:12px 0; }
.si-check-list li:before { content:"✓"; position:absolute; left:0; top:0; width:21px; height:21px; border-radius:50%; display:grid; place-items:center; background:var(--si-orange); color:var(--si-charcoal); font-size:.72rem; font-weight:900; }
.si-cta-band { border-radius:26px; background:linear-gradient(135deg,#262626,#3a3a3a); color:#fff; padding:clamp(34px,5vw,62px); box-shadow:var(--si-shadow); }
.si-cta-band h2,.si-cta-band h3 { color:#fff; }
.si-cta-band p { color:rgba(255,255,255,.76); }

/* Contact form */
.si-contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:32px; align-items:start; }
.si-contact-panel { background:var(--si-charcoal); color:#fff; border-radius:24px; padding:clamp(28px,4vw,44px); }
.si-contact-panel h2,.si-contact-panel h3 { color:#fff; }
.si-contact-panel a { color:var(--si-orange); }
.si-contact-form { background:#fff; border:1px solid var(--si-border); border-radius:24px; padding:clamp(26px,4vw,42px); box-shadow:var(--si-shadow); }
.si-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.si-field-full { grid-column:1/-1; }
.si-contact-form label { display:block; font-size:.9rem; font-weight:750; margin-bottom:7px; color:var(--si-charcoal); }
.si-contact-form input,.si-contact-form select,.si-contact-form textarea { width:100%; border:1px solid #d8d5ce; border-radius:10px; padding:13px 14px; font:inherit; background:#fff; color:var(--si-charcoal); box-sizing:border-box; }
.si-contact-form textarea { min-height:150px; resize:vertical; }
.si-contact-form input:focus,.si-contact-form select:focus,.si-contact-form textarea:focus { border-color:var(--si-orange); outline:3px solid rgba(255,183,43,.18); }
.si-contact-form button { border:0; border-radius:9px; background:var(--si-orange); color:var(--si-charcoal); font-weight:800; padding:14px 22px; cursor:pointer; font-size:1rem; }
.si-contact-form button:hover { background:var(--si-charcoal); color:#fff; }
.si-form-notice { padding:14px 16px; border-radius:10px; margin-bottom:18px; font-weight:650; }
.si-form-success { background:#e9f8ef; color:#176136; border:1px solid #bde5cb; }
.si-form-error { background:#fff0ee; color:#8d2f26; border:1px solid #f2c7c1; }
.si-hp { position:absolute !important; left:-10000px !important; }
.si-contact-links { display:grid; gap:12px; margin-top:28px; }
.si-contact-link { display:block; padding:15px 17px; border:1px solid rgba(255,255,255,.15); border-radius:12px; color:#fff !important; text-decoration:none; }
.si-contact-link:hover { border-color:var(--si-orange); }

/* Blog */
.si-post-card { border:1px solid var(--si-border); border-radius:18px; overflow:hidden; background:#fff; height:100%; }
.si-post-card .wp-block-post-featured-image { margin:0; }
.si-post-card .wp-block-post-title,.si-post-card .wp-block-post-excerpt,.si-post-card .wp-block-post-date { padding-left:24px; padding-right:24px; }
.si-post-card .wp-block-post-title { margin-top:22px; }
.si-post-card .wp-block-post-excerpt { padding-bottom:22px; }

/* Footer */
.si-site-footer { background:#1f1f1f; color:rgba(255,255,255,.74); padding-top:72px; }
.si-footer-inner { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.si-site-footer h2,.si-site-footer h3,.si-site-footer h4 { color:#fff; }
.si-site-footer a { color:rgba(255,255,255,.78); text-decoration:none; }
.si-site-footer a:hover { color:var(--si-orange); }
.si-footer-bottom { margin-top:52px; padding:22px 0; border-top:1px solid rgba(255,255,255,.12); font-size:.86rem; }
.si-footer-contact { display:grid; gap:8px; }
.si-footer-contact a { display:block; }
.si-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.si-socials a { display:inline-flex; border:1px solid rgba(255,255,255,.18); padding:7px 11px; border-radius:999px; }

/* Core */
.wp-block-post-content > :where(:not(.alignfull):not(.alignwide)) { max-width:1180px; margin-left:auto; margin-right:auto; }
.wp-block-post-content > p,.wp-block-post-content > ul,.wp-block-post-content > ol,.wp-block-post-content > h2,.wp-block-post-content > h3,.wp-block-post-content > h4,.wp-block-post-content > blockquote { width:min(880px,calc(100% - 40px)); }
.wp-block-post-content > .alignwide { width:min(1180px,calc(100% - 40px)); }
.wp-block-post-content > .alignfull { width:100%; max-width:none; }

@media (max-width: 1050px) {
  .si-grid-4,.si-grid-5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .si-header-inner { gap:16px; }
  .si-header-cta { display:none; }
}
@media (max-width: 800px) {
  .si-grid-3,.si-grid-2,.si-grid-4,.si-grid-5,.si-contact-grid { grid-template-columns:1fr; }
  .si-header-inner { min-height:70px; gap:10px; }

  /* Keep the brand from pushing the mobile menu off screen. */
  .si-brand { min-width:0; max-width:calc(100% - 56px); overflow:hidden; }
  .si-brand .wp-block-site-title { display:none !important; }
  .si-brand .wp-block-site-logo { margin:0; min-width:0; }
  .si-brand .wp-block-site-logo img { max-height:48px; max-width:min(190px,60vw); width:auto; height:auto; object-fit:contain; }

  /* Force a reliable WordPress hamburger menu on phones and tablets. */
  .si-header-nav { flex:0 0 auto; margin-left:auto !important; }
  .si-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
  .si-header-nav .wp-block-navigation__responsive-container-open { display:flex !important; align-items:center; justify-content:center; width:44px; height:44px; padding:8px; margin:0; color:var(--si-charcoal); background:transparent; border:0; border-radius:8px; }
  .si-header-nav .wp-block-navigation__responsive-container-open:hover,
  .si-header-nav .wp-block-navigation__responsive-container-open:focus { background:var(--si-beige); color:var(--si-charcoal); }
  .si-header-nav .wp-block-navigation__responsive-container-open svg { width:28px; height:28px; fill:currentColor; }

  /* Full-screen mobile navigation overlay. */
  .si-header-nav .wp-block-navigation__responsive-container.is-menu-open { display:flex !important; position:fixed; inset:0; width:100vw; height:100dvh; padding:82px 24px 32px; background:#fff; color:var(--si-charcoal); z-index:100000; overflow-y:auto; }
  .si-header-nav .wp-block-navigation__responsive-container-close { display:flex; align-items:center; justify-content:center; top:20px; right:20px; width:44px; height:44px; color:var(--si-charcoal); }
  .si-header-nav .wp-block-navigation__responsive-container-close svg { width:28px; height:28px; fill:currentColor; }
  .si-header-nav .wp-block-navigation__responsive-container-content { align-items:flex-start !important; justify-content:flex-start !important; width:100%; }
  .si-header-nav .wp-block-navigation__container { width:100%; align-items:stretch !important; gap:0 !important; }
  .si-header-nav .wp-block-navigation-item { width:100%; border-bottom:1px solid var(--si-border); }
  .si-header-nav .wp-block-navigation-item__content { display:block; width:100%; padding:16px 4px !important; font-size:1.15rem; font-weight:750; }

  .si-hero-visual { min-height:390px; }
  .si-proof-item { border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .si-proof-item:last-child { border-bottom:0; }
  .si-form-grid { grid-template-columns:1fr; }
  .si-field-full { grid-column:auto; }
}
@media (max-width: 520px) {
  .si-shell,.si-header-inner,.si-footer-inner,.si-content,.si-content-wide { width:min(100% - 28px,1180px); }
  .si-hero { padding-top:48px; }
  .si-hero-visual { min-height:350px; padding:24px; }
  .si-visual-grid { grid-template-columns:1fr; }
  .wp-block-buttons { gap:10px; }
  .wp-block-buttons .wp-block-button { width:100%; }
  .wp-block-buttons .wp-block-button__link { width:100%; box-sizing:border-box; text-align:center; }
}
