/* ==========================================================================
   Section 004: Message - クリニックからのメッセージ
   ========================================================================== */

/* Background Decoration */
:where(.sec-004-message__bg-decoration) {
  position: absolute;
  bottom: -33rem;
  left: -45rem;
  width: 40rem;
  height: 60rem;
  z-index: -1;
  opacity: 0.8;
  z-index: 0;
  pointer-events: none;
}

:where(.sec-004-message__bg-decoration img) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  animation: float 20s ease-in-out infinite;
}

/* Message Section Container */
:where(.sec-004-message) {
  margin-top: 3.5rem;
  padding: 12.2rem 0;
  background: var(--wp--preset--color--gray-100);
}

:where(.sec-004-message .sec-004-message__wrapper) {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--wp--preset--spacing--base);
}
:where(.sec-004-message__deco-text) {
  position: absolute;
  font-size: 4rem;
  opacity: 0.6;
  left: 10rem;
  width: fit-content;
  top: -17rem;
  z-index: -1;
  color: var(--wp--preset--color--primary);
  @media (max-width: 1024px) {
    font-size: var(--wp--preset--font-size--lg, 2rem);
    left: 5rem;
    top: -10rem;
  }
}
:where(.sec-004-message__inner) {
  display: flex;
  align-items: stretch;
  gap: var(--wp--preset--spacing--xl);
  position: relative;
  z-index: 1;
  min-height: 600px;
}
:where(.sec-004-message__title) {
}

/* Left Content */
:where(.sec-004-message__content) {
  flex: 1.2;
  display: flex;
  align-items: center;
}

:where(.sec-004-message__text) {
  margin-top: 3.2rem;
  padding: 3.2rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  position: relative;
  max-width: 70rem;
  @media (max-width: 1024px) {
    max-width: 100%;
    margin: 0 auto;
  }
}

:where(.sec-004-message__text h3::after) {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120px;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--wp--preset--color--primary-700),
    var(--wp--preset--color--primary-500),
    var(--wp--preset--color--brand-300)
  );
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(46, 91, 138, 0.3);
}

:where(.sec-004-message__text p) {
  font-size: 1.7rem;
  color: var(--wp--preset--color--text);
  line-height: 2;
  margin-bottom: var(--wp--preset--spacing--xs);
}

:where(.sec-004-message__text p:last-of-type) {
  margin-bottom: 0;
}

/* Action Button */
:where(.sec-004-message__action) {
  margin-top: 32px;
}

:where(.sec-004-message__signature) {
  margin-top: var(--wp--preset--spacing--2-xl);
  padding: var(--wp--preset--spacing--xs);
  background: linear-gradient(
    135deg,
    rgba(248, 249, 250, 0.8),
    rgba(255, 255, 255, 0.9)
  );
  border-radius: var(--wp--preset--spacing--20);
  border: 1px solid rgba(74, 123, 167, 0.1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
}

:where(.sec-004-message__signature-title) {
  font-size: 1.4rem;
  color: var(--wp--preset--color--text);
  margin-bottom: 8px;
}

:where(.sec-004-message__signature-name) {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary-700);
  margin-bottom: 0;
}
:where(.sec-004-message__inner) {
  display: flex;
  @media (max-width: 1024px) {
    flex-direction: column-reverse;
    gap: 0;
    min-height: auto;
  }
}
/* Right Image */
:where(.sec-004-message__image) {
  margin-left: -9rem;
  z-index: -1;
  border-radius: 16px;
  position: relative;
  display: flex;
  align-items: center;
  @media (max-width: 1024px) {
    margin-left: 0;
    margin-bottom: var(--wp--preset--spacing--xl);
    width: 100%;
    height: auto;
    z-index: 0;
  }
}

:where(.sec-004-message__image img) {
  margin-top: -16.2rem;
  aspect-ratio: 4/3;
  width: 100%;
  object-fit: cover;
  background: var(--wp--preset--color--gray-200);
  display: block;
  border-radius: 16px;
  @media (max-width: 1024px) {
    margin-top: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
  }
}

:where(.sec-004-message__image img:hover) {
}

/* Decorative Elements */
.sec-004-message__decoration {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.sec-004-message__decoration--1 {
  top: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  background: radial-gradient(
    circle,
    rgba(74, 123, 167, 0.08) 0%,
    transparent 70%
  );
  border-radius: 50%;
  animation: float 20s ease-in-out infinite;
}

.sec-004-message__decoration--2 {
  bottom: -80px;
  left: -80px;
  width: 250px;
  height: 250px;
  background: radial-gradient(
    circle,
    rgba(245, 200, 138, 0.12) 0%,
    transparent 70%
  );
  border-radius: 50%;
  animation: float 25s ease-in-out infinite reverse;
}

.sec-004-message__decoration--3 {
  top: 30%;
  right: 10%;
  width: 100px;
  height: 100px;
  background: linear-gradient(
    45deg,
    rgba(74, 123, 167, 0.05),
    rgba(245, 200, 138, 0.05)
  );
  border-radius: 30%;
  animation: rotate 15s linear infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.1);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.05);
  }
}
