/*
Theme Name: BFashion Academy
Theme URI: https://bfashionacademy.com/
Author: Codex
Description: Custom WordPress theme converted from the BFashion Academy React site.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: bfashion-academy
*/

:root {
  --bf-bg: #050505;
  --bf-surface: #111111;
  --bf-surface-soft: #171717;
  --bf-text: #ffffff;
  --bf-text-soft: #d4d4d8;
  --bf-accent: #f43f5e;
  --bf-accent-2: #ef4444;
  --bf-border: rgba(255, 255, 255, 0.1);
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--bf-bg);
  color: var(--bf-text);
  font-family: "Poppins", sans-serif;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.screen-reader-text {
  position: absolute;
  left: -9999px;
}

.bfashion-site {
  overflow-x: hidden;
}

.bfashion-header.is-scrolled {
  background: rgba(10, 10, 10, 0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--bf-border);
}

.bfashion-mobile-menu[hidden] {
  display: none;
}

.bfashion-section-glow::before,
.bfashion-section-glow::after {
  content: "";
  position: absolute;
  inset: auto;
  width: 24rem;
  height: 24rem;
  border-radius: 9999px;
  filter: blur(110px);
  opacity: 0.18;
  pointer-events: none;
}

.bfashion-section-glow::before {
  left: -8rem;
  top: 0;
  background: #e11d48;
}

.bfashion-section-glow::after {
  right: -8rem;
  bottom: 0;
  background: #ec4899;
}

.bfashion-card {
  background: rgba(17, 17, 17, 0.82);
  border: 1px solid var(--bf-border);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.bfashion-form-message {
  padding: 0.85rem 1rem;
  border-radius: 0.9rem;
  font-size: 0.95rem;
}

.bfashion-form-message.is-success {
  background: rgba(34, 197, 94, 0.12);
  color: #86efac;
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.bfashion-form-message.is-error {
  background: rgba(239, 68, 68, 0.12);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.25);
}

.bfashion-floating-buttons {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 40;
}

.bfashion-floating-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
}

.bfashion-sticky-bar {
  backdrop-filter: blur(18px);
}

.bfashion-testimonial-track {
  scrollbar-width: none;
}

.bfashion-testimonial-track::-webkit-scrollbar {
  display: none;
}

.bfashion-accordion-panel[hidden] {
  display: none;
}

.bfashion-print-button,
.bfashion-button-link {
  cursor: pointer;
}

@media (max-width: 767px) {
  .bfashion-floating-buttons {
    top: auto;
    bottom: 1rem;
    right: 1rem;
    transform: none;
    display: flex;
    gap: 0.5rem;
  }

  .bfashion-floating-buttons a {
    border-radius: 9999px;
  }
}


/* ===============================
   CF7 RESET + BASE
================================= */

.wpcf7 {
    width: 100%;
}

.wpcf7 form {
    margin: 0;
    padding: 0;
}

.wpcf7 p {
    margin: 0 0 12px;
}

.wpcf7 br {
    display: none;
}

/* ===============================
   INPUT / TEXTAREA BASE
================================= */

.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    background: #0a0a0a;
    color: #fff;
    font-size: 14px;
    outline: none;
    transition: all 0.25s ease;
    box-sizing: border-box;
}

/* Textarea specific */
.wpcf7 textarea {
    min-height: 120px;
    resize: vertical;
    background: #111;
}

/* Placeholder */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: rgba(255,255,255,0.5);
}

/* ===============================
   FOCUS STATE
================================= */

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    border-color: #f43f5e;
    box-shadow: 0 0 0 1px rgba(244,63,94,0.4);
}

/* ===============================
   BUTTON
================================= */

.wpcf7 input[type="submit"],
.wpcf7 button {
    width: 100%;
    padding: 12px;
    border-radius: 999px;
    border: none;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(to right, #f43f5e, #dc2626);
    transition: 0.25s ease;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 button:hover {
    opacity: 0.9;
}

/* ===============================
   WRAPPER FIX
================================= */

.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* ===============================
   VALIDATION ERRORS
================================= */

.wpcf7-not-valid {
    border-color: #ef4444 !important;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
    color: #ef4444;
    margin-top: 6px;
}

/* ===============================
   RESPONSE MESSAGE
================================= */

.wpcf7-response-output {
    margin: 16px 0 0;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
}

/* Success */
.wpcf7 form.sent .wpcf7-response-output {
    background: rgba(34,197,94,0.1);
    color: #22c55e;
    border: 1px solid rgba(34,197,94,0.3);
}

/* Error */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
    background: rgba(239,68,68,0.1);
    color: #ef4444;
    border: 1px solid rgba(239,68,68,0.3);
}

/* ===============================
   LOADING SPINNER
================================= */

.wpcf7-spinner {
    margin: 10px auto 0;
    display: block;
}

/* ===============================
   CHECKBOX / RADIO
================================= */

.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
    width: auto;
    margin-right: 6px;
}

/* ===============================
   FILE INPUT
================================= */

.wpcf7 input[type="file"] {
    background: transparent;
    border: none;
    padding: 0;
}

/* ===============================
   DISABLED BUTTON
================================= */

.wpcf7 input:disabled,
.wpcf7 button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ===============================
   MOBILE OPTIMIZATION
================================= */

@media (max-width: 640px) {
    .wpcf7 input,
    .wpcf7 textarea {
        font-size: 16px; /* prevent zoom */
    }
}