/*
Theme Name: MIC Enterprise
Theme URI: https://micenterprise.com/
Author: MIC Enterprise
Description: Block theme for MIC Enterprise. Full-bleed heroes, accent service bands, partner grid and reusable patterns.
Version: 1.1.2
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mic-enterprise
*/

html { scroll-behavior: smooth; scroll-padding-top: 70px; }
body { overflow-x: hidden; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }

/* Accent */
.mic-accent-orange, .mic-band.mic-accent-orange { --mic-accent: var(--wp--preset--color--orange); }
.mic-accent-yellow { --mic-accent: var(--wp--preset--color--yellow); }
.mic-accent-green { --mic-accent: var(--wp--preset--color--green); }

/* Header */
.mic-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 8px 36px; margin: 0 !important; min-height: 56px; align-items: center;
  background: #fff; border-bottom: 1px solid rgba(34, 34, 34, .1);
  transition: background-color .25s, border-color .25s;
}
.admin-bar .mic-header { top: 32px; }
.mic-logo { display: block; line-height: 0; }
.mic-logo img { height: 40px; width: auto; }
.mic-logo-white { display: none; }
.mic-nav { font-family: var(--wp--preset--font-family--nav); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 400; }
.mic-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--ink); text-decoration: none; }
.mic-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--orange); }
.mic-nav.wp-block-navigation { gap: 30px; }
.wp-block-navigation__responsive-container.is-menu-open { background: #fff; color: var(--wp--preset--color--ink); padding: 24px; }

/* Transparent over the hero, on landing pages only */
.page-template-landing .mic-header:not(.is-scrolled) { background: transparent; border-color: transparent; }
.page-template-landing .mic-header:not(.is-scrolled) .mic-logo-dark { display: none; }
.page-template-landing .mic-header:not(.is-scrolled) .mic-logo-white { display: block; }
.page-template-landing .mic-header:not(.is-scrolled) .mic-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content,
.page-template-landing .mic-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open { color: #fff; }

/* Non-landing templates clear the fixed header */
.mic-main { padding: 110px 24px 64px; min-height: 60vh; }

/* Hero */
.mic-hero.wp-block-cover { align-items: stretch !important; padding: 0; }
.mic-hero .wp-block-cover__inner-container {
  width: 100%; max-width: none; padding: 90px 60px; color: #fff;
  display: flex; flex-direction: column; justify-content: center;
}
.mic-hero-copy { max-width: 760px; margin: 0 !important; }
.mic-hero h1 { color: #fff; margin: 0 0 10px; }
.mic-hero p { font-size: 20px; font-weight: 300; margin: 0; }
.mic-hero .mic-chevron { position: absolute; left: 50%; bottom: 40px; margin: 0; transform: translateX(-50%); }

/* Chevron */
.mic-chevron a {
  display: block; width: 40px; height: 40px; border-radius: 50%; position: relative;
  background: rgba(34, 34, 34, .7); color: #fff; text-decoration: none;
}
.mic-chevron a::after {
  content: ""; position: absolute; left: 13px; top: 10px; width: 12px; height: 12px;
  border-right: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(45deg);
}

/* Section titles */
.mic-section-title { text-transform: uppercase; text-align: center; margin: 0; }
.mic-rule.wp-block-separator {
  width: 100px; max-width: 100px; margin: 16px auto 32px; border: 0; height: 2px; opacity: 1;
  background: var(--wp--preset--color--orange); color: var(--wp--preset--color--orange);
}
.mic-center { text-align: center; }
.mic-center .wp-block-buttons { justify-content: center; }
.mic-title-band { padding: 72px 24px; }

/* Blue story band */
.mic-story { color: #fff; padding: 96px 24px; }
.mic-story .wp-block-cover__inner-container { max-width: 760px; margin-inline: auto; color: #fff; }
.mic-story .mic-section-title { color: #fff; }
.mic-story .mic-rule.wp-block-separator { background: #fff; color: #fff; }
.mic-lead { font-size: 20px; font-weight: 300; line-height: 1.45; }
.mic-story .mic-chevron { display: flex; justify-content: center; margin-top: 32px; }

/* Buttons */
.mic-btn .wp-block-button__link { background: var(--mic-accent, var(--wp--preset--color--orange)); color: #fff; }
.mic-btn-light .wp-block-button__link { background: #edeff1; color: #0067b8; }
.mic-btn-blue .wp-block-button__link { background: var(--wp--preset--color--brand-blue); color: #fff; }

/* Service bands */
.mic-band { margin: 0 !important; }
.mic-band-cols { gap: 0 !important; margin: 0 !important; align-items: stretch !important; flex-wrap: nowrap; }
.mic-band-cols > .wp-block-column { flex: 1 1 50%; min-width: 0; margin: 0 !important; display: flex; flex-direction: column; }
.mic-band-photo.wp-block-cover { flex: 1; min-height: 480px; padding: 0; position: relative; align-items: stretch !important; overflow: visible; }
.mic-band-photo .wp-block-cover__inner-container { width: 100%; padding: 72px 32px 80px; text-align: center; color: #fff; }
.mic-band-photo .wp-block-buttons { justify-content: center; }
.mic-band-title { font-size: 56px; color: #fff; }
.mic-band-photo .mic-chevron { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); margin: 0; }
.mic-band-items { padding: 64px 7%; }
.mic-item { gap: 28px; margin-block-end: 36px; align-items: flex-start; }
.mic-item:last-child { margin-block-end: 0; }
.mic-icon { flex: 0 0 70px; width: 70px; margin: 0 !important; }
.mic-icon img { width: 70px; height: auto; display: block; }
.mic-item-text { flex: 1; min-width: 0; }
.mic-item-text > * { margin-block: 0 12px; }
.mic-item h4, .mic-sub-title { color: var(--mic-accent); }
.mic-tags { font-style: italic; font-size: 16px; color: #555; }

/* Partners */
.mic-partners { background: var(--wp--preset--color--tint); padding: 72px 24px; margin: 0 !important; }
.mic-partners .mic-section-title, .mic-partners .mic-rule { --x: 0; }
.mic-partners .mic-rule.wp-block-separator { background: var(--wp--preset--color--brand-blue); color: var(--wp--preset--color--brand-blue); }
.mic-grid { gap: 20px; margin-block-end: 40px; }
.mic-partners .mic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mic-card { background: #fff; padding: 12px; text-align: center; margin: 0 !important; }
.mic-logo-img { margin: 0 !important; }
.mic-logo-img img { height: 190px; width: 100%; object-fit: contain; display: block; }
.mic-card-name { font-size: 16px; margin: 10px 0 0; }
.mic-card-name a { color: var(--wp--preset--color--ink); text-decoration: none; }
.mic-card-name a:hover { color: var(--wp--preset--color--orange); }

/* Generic sections */
.mic-section { padding: 72px 24px; margin: 0 !important; }
.mic-tint { background: var(--wp--preset--color--tint); }
.mic-corp .wp-block-column { text-align: left; }

/* Tabs */
.mic-dt { padding: 48px 24px 72px; margin: 0 !important; }
.mic-tabs {
  display: flex; flex-wrap: wrap; gap: 0; justify-content: center; border-bottom: 1px solid #ddd;
  font-family: var(--wp--preset--font-family--nav); font-size: 14px; letter-spacing: 2px; text-transform: uppercase; margin-block-end: 48px;
}
.mic-tabs a { padding: 14px 28px; color: var(--wp--preset--color--ink); text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.mic-tabs a.is-active { border-bottom-color: var(--wp--preset--color--orange); color: var(--wp--preset--color--orange); }
.mic-panel { scroll-margin-top: 90px; }
.mic-dt-item { margin-block-end: 48px; }
.mic-bar-title {
  border-left: 2px solid var(--mic-accent); padding: 8px 0 8px 20px; color: var(--mic-accent);
  text-transform: uppercase; font-size: 24px; font-weight: 600; text-align: left;
}
.mic-dt-item .mic-item { margin-block-start: 24px; }

/* Customers and products */
.mic-customer-row { margin-block-end: 56px; scroll-margin-top: 90px; }
.mic-customer { gap: 48px; align-items: flex-start !important; }
.mic-customer > .wp-block-column:first-child { flex: 0 0 33%; }
.mic-customer > .wp-block-column:last-child { flex: 1; min-width: 0; }
.mic-customer-logo img { max-height: 240px; width: 100%; object-fit: contain; }
.mic-product-shot img { width: 100%; box-shadow: 0 2px 16px rgba(0, 0, 0, .15); }
.mic-more a { font-style: italic; color: var(--wp--preset--color--ink); text-decoration: none; }
.mic-more a::after { content: " \2192"; margin-left: 12px; }
.mic-more a:hover { color: var(--wp--preset--color--orange); }

/* Team, contact, testimonial */
.mic-team { justify-content: center; text-align: center; max-width: 720px; margin-inline: auto; }
.mic-team-photo { margin: 0 auto 16px !important; width: 200px; }
.mic-team-photo img { width: 200px; height: 200px; object-fit: cover; border-radius: 50%; display: block; }
.mic-team-name { font-size: 22px; font-weight: 400; margin: 0; }
.mic-team-role { margin: 4px 0 0; color: #555; }
.mic-meet-item { background: var(--wp--preset--color--tint); padding: 24px; margin: 0 !important; }
.mic-meet-item h4 { color: var(--mic-accent); margin: 0 0 10px; font-size: 18px; }
.mic-meet-item p { margin: 0; overflow-wrap: anywhere; }
.mic-quote-photo { margin: 0 auto 16px !important; width: 110px; }
.mic-quote-photo img { width: 110px; height: 110px; object-fit: cover; border-radius: 50%; display: block; }

/* Footer */
.mic-footer { background: var(--wp--preset--color--ink); color: #fff; padding: 36px 24px; margin: 0 !important; }
.mic-footer a { color: #fff; text-decoration: none; }
.mic-footer a:hover { text-decoration: underline; }
.mic-footer-logo img { width: 150px; height: auto; }
.mic-contact { line-height: 2; font-size: 16px; }
.mic-footer-badges { gap: 24px; align-items: flex-start; }
.mic-footer-badges figure { margin: 0 !important; }
.mic-footer-badges img { max-height: 90px; width: auto; }
.mic-legal { font-size: 14px; margin-block-start: 32px; }

/* Jetpack sharing and likes have no place on landing pages */
.page-template-landing .sharedaddy, .page-template-landing .jp-relatedposts,
.page-template-landing .wp-block-jetpack-sharing-buttons, .page-template-landing .wp-block-jetpack-like,
.page-template-landing .wp-site-blocks > .wp-block-group:has(> .wp-block-jetpack-sharing-buttons) { display: none !important; }


/* Short heroes, crumbs, policy */
.mic-hero-short.wp-block-cover { min-height: 50vh; }
.mic-crumb { font-size: 16px !important; margin-bottom: 8px !important; }
.mic-crumb a { color: #fff; }
.mic-policy-title { font-size: 20px; font-weight: 600; margin-block-start: 32px; }
.mic-gallery { margin-block-end: 40px; }
.mic-shot { margin: 0 !important; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 0, 0, .12); }
.mic-shot a { display: block; }
.mic-shot img { width: 100%; height: 220px; object-fit: cover; object-position: top; display: block; transition: transform .4s ease; }
.mic-shot a:hover img { transform: scale(1.04); }
.wp-block-embed { margin-block-end: 40px; }

/* Contact form */
.mic-form { max-width: 720px; margin-inline: auto; }
.mic-form input[type=text], .mic-form input[type=email], .mic-form input[type=tel], .mic-form textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #c9cfd4; border-radius: 4px; background: #fff; font: inherit;
}
.mic-form input:focus, .mic-form textarea:focus { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 1px; }
.mic-form .wp-block-button__link, .mic-form button[type=submit] {
  background: var(--wp--preset--color--orange); color: #fff; border: 0; border-radius: 300px; padding: 12px 28px; cursor: pointer;
  font-family: var(--wp--preset--font-family--nav); font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
}
.mic-form-note { font-size: 14px; color: #555; margin-block-start: 16px; }

/* Interaction */
.mic-nav .is-current > .wp-block-navigation-item__content { color: var(--wp--preset--color--orange) !important; }
.wp-block-button__link { transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, .22); filter: brightness(1.05); }
.mic-card { transition: transform .25s ease, box-shadow .25s ease; }
.mic-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0, 0, 0, .12); }
.mic-meet-item { transition: box-shadow .25s ease; }
.mic-meet-item:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .1); }
.mic-icon img { transition: transform .25s ease; }
.mic-item:hover .mic-icon img { transform: scale(1.08); }
.mic-header { transition: background-color .25s, border-color .25s, padding .25s; }
.mic-hero, .mic-story { overflow: hidden; }
.mic-parallax { will-change: transform; }
.mic-hero-copy { animation: mic-rise .9s ease both; }
.mic-chevron a { animation: mic-bob 2.2s ease-in-out infinite; }
.mic-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; transition-delay: var(--mic-delay, 0s); }
.mic-reveal.is-visible { opacity: 1; transform: none; }
@keyframes mic-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes mic-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(7px); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mic-hero-copy, .mic-chevron a { animation: none; }
  .mic-reveal { opacity: 1; transform: none; transition: none; }
  .wp-block-button__link, .mic-card, .mic-icon img, .mic-shot img { transition: none; }
  .wp-block-button__link:hover, .mic-card:hover { transform: none; }
}

/* Tablet and phone */
@media (max-width: 782px) {
  html { scroll-padding-top: 64px; }
  .admin-bar .mic-header { top: 46px; }
  .mic-header { padding: 8px 16px; }
  h1, .mic-hero h1 { font-size: 38px; }
  h2, .mic-section-title { font-size: 28px; }
  .mic-band-title { font-size: 40px; }
  .mic-hero p, .mic-lead { font-size: 18px; }
  .mic-hero .wp-block-cover__inner-container { padding: 0 16px; }
  .mic-section, .mic-partners, .mic-dt, .mic-footer, .mic-story, .mic-title-band { padding-left: 16px; padding-right: 16px; }
  .mic-band-cols { flex-wrap: wrap !important; }
  .mic-band-cols > .wp-block-column { flex: 1 1 100% !important; }
  .mic-band-photo { min-height: 360px; }
  .mic-band-items { padding: 40px 16px; }
  .mic-band-cols > .wp-block-column:has(.mic-band-photo) { order: -1; }
  .mic-item { gap: 16px; }
  .mic-icon { flex-basis: 48px; width: 48px; }
  .mic-icon img { width: 48px; }
  .mic-customer > .wp-block-column:first-child { flex: 1 1 100% !important; }
  .mic-footer-badges { justify-content: flex-start !important; }
  .mic-partners .mic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mic-logo-img img { height: 120px; }
  .mic-card-name { font-size: 14px; }
  .mic-hero-short.wp-block-cover { min-height: 40vh; }
  .mic-shot img { height: 180px; }
  .mic-tabs a { padding: 12px 14px; font-size: 12px; letter-spacing: 1px; }
}
