/*
Theme Name: Corporate Bright Portfolio Theme
Theme URI: https://geddesking.com/
Author: Geddes King
Description: A bright, modern WordPress block theme for founders, creative producers, agencies, and portfolio-led businesses.
Version: 2.0.0
Requires at least: 6.5
Tested up to: 7.0
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: corporate-bright-portfolio-theme
Tags: block-patterns, full-site-editing, portfolio, one-column, wide-blocks, accessibility-ready
*/

:root {
  --cbp-shadow: 0 18px 60px rgba(36, 24, 10, 0.1);
  --cbp-shadow-small: 0 10px 30px rgba(36, 24, 10, 0.08);
  --cbp-radius: 24px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
::selection { background: var(--wp--preset--color--orange, #ff7a1a); color: #fff; }

a { text-underline-offset: .18em; }
.wp-site-blocks { min-height: 100vh; }

.cbp-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 253, 248, .9);
  border-bottom: 1px solid rgba(33, 31, 27, .08);
  backdrop-filter: blur(14px);
}

.cbp-brand-mark {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--wp--preset--color--orange, #ff7a1a), #ff3d77 52%, #7057ff);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 7px 18px rgba(255, 122, 26, .25);
}

.cbp-eyebrow {
  color: var(--wp--preset--color--orange-dark, #d95300);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cbp-gradient-text {
  background: linear-gradient(105deg, #ed5b00 10%, #ff3d77 42%, #7057ff 70%, #008f78 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.cbp-gradient-border {
  position: relative;
  border: 1px solid transparent;
  background: linear-gradient(#fff, #fff) padding-box,
              linear-gradient(135deg, var(--wp--preset--color--orange, #ff7a1a), #ff3d77, #7057ff, #00a88f) border-box;
}

.cbp-card {
  height: 100%;
  border: 1px solid rgba(33, 31, 27, .08);
  border-radius: var(--cbp-radius);
  box-shadow: var(--cbp-shadow-small);
  transition: transform .25s ease, box-shadow .25s ease;
}

.cbp-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--cbp-shadow);
}

.cbp-hero { position: relative; isolation: isolate; }
.cbp-hero::before {
  position: absolute;
  inset: 8% -8% auto auto;
  z-index: -1;
  width: 34rem;
  height: 34rem;
  border-radius: 50%;
  background: conic-gradient(from 20deg, var(--wp--preset--color--orange, #ff7a1a), #ffdf52, #50cc9b, #50a5ff, #8d63ff, #ff5a82, var(--wp--preset--color--orange, #ff7a1a));
  content: "";
  filter: blur(75px);
  opacity: .16;
}

.cbp-portrait-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 48% 48% 30% 30% / 40% 40% 28% 28%;
  background: linear-gradient(145deg, #ffe6cf, #fff 48%, #e8e0ff);
  box-shadow: var(--cbp-shadow);
}

.cbp-portrait-wrap::after {
  position: absolute;
  right: 6%;
  bottom: 5%;
  left: 6%;
  height: 8px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--wp--preset--color--orange, #ff7a1a), #ffdf52, #39bd8d, #4e9eff, #8d63ff, #ff4f7b);
  content: "";
}

.cbp-metric { border-left: 3px solid var(--wp--preset--color--orange, #ff7a1a); }
.cbp-logo-tile { min-height: 13rem; }
.cbp-icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 14px;
  background: #fff0e4;
  color: var(--wp--preset--color--orange-dark, #d95300);
  font-size: 1.3rem;
  font-weight: 800;
}

.cbp-rainbow-line {
  height: 6px;
  border: 0;
  background: linear-gradient(90deg, var(--wp--preset--color--orange, #ff7a1a), #ffdc49, #35ba87, #42a4ff, #855eff, #ff4f7b);
}

.cbp-dark-panel {
  color: #fff;
  background: #211f1b;
}
.cbp-dark-panel a { color: #fff; }

.wp-block-button__link { transition: transform .2s ease, box-shadow .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(216, 82, 0, .2); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff1e6; }

.cbp-project-card { overflow: hidden; }
.cbp-project-card img { transition: transform .45s ease; }
.cbp-project-card:hover img { transform: scale(1.035); }
.cbp-project-meta { color: #6f685e; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.cbp-contact-list { list-style: none; padding-left: 0; }
.cbp-contact-list li { margin-bottom: .7rem; }
.cbp-field label { display: block; margin-bottom: .4rem; font-weight: 700; }
.cbp-field input,
.cbp-field textarea,
.cbp-field select {
  box-sizing: border-box;
  width: 100%;
  padding: .9rem 1rem;
  border: 1px solid #d7d0c6;
  border-radius: 12px;
  background: #fff;
  color: var(--wp--preset--color--ink, #211f1b);
  font: inherit;
}
.cbp-field input:focus,
.cbp-field textarea:focus,
.cbp-field select:focus { outline: 3px solid rgba(255, 122, 26, .25); border-color: var(--wp--preset--color--orange, #ff7a1a); }

@media (max-width: 781px) {
  .cbp-site-header { position: relative; }
  .cbp-hero { padding-top: 3rem !important; }
  .cbp-portrait-wrap { max-width: 30rem; margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .cbp-site-header, .cbp-site-footer .wp-block-buttons { display: none; }
  body { background: #fff; color: #000; }
}

/* Companion-plugin design controls. */
body.cbp-dark-mode {
  --wp--preset--color--cream: #151513;
  --wp--preset--color--white: #292622;
  --wp--preset--color--sand: #211f1b;
  --wp--preset--color--ink: #f8f4ec;
  --wp--preset--color--muted: #c8c0b5;
  background: var(--wp--preset--color--cream);
  color: var(--wp--preset--color--ink);
}
body.cbp-dark-mode .cbp-site-header { background: rgba(21, 21, 19, .92); border-color: rgba(255,255,255,.1); }
body.cbp-dark-mode .cbp-card,
body.cbp-dark-mode .cbp-gradient-border { background: #292622 !important; border-color: rgba(255,255,255,.1); }
body.cbp-dark-mode .cbp-icon { background: #3a2b21; }
body.cbp-dark-mode .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--ink); }
body.cbp-dark-mode .cbp-field input,
body.cbp-dark-mode .cbp-field textarea,
body.cbp-dark-mode .cbp-field select { background: #292622; color: #fff; border-color: #514b43; }

body.cbp-boxed-layout { background: #ece7df; }
body.cbp-boxed-layout .wp-site-blocks { max-width: 1440px; margin-inline: auto; background: var(--wp--preset--color--cream); box-shadow: 0 0 80px rgba(33,31,27,.12); }
body.cbp-boxed-layout.cbp-dark-mode { background: #080808; }
