/* ==========================================================================
   Responsive — Media query breakpoints
   Dra. Carla Kurcrevski — Endocrinologia Pediatrica

   Desktop-first: base styles are for >= 1280px.
   We override downward with max-width queries.
   ========================================================================== */

/* ==========================================================================
   lg: <= 1024px — Tablet landscape / small desktop
   ========================================================================== */

@media (max-width: 1024px) {

  /* -- Navbar -- */
  .navbar__toggle {
    display: flex;
  }

  .navbar__collapse {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-bege);
    padding: var(--space-md) var(--container-padding);
    flex-direction: column;
    gap: var(--space-md);
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }

  .navbar__collapse--open {
    display: flex;
  }

  .navbar {
    position: relative;
  }

  .navbar__menu {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
    margin-left: 0;
  }

  .navbar__link {
    font-size: var(--fs-base);
    padding: var(--space-xs) 0;
  }

  .navbar__actions {
    margin-left: 0;
    flex-wrap: wrap;
  }

  /* -- Hero -- */
  .hero__container {
    gap: var(--space-lg);
  }

  .hero__content {
    flex: 0 1 320px;
  }

  .hero__title {
    font-size: 28px;
    line-height: 36px;
  }

  .hero__video-placeholder {
    width: 100%;
  }

  .hero__giraffe {
    width: 500px;
    height: auto;
    right: -40px;
    top: -100px;
  }

  .hero__bg-name {
    font-size: 80px;
    letter-spacing: -3px;
  }

  .hero__flor {
    width: 120px;
    top: -50px;
    left: -60px;
  }

  .navbar__logo-img {
    width: 100px;
    height: 100px;
  }

  /* -- Sobre -- */
  .sobre__container {
    gap: var(--space-lg);
  }

  .sobre__content {
    flex: 1;
  }

  .sobre__image {
    flex: 1;
  }

  /* -- Conceito -- */
  .conceito__photo--main {
    width: 300px;
    height: 400px;
  }

  .conceito__photo--secondary {
    width: 160px;
    height: 400px;
  }

  .conceito__features {
    min-height: 400px;
  }

  /* -- Agendamento -- */
  .agendamento__image img {
    width: 300px;


  }

  /* -- Tratamentos -- */
  .tratamentos__grid .card--treatment {
    width: 200px;
  }

  .tratamentos__grid .card--treatment__image {
    height: 160px;
  }
}

/* ==========================================================================
   md: <= 768px — Tablet portrait
   ========================================================================== */

@media (max-width: 768px) {

  /* -- Hero stacks vertically -- */
  .hero__container {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-lg);
  }

  .hero {
    padding-top: var(--space-lg);
    padding-bottom: 60px;
  }

  .hero__content {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    text-align: center;
  }

  .hero__cta {
    justify-content: center;
  }

  .hero__title {
    font-size: 28px;
    line-height: 36px;
  }

  .hero__visual {
    max-width: 100%;
    align-self: center;
  }

  .hero__video-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .hero__video-text {
    font-size: var(--fs-lg);
    line-height: 32px;
  }

  .hero__giraffe {
    width: 250px;
    height: auto;
    right: -30px;
    top: auto;
    bottom: -100px;
  }

  .hero__flor {
    width: 100px;
    top: -40px;
    left: -40px;
  }

  .hero__bg-name {
    font-size: 56px;
    letter-spacing: -2px;
    bottom: -30px;
  }

  .hero__decorative-dot--pink {
    width: 50px;
    height: 50px;
  }

  .hero__decorative-dot--blue {
    width: 30px;
    height: 30px;
    left: 100px;
  }

  .navbar__logo-img {
    width: 80px;
    height: 80px;
  }

  .navbar__container {
    gap: var(--space-md);
  }

  .navbar__social-link {
    width: 40px;
    height: 40px;
  }

  .navbar__social-link img {
    width: 18px;
    height: 18px;
  }

  /* -- Sobre -- */
  .sobre {
    padding: 60px 0;
  }

  .sobre__container {
    flex-direction: column;
  }

  .sobre__content {
    flex: none;
    max-width: 100%;
  }

  .sobre__image {
    max-width: 100%;
    max-height: 400px;
  }

  /* -- Conceito -- */
  .conceito {
    padding: 60px 0;
  }

  .conceito__container {
    flex-direction: column;
  }

  .conceito__images {
    justify-content: center;
    width: 100%;
  }

  .conceito__photo--main {
    width: 60%;
    height: 350px;
  }

  .conceito__photo--secondary {
    width: 35%;
    height: 350px;
  }

  .conceito__features {
    min-height: auto;
  }

  .conceito__logo-badge {
    width: 80px;
    height: 80px;
  }

  /* -- Avaliacoes -- */
  .avaliacoes {
    padding: 60px 0;
  }

  .avaliacoes__header {
    flex-direction: column;
    text-align: center;
  }

  .avaliacoes__subtitle {
    max-width: 100%;
  }

  .avaliacoes__cards {
    gap: var(--space-sm);
  }

  .card--testimonial {
    width: 100%;
    max-width: 400px;
  }

  /* -- Agendamento -- */
  .agendamento__container {
    flex-direction: column-reverse;
    text-align: center;
    align-items: center;
  }

  .agendamento__image {
    margin-bottom: 0;
    margin-top: -40px;
  }

  .agendamento__image img {
    width: 100%;
    max-width: 350px;
  }

  .agendamento__content {
    align-items: center;
    padding: var(--space-lg);
  }

  .agendamento__text {
    max-width: 100%;
  }

  /* -- Tratamentos -- */
  .tratamentos {
    padding: 60px 0;
  }

  .tratamentos__grid {
    gap: var(--space-sm);
  }

  .tratamentos__grid .card--treatment {
    width: calc(50% - 8px);
  }

  /* -- Footer -- */
  .footer-wrapper {
    padding: 24px;
  }

  .footer__container {
    flex-direction: column;
  }

  .footer__contact {
    flex: none;
    width: 100%;
  }

  .footer__map {
    width: 100%;
    flex-direction: column;
  }

  .footer__giraffe {
    width: 400px;
    height: auto;
    right: -50px;
    bottom: -150px;
  }
}

/* ==========================================================================
   sm: <= 480px — Mobile
   ========================================================================== */

@media (max-width: 480px) {

  .hero {
    padding-top: var(--space-md);
    padding-bottom: 40px;
  }

  .hero__name {
    font-size: var(--fs-base);
  }

  .hero__credentials {
    font-size: var(--fs-xs);
  }

  .hero__title {
    font-size: var(--fs-lg);
    line-height: 30px;
    margin-bottom: var(--space-sm);
  }

  .hero__description,
  .hero__text {
    font-size: var(--fs-sm);
  }

  .hero__text {
    margin-bottom: var(--space-md);
  }

  .btn {
    font-size: var(--fs-sm);
    padding: 12px var(--space-sm);
  }

  .hero__giraffe {
    position: absolute;
    width: 180px;
    height: 1200px;
    right: 10px;
    top: -80px;
    bottom: auto;
    margin-top: 0;
  }

  .hero__flor {
    width: 70px;
    top: -30px;
    left: -30px;
  }

  .hero__bg-name {
    font-size: 28px;
    letter-spacing: -1px;
    bottom: -10px;
  }

  .hero__decorative-dot--pink,
  .hero__decorative-dot--blue {
    display: none;
  }

  .hero__video-text {
    font-size: 18px;
    line-height: 24px;
  }

  .navbar {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }

  .navbar__logo-img {
    width: 60px;
    height: 60px;
  }

  .navbar__collapse {
    padding: var(--space-sm) var(--container-padding);
  }

  /* -- Sobre -- */
  .sobre {
    padding: 40px 0;
  }

  .sobre__name {
    font-size: 20px;
    line-height: 32px;
  }

  .sobre__image {
    max-height: 300px;
  }

  /* -- Conceito -- */
  .conceito {
    padding: 40px 0;
  }

  .conceito__images {
    flex-direction: column;
    align-items: center;
  }

  .conceito__photo--main {
    width: 100%;
    height: 250px;
  }

  .conceito__photo--secondary {
    display: none;
  }

  .conceito__logo-badge {
    display: none;
  }

  .conceito__feature-title {
    font-size: var(--fs-xs);
  }

  /* -- Avaliacoes -- */
  .avaliacoes {
    padding: 40px 0;
  }

  .avaliacoes__cards {
    flex-direction: column;
    align-items: center;
  }

  .avaliacoes__title {
    font-size: 20px;
    white-space: normal;
  }

  /* -- Agendamento -- */
  .agendamento__container {
    flex-direction: column-reverse;
    text-align: center;
    align-items: center;
  }

  .agendamento__title {
    font-size: var(--fs-lg);
  }

  .agendamento__content {
    padding: var(--space-md);
  }

  .agendamento__image {
    margin-top: -95px;
  }

  /* -- Tratamentos -- */
  .tratamentos {
    padding: 40px 0;
  }

  .tratamentos__title {
    font-size: var(--fs-lg);
  }

  .tratamentos__grid {
    flex-direction: column;
    align-items: center;
  }

  .tratamentos__grid .card--treatment {
    width: 100%;
  }

  /* -- Footer -- */
  .footer-wrapper {
    padding: 16px;
  }

  .footer__giraffe {
    width: 250px;
    height: auto;
    right: -30px;
    bottom: 40px;
  }

  .footer__top {
    padding-top: 40px;
  }

  .footer__title {
    font-size: var(--fs-lg);
  }

  .footer__phone-number {
    font-size: 20px;
  }

  .footer__social-row {
    flex-direction: column;
    align-items: flex-start;
  }
}