/* Psychology Clinic Custom Styling */

/* Beautiful, harmonious therapeutic color scheme */
:root {
  --psychology-primary: #4A90E2;
  --psychology-secondary: #2C3E50;
  --psychology-accent: #7FB3D3;
  --psychology-light: #F8FBFF;
  --psychology-text: #34495E;
  --psychology-success: #52C4B0;
  --psychology-border: #E1ECFA;
  --psychology-soft-text: #5A6C7D;
}

html {
  scroll-behavior: smooth;
}

/* Typography adjustments for a softer, more approachable feel */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.6;
  color: var(--psychology-text);
}

/* Header styling */
.site-header {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--psychology-light);
}

/* Circular Logo in Main Banner */
.working-circle {
  width: 150px !important;
  height: 150px !important;
  min-width: 150px !important;
  min-height: 150px !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background-color: transparent !important; /* Changed from white to transparent */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  position: relative !important;
  z-index: 10 !important;
}

.working-circle .circle-inner,
.working-circle .icon-wrapper {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  background: transparent !important;
}

.circle-logo-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.banner-circle-logo {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  aspect-ratio: 1/1 !important;
  background: transparent !important; /* Changed from white to transparent */
  position: relative !important;
}

.banner-circle-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  /* Force dimensions to match container */
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* Enhanced Button styling for psychology clinic */
.primary-btn .wp-block-button__link {
  background: linear-gradient(135deg, var(--psychology-primary), var(--psychology-accent));
  border: none;
  border-radius: 25px;
  padding: 15px 35px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.5px;
  transition: all 0.4s ease;
  box-shadow: 0 4px 15px rgba(74, 144, 226, 0.2);
  position: relative;
  overflow: hidden;
}

.primary-btn .wp-block-button__link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.primary-btn .wp-block-button__link:hover::before {
  left: 100%;
}

.primary-btn .wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 35px rgba(74, 144, 226, 0.4);
}

.secondary-btn .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--psychology-primary);
  border-radius: 25px;
  color: var(--psychology-primary);
  padding: 15px 35px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.5px;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.secondary-btn .wp-block-button__link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: var(--psychology-primary);
  transition: left 0.4s ease;
  z-index: -1;
}

.secondary-btn .wp-block-button__link:hover::before {
  left: 0;
}

.secondary-btn .wp-block-button__link:hover {
  color: white !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(74, 144, 226, 0.3);
}

/* Ensure all button text is readable on hover */
.wp-block-button__link:hover,
.primary-btn .wp-block-button__link:hover,
.secondary-btn .wp-block-button__link:hover {
  color: white !important;
}

/* Card styling for therapist profiles only */
.sec-cols .wp-block-group {
  background: white;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  overflow: hidden;
  height: 100%;
}

.sec-cols .wp-block-group:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

/* Fixed image sizing for therapist profiles */
.sec-cols .wp-block-image {
  height: 460px;
  overflow: hidden;
  background: var(--psychology-light);
}

.sec-cols .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  min-width: 100%;
}

/* Ensure consistent card heights and spacing */
.sec-cols.wp-block-columns {
  gap: 60px !important;
  margin-bottom: 60px;
}

.sec-cols .wp-block-column {
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
}

.sec-cols .wp-block-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Section backgrounds */
.wp-block-section {
  background: linear-gradient(135deg, var(--psychology-light) 0%, rgba(248, 251, 255, 0.8) 100%);
}

/* Add padding to section main headings */
.wp-block-section > .wp-block-heading {
  padding: 20px !important;
}

/* Typography improvements */
h1, h2, h3, h4, h5, h6 {
  color: var(--psychology-secondary);
  font-weight: 600;
  line-height: 1.3;
}

.banner-sub-head {
  background: linear-gradient(45deg, var(--psychology-light), rgba(127, 179, 211, 0.2)) !important;
  color: var(--psychology-primary) !important;
  font-weight: 500;
}

/* Navigation styling */
.wp-block-navigation .wp-block-navigation-item a {
  color: var(--psychology-secondary);
  font-weight: 500;
  transition: color 0.3s ease;
}

.wp-block-navigation .wp-block-navigation-item a:hover {
  color: var(--psychology-primary);
}

/* Footer adjustments */
.site-footer {
  background-color: var(--psychology-secondary);
}

/* Accessibility improvements */
*:focus {
  outline: 2px solid var(--psychology-primary);
  outline-offset: 2px;
}

/* Remove focus outline from site title link */
.wp-block-site-title a:focus,
.wp-block-site-title a:active {
  outline: none;
  box-shadow: none;
}

/* Remove focus outline from navigation menu links */
.wp-block-navigation a:focus,
.wp-block-navigation a:active,
.wp-block-navigation-item a:focus,
.wp-block-navigation-item a:active {
  outline: none;
  box-shadow: none;
}

/* Enhanced Banner Styling */
.banner-col-1 {
  animation: slideInLeft 1.2s ease-out;
}

/* Beautiful Animated Heading - Pure CSS */
.animated-heading .heading-line-1,
.animated-heading .heading-line-2 {
  display: inline-block;
  transform: translateX(-60px);
  opacity: 0;
}

.animated-heading .heading-line-1 {
  animation: slideInFromLeft 0.8s ease-out 0.2s both;
}

.animated-heading .heading-line-2 {
  animation: slideInFromLeft 0.8s ease-out 0.6s both;
  margin-left: 40px; /* Beautiful left margin for visual hierarchy */
}

/* Enhanced Banner Styling */

.banner-col-1 h2 {
  background: linear-gradient(135deg, var(--psychology-secondary), var(--psychology-primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: fadeInUp 1s ease-out 0.3s both;
}

.banner-sub-head {
  animation: fadeInUp 0.8s ease-out 0.1s both;
  transform: translateY(20px);
  opacity: 0;
}

.buttons-wrap {
  animation: fadeInUp 1s ease-out 0.5s both;
  transform: translateY(20px);
  opacity: 0;
}

.main-img {
  animation: fadeInRight 1.2s ease-out 0.4s both;
  transform: translateX(30px);
  opacity: 0;
}

.working-wrap {
  animation: pulse 2s ease-in-out infinite;
}

/* Animation keyframes */
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-60px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}


.wow {
  animation: fadeInUp 0.8s ease;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .wp-block-columns {
    gap: 20px;
  }

  .sec-cols.wp-block-columns {
    gap: 35px !important;
    margin-bottom: 40px;
  }

  .banner-col-1 h2 {
    font-size: 28px !important;
  }

  .wp-block-button__link {
    padding: 10px 25px;
    font-size: 14px;
  }

  /* Smaller image height on mobile */
  .sec-cols .wp-block-image {
    height: 370px;
  }

  /* Adjust heading animation margin on mobile */
  .animated-heading .heading-line-2 {
    margin-left: 20px; /* Smaller margin on mobile */
  }
}

@media (max-width: 480px) {
  /* Even smaller on very small screens */
  .sec-cols .wp-block-image {
    height: 320px;
  }
}

/* ================================
   ABOUT PAGE CUSTOM STYLING
   ================================ */

/* About Hero Section */
.about-hero-section {
  position: relative;
  overflow: hidden;
}

.about-hero-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(74, 144, 226, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
  pointer-events: none;
}

.about-hero-section::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(127, 179, 211, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 8s ease-in-out infinite reverse;
  pointer-events: none;
}

/* Hero Image */
.hero-image img {
  box-shadow: 0 20px 60px rgba(74, 144, 226, 0.2);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.hero-image:hover img {
  transform: translateY(-10px);
  box-shadow: 0 30px 80px rgba(74, 144, 226, 0.3);
}

/* About Page Logo */
.about-logo img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(74, 144, 226, 0.15);
}

.about-team-img img {
  width: 100%;
  max-width: 1100px;
  height: auto;
  object-fit: cover;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) translateX(0);
  }
  50% {
    transform: translateY(-20px) translateX(10px);
  }
}

/* Statistics Section */
.about-stats-section {
  position: relative;
  overflow: hidden;
}

.stat-card {
  transition: transform 0.3s ease;
  text-align: center;
}

.stat-card:hover {
  transform: translateY(-5px);
}

.stat-card h2 {
  position: relative;
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.stat-card h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--psychology-primary), var(--psychology-accent));
  border-radius: 2px;
}

.stat-card p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Mission and Vision Cards */
.mission-content,
.vision-content {
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.mission-content::before,
.vision-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 0;
  background: linear-gradient(180deg, var(--psychology-primary), var(--psychology-accent));
  transition: height 0.5s ease;
}

.mission-content:hover::before,
.vision-content:hover::before {
  height: 100%;
}

.mission-content:hover,
.vision-content:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(74, 144, 226, 0.15);
}

/* Team Section Styling */
.about-team-section {
  position: relative;
}

.about-team-section .wp-block-heading {
  position: relative;
  z-index: 1;
}

/* CTA Section */
.about-cta-section {
  position: relative;
  overflow: hidden;
}

.about-cta-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(74, 144, 226, 0.1) 0%, transparent 100%);
  opacity: 0.5;
  pointer-events: none;
}

.about-cta-section .wp-block-heading,
.about-cta-section .wp-block-paragraph,
.about-cta-section .wp-block-buttons {
  position: relative;
  z-index: 1;
}

/* Values Section */
.values-columns .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}

.value-card {
  height: 100%;
  transition: all 0.4s ease;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.value-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(74, 144, 226, 0.15);
}

.values-columns {
  gap: 30px !important;
}

/* Quote Section */
.about-quote-section > .wp-block-group {
  position: relative;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  transition: all 0.4s ease;
}

.about-quote-section > .wp-block-group:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 50px rgba(74, 144, 226, 0.15);
}

.about-quote-section .wp-block-group:has(svg) {
  background: transparent !important;
  box-shadow: none !important;
}

/* Team Image */
.about-team-section img {
  box-shadow: 0 15px 50px rgba(74, 144, 226, 0.15);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.about-team-section img:hover {
  transform: scale(1.02);
  box-shadow: 0 20px 60px rgba(74, 144, 226, 0.2);
}

/* Animations for About Page */
.about-hero-section .animated-heading {
  animation: fadeInUp 1s ease-out 0.2s both;
}

.about-hero-section .sec-sub-head {
  animation: fadeInUp 0.8s ease-out both;
}

.about-hero-section .wp-block-paragraph {
  animation: fadeInUp 1s ease-out 0.4s both;
}

.about-hero-section .wp-block-buttons {
  animation: fadeInUp 1s ease-out 0.6s both;
}

.about-hero-section .hero-image {
  animation: fadeInRight 1.2s ease-out 0.4s both;
}

.about-stats-section .stat-card {
  animation: scaleIn 0.6s ease-out both;
}

.about-stats-section .stat-card:nth-child(1) {
  animation-delay: 0.1s;
}

.about-stats-section .stat-card:nth-child(2) {
  animation-delay: 0.2s;
}

.about-stats-section .stat-card:nth-child(3) {
  animation-delay: 0.3s;
}

.about-stats-section .stat-card:nth-child(4) {
  animation-delay: 0.4s;
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.about-mission-section .wp-block-columns {
  animation: fadeInUp 1s ease-out 0.3s both;
}

.about-values-section .value-card {
  animation: fadeInUp 0.8s ease-out both;
}

.about-values-section .value-card:nth-child(1) {
  animation-delay: 0.1s;
}

.about-values-section .value-card:nth-child(2) {
  animation-delay: 0.2s;
}

.about-values-section .value-card:nth-child(3) {
  animation-delay: 0.3s;
}

.about-values-section .value-card:nth-child(4) {
  animation-delay: 0.4s;
}

.about-team-section {
  animation: fadeInUp 1s ease-out 0.4s both;
}

.about-quote-section {
  animation: fadeInUp 1s ease-out 0.5s both;
}

.about-cta-section {
  animation: fadeInUp 1s ease-out 0.6s both;
}

/* Responsive About Page */
@media (max-width: 768px) {
  .about-hero-section::before,
  .about-hero-section::after {
    width: 300px;
    height: 300px;
  }

  .about-hero-section .animated-heading {
    font-size: 32px !important;
  }

  .about-mission-section .wp-block-columns {
    gap: 30px !important;
  }

  .values-columns {
    gap: 20px !important;
  }

  .stats-columns .wp-block-column {
    margin-bottom: 20px;
  }

  .value-card {
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .about-hero-section::before,
  .about-hero-section::after {
    width: 200px;
    height: 200px;
  }

  .stat-card h2 {
    font-size: 36px !important;
  }

  .value-card {
    padding: 30px 20px !important;
  }
}
/* Circular Text Animation */
@keyframes rotateText {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.circle-text-holder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* ================================
   BOOK APPOINTMENT PAGE STYLING
   ================================ */

/* Hero Section */
.appointment-hero-section {
  position: relative;
  overflow: hidden;
}

.appointment-hero-section::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -15%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(74, 144, 226, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 7s ease-in-out infinite;
  pointer-events: none;
}

.appointment-hero-section::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(127, 179, 211, 0.06) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 9s ease-in-out infinite reverse;
  pointer-events: none;
}

/* Header Content Animations */
.appointment-header-content .sec-sub-head {
  animation: fadeInUp 0.6s ease-out both;
}

.appointment-title {
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

.appointment-subtitle {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}

/* Form Section */
.appointment-form-section {
  position: relative;
}

.appointment-form-wrapper {
  animation: fadeInUp 1s ease-out 0.5s both;
  /* box-shadow: 0 15px 50px rgba(74, 144, 226, 0.12); */
  transition: box-shadow 0.4s ease, transform 0.4s ease;
}

.appointment-form-wrapper:hover {
  /* box-shadow: 0 20px 60px rgba(74, 144, 226, 0.18); */
  transform: translateY(-5px);
}

/* FluentForm Styling */
.appointment-form-wrapper .fluentform {
  animation: fadeIn 0.8s ease-out 0.7s both;
}

.appointment-form-wrapper .ff-el-form-control {
  border: 2px solid #e8f4fd;
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 16px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.appointment-form-wrapper .ff-el-form-control:focus {
  border-color: var(--psychology-primary, #4A90E2);
  box-shadow: 0 0 0 4px rgba(74, 144, 226, 0.1);
  outline: none;
}

.appointment-form-wrapper .ff-btn-submit {
  background: linear-gradient(135deg, var(--psychology-primary, #4A90E2) 0%, var(--psychology-accent, #7FB3D3) 100%);
  border: none;
  border-radius: 30px;
  padding: 16px 40px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.appointment-form-wrapper .ff-btn-submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(74, 144, 226, 0.3);
}

/* Info Cards Section */
.appointment-info-section {
  position: relative;
}

.info-card {
  animation: fadeInUp 0.8s ease-out both;
  box-shadow: 0 8px 30px rgba(74, 144, 226, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.info-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(74, 144, 226, 0.15);
}

.info-columns .wp-block-column:nth-child(1) .info-card {
  animation-delay: 0.6s;
}

.info-columns .wp-block-column:nth-child(2) .info-card {
  animation-delay: 0.7s;
}

.info-columns .wp-block-column:nth-child(3) .info-card {
  animation-delay: 0.8s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Responsive Book Appointment Page */
@media (max-width: 768px) {
  .appointment-hero-section::before,
  .appointment-hero-section::after {
    width: 250px;
    height: 250px;
  }

  .appointment-title {
    font-size: 28px !important;
  }

  .appointment-form-wrapper {
    padding: 30px 20px !important;
  }

  .info-columns {
    gap: 20px !important;
  }

  .info-card {
    margin-bottom: 15px;
  }
}

@media (max-width: 480px) {
  .appointment-hero-section::before,
  .appointment-hero-section::after {
    width: 180px;
    height: 180px;
  }

  .appointment-form-wrapper .ff-el-form-control {
    padding: 12px 14px;
    font-size: 14px;
  }

  .appointment-form-wrapper .ff-btn-submit {
    padding: 14px 30px;
    font-size: 14px;
  }
}
