/*
Theme Name: CodeHaven
Theme URI: https://themeforest.net/user/codehavenhup
Author: codehavenhup
Author URI: https://themeforest.net/user/codehavenhup
Description: A modern, customizable WordPress theme for business websites, agencies, and landing pages.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-background, custom-logo, custom-menu, featured-images, theme-options, translation-ready
Text Domain: codehaven
Copyright: (c) 2026 codehavenhup
*/








/* =============================
   Base Styles
   ============================= */
body {
  scroll-behavior: smooth;
  background: #fff !important;
  font-family: 'Inter', sans-serif;
  color: #1a1a1a;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
.wp-caption { max-width: 100%; margin: 1em 0; text-align: center; }
.wp-caption img { margin: 0; padding: 0; }
.wp-caption-text { font-size: 0.9em; color: #555; }
.sticky { position: sticky; top: 0; }
.gallery-caption { font-size: 0.85em; color: #666; text-align: center; }
.bypostauthor { font-weight: bold; }
.alignright { float: right; margin: 0 0 1em 1em; }
.alignleft { float: left; margin: 0 1em 1em 0; }
.aligncenter { display: block; margin: 0 auto 1em; }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); height:1px; width:1px; overflow:hidden; }


/* Dynamic body typography from Customizer */
body {
  font-size: var(--body-font-size, 16px);
  line-height: var(--body-line-height, 1.8);
}
/* (comment removed: was non-English) */
.btn-primary,
.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.4rem;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition:
        opacity 0.15s ease,
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.btn-primary:hover,
.btn-secondary:hover {
    opacity: 0.95;
    transform: translateY(-1px);
}

.btn-primary:active,
.btn-secondary:active {
    transform: translateY(0);
}


/* (comment removed: was non-English) */
.gh-404-search-wrapper {
    background: rgba(15, 23, 42, 0.02);
    border-radius: 9999px;
    padding: 0.4rem 0.5rem;
    /* (comment removed: was non-English) */
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

/* (comment removed: was non-English) */
.gh-404-search-input {
    border: none;
    outline: none;
    box-shadow: none;
    background: transparent;
    padding: 0.45rem 0.75rem;

    color: #0f172a;
    font-weight: 400;
}

.gh-404-search-input::placeholder {
    color: #94a3b8;
}

/* (comment removed: was non-English) */
.dark .gh-404-search-wrapper {
    background: rgba(15, 23, 42, 0.7);
    border-color: rgba(148, 163, 184, 0.35);
}

.dark .gh-404-search-input {
    color: #e5e7eb;
}
.dark .gh-404-search-input::placeholder {
    color: #64748b;
}




/* =============================
   Contact Form 7 / Forms styling
   ============================= */

/* Inputs & textareas */
.wpcf7 form .wpcf7-form-control:not(.wpcf7-submit),
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="url"],
.wpcf7 form input[type="tel"],
.wpcf7 form input[type="number"],
.wpcf7 form textarea,
.wpcf7 form select {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--btn-radius, 10px);
  border: 1px solid var(--color-border, #d1d5db);
  background: var(--color-bg, #ffffff);
  color: var(--color-text, #111827);
  font-size: 16px;
  transition: 0.3s ease;
  box-sizing: border-box;
}

/* Focus state */
.wpcf7 form .wpcf7-form-control:not(.wpcf7-submit):focus,
.wpcf7 form input[type="text"]:focus,
.wpcf7 form input[type="email"]:focus,
.wpcf7 form input[type="url"]:focus,
.wpcf7 form input[type="tel"]:focus,
.wpcf7 form input[type="number"]:focus,
.wpcf7 form textarea:focus,
.wpcf7 form select:focus {
  border-color: var(--primary-color, #4f46e5);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
  outline: none;
}

/* Submit button – match btn-primary system */
.wpcf7 form .wpcf7-submit,
.wpcf7 form input[type="submit"],
.wpcf7 form button[type="submit"] {
 margin-top: 10px;
}

/* Submit hover / active */
.wpcf7 form .wpcf7-submit:hover,
.wpcf7 form input[type="submit"]:hover,
.wpcf7 form button[type="submit"]:hover {
  opacity: 0.95;
  transform: translateY(-1px);
}

.wpcf7 form .wpcf7-submit:active,
.wpcf7 form input[type="submit"]:active,
.wpcf7 form button[type="submit"]:active {
  transform: translateY(0);
}

/* Validation messages */
.wpcf7 form .wpcf7-not-valid-tip {
  color: var(--danger, #e11d48);
  font-size: 14px;
}

.wpcf7 form .wpcf7-response-output {
  margin-top: 10px;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
}

.wpcf7 form .wpcf7-mail-sent-ok {
  border: 1px solid var(--success, #16a34a);
  color: var(--success, #16a34a);
}

.wpcf7 form .wpcf7-validation-errors,
.wpcf7 form .wpcf7-acceptance-missing {
  border: 1px solid var(--danger, #e11d48);
  color: var(--danger, #e11d48);
}


/* =============================
   Block Styles
   ============================= */
.wp-block-button.is-style-codehaven-pill .wp-block-button__link{border-radius:9999px;padding:.85em 1.25em;}
.wp-block-group.is-style-codehaven-card{border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:1.25rem;}