/* =========================================
   VARIÁVEIS GERAIS E RESET
   ========================================= */
:root {
  --color-maroon: #6b0202;
  --color-sky-blue: #53b4f0;
  --color-light-bg: #e6f0f6;
  --color-yellow: #ffe3a7;
  --color-white: #ffffff;
  --color-dark: #000000;
  --color-red-bright: #E8203A;
  --amareloqueimado: #F0B453;
  --color-purple: #6a1b9a;

  --font-gravitas: 'Gravitas One', cursive;
  --font-great-vibes: 'Great Vibes', cursive;
  --font-montserrat: 'Montserrat', sans-serif;
  --font-montserrat-alt: 'Montserrat Alternates', sans-serif;
  --font-inter: 'Inter', sans-serif;
  --font-family: 'Syne', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: var(--font-montserrat-alt), var(--font-family);
  background-color: var(--color-light-bg); 
  overflow-x: hidden;
  min-height: 100vh;
}

.fundo-quadriculado {
  background-image:
    linear-gradient(rgba(180,170,155,0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180,170,155,0.35) 1px, transparent 1px);
  background-size: 28px 28px;
}

.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; width: 100%; }
.text-white { color: var(--color-white); }
.text-blue { color: var(--color-sky-blue); }
.bg-white { background-color: var(--color-white); }
.bg-yellow { background-color: var(--color-yellow); }
.flex-between { display: flex; justify-content: space-between; align-items: center; }

/* =========================================
   CABEÇALHO DESKTOP PADRONIZADO
   ========================================= */
.header {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 999;
  background-color: var(--color-maroon);
}

.logo-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px 0 10px 0; 
  margin: 0;
}

.logo-text {
  font-family: var(--font-great-vibes) ;
  font-size: 54px ;
  color: var(--color-white) ;
  font-weight: 400 ;
  margin: 0 ;
  padding: 0;
  line-height: normal ;
  letter-spacing: normal ;
  -webkit-font-smoothing: antialiased ;
  text-rendering: optimizeLegibility ; 
}

/* Esconde o menu mobile no Desktop */
.mobile-menu-icon, .mobile-menu { display: none; }

.nav-pills {
  width: 100%;
  display: flex; 
  flex-wrap: wrap; 
  justify-content: center;
  align-items: flex-end; 
  background-color: var(--color-maroon); 
  gap: 0px; 
  margin: 0;
  padding: 0;
}

.pill {
  text-decoration: none;
  font-size: 18px;
  font-family: var(--font-montserrat-alt), sans-serif;
  height: 35px ;
  display: flex ;
  align-items: center ;
  justify-content: center;
  padding: 0px 25px ; 
  border-radius: 15px 15px 0px 0px ; 
  color: var(--color-white); 
  background-color: var(--color-purple); 
  transition: opacity 0.3s ease; 
  margin: 10px 0 0 0 ;
  box-sizing: border-box ;
  white-space: nowrap ;
}

.pill:hover { opacity: 0.9; }
.pill-inicio { background-color: var(--color-white); color: var(--color-maroon); box-shadow: 0 -4px 10px rgba(0,0,0,0.1); }
.pill-servicos { background-color: #f05a5b; }
.pill-iara { background-color: #770093; }
.pill-arte { background-color: var(--color-sky-blue); font-weight: bold; }
.pill-portfolio { background-color: var(--amareloqueimado); }

/* =========================================
   SESSÃO CITAÇÃO (QUOTE)
   ========================================= */
.quote-section { 
  background-color: var(--color-sky-blue);
  padding: 80px 0 60px;
  text-align: center; 
}
.quote-text {
  font-family: var(--font-gravitas);
  font-size: 64px; 
  color: var(--color-white);
  line-height: 1.1; 
  margin-bottom: 20px; 
}
.quote-author { 
  font-size: 28px; 
  color: var(--color-white); 
  text-align: right; 
  max-width: 800px; 
  margin: 0 auto; 
}

/* =========================================
   CABEÇALHO "ARQUIVOS"
   ========================================= */
.writings-section { padding: 60px 0 80px; }

.arquivos-header {
  display: flex;
  align-items: baseline; 
  justify-content: flex-start; 
  gap: 15px; 
  margin-bottom: 30px; 
  width: 100%;
}

.arquivos-title {
  font-family: var(--font-montserrat-alt), sans-serif;
  font-weight: 800;
  font-size: 36px;
  color: var(--color-maroon); 
  margin: 0;
  line-height: 1;
}

.arquivos-aviso {
  font-family: var(--font-montserrat-alt), sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: var(--color-red-bright);
  margin: 0;
}

/* =========================================
   SESSÃO ESCRITAS (AS PASTAS)
   ========================================= */
.writings-flex { 
  display: flex; 
  justify-content: center; 
  align-items: flex-start; 
  gap: 40px; 
  flex-wrap: wrap; 
}

.writing-card { 
  width: 100%; 
  max-width: 450px; 
  position: relative; 
  display: flex; 
  flex-direction: column; 
}

.card-prosas { margin-top: 60px; }

.card-tab { 
  align-self: flex-start; 
  padding: 15px 40px; 
  border-radius: 30px 30px 0 0; 
  font-size: 24px; 
  text-align: center; 
  margin-left: 30px; 
}

.card-prosas .card-tab { 
  align-self: flex-end; 
  margin-left: 0; 
  margin-right: 30px; 
}

.card-body { 
  border-radius: 20px; 
  padding: 50px 40px; 
  min-height: 400px; 
  display: flex; 
  flex-direction: column; 
  justify-content: space-between; 
  box-shadow: 0 10px 30px rgba(0,0,0,0.05); 
}

.card-poemas .card-body { border-top-left-radius: 0; }
.card-prosas .card-body { border-top-right-radius: 0; }

.card-body p { 
  font-size: 24px; 
  line-height: 1.4; 
  color: var(--color-dark); 
  margin-bottom: 40px; 
}

.card-prosas p { text-align: right; }

.btn-outline-blue { 
  display: inline-block; 
  padding: 10px 30px; 
  border: 2px solid var(--color-sky-blue); 
  color: var(--color-sky-blue); 
  text-decoration: none; 
  font-size: 24px; 
  text-align: center; 
  transition: all 0.3s; 
  align-self: flex-start; 
}

.btn-outline-blue:hover { 
  background-color: var(--color-sky-blue); 
  color: var(--color-white); 
}

.float-right { align-self: flex-end; }

/* =========================================
   SESSÃO COVERS E VERSÕES
   ========================================= */
.covers-section { 
  background-color: var(--color-sky-blue);
  padding: 80px 0; text-align: center; 
}
.section-title { font-family: var(--font-gravitas); font-size: 54px; margin-bottom: 60px; color: var(--color-white); } 

.covers-grid { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 40px; 
  max-width: 900px; 
  margin: 0 auto; 
  justify-items: center; 
}
.cover-item {
  display: block;
  width: 100%;
  max-width: 280px;
  height: 450px; 
  background-color: #d9d9d9; 
  border-radius: 30px; 
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
  transition: transform 0.3s;
  object-fit: cover; 
}
.cover-item:hover { transform: translateY(-10px); }

/* =========================================
   SESSÃO EVENTO (BROWSER MOCKUP)
   ========================================= */
.event-section { 
  background-color: var(--color-sky-blue); 
  padding: 0 0 80px 0; 
}

.browser-window { background-color: var(--color-white); border-radius: 20px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.1); }

.browser-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 30px; border-bottom: 1px solid rgba(0,0,0,0.1); }
.url { font-size: 20px; color: var(--color-dark); }
.browser-dots { display: flex; gap: 10px; }
.dot { width: 18px; height: 18px; border-radius: 50%; }
.dot-gray { background-color: #d9d9d9; }
.dot-green { background-color: #2aff00; }
.dot-red { background-color: #ff0000; }

.browser-body { display: flex; padding: 40px; gap: 40px; align-items: center; }
.event-info { flex: 1; }
.event-title { font-family: var(--font-montserrat); font-weight: 600; font-size: 28px; margin-bottom: 20px; line-height: 1.3; }
.event-flyer { width: 100%; max-width: 500px; border-radius: 10px; margin-bottom: 20px; }
.event-desc { font-family: var(--font-montserrat); font-size: 22px; color: var(--color-dark); }

.event-photo { width: 180px; flex-shrink: 0; }
.event-photo img { width: 100%; height: auto; }

/* =========================================
   TEASER E FOOTER PADRONIZADO
   ========================================= */
.teaser-section { 
  background-color: var(--color-sky-blue);
  padding: 20px 0 60px; text-align: center; 
}
.teaser-section p { font-family: var(--font-montserrat-alt); font-weight: 700; font-size: 26px; color: var(--color-white); }

.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 10%;
  background-color: var(--color-maroon);
}

.footer-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer-title {
  font-size: 36px;
  color: var(--color-white);
  font-weight: 600;
}

.copyright {
  font-size: 14px;
  color: var(--color-white);
  text-align: right;
}

.social-icons { display: flex; gap: 20px; justify-content: flex-start; }
.social-icons img { width: 32px; cursor: pointer; transition: transform 0.3s; filter: brightness(0) invert(1); }
.social-icons img:hover { transform: translateY(-5px); }

/* =========================================
   RESPONSIVIDADE: TABLETS E TELAS MÉDIAS (Até 900px)
   ========================================= */
@media (max-width: 900px) {
  .quote-text { font-size: 40px; }
  .quote-author { font-size: 20px; text-align: center; }
  .card-prosas { margin-top: 0; }
  .card-body p { font-size: 18px; }
  .browser-header { flex-direction: column-reverse; gap: 15px; }
  .browser-body { flex-direction: column; text-align: center; padding: 20px; }
  .event-title { font-size: 22px; }
  .event-desc { font-size: 18px; }
  .teaser-section p { font-size: 20px; }
}

/* =========================================
   RESPONSIVIDADE ESTRITA: CELULARES E IPHONE (Até 600px)
   ========================================= */
@media screen and (max-width: 600px) {
  /* TRAVA O SITE (Impede a "dança" para os lados) */
  html, body {
    overflow-x: hidden ;
    width: 100% ;
    max-width: 100vw ;
    margin: 0 ;
    padding: 0 ;
  }

  /* CABEÇALHO MOBILE PADRONIZADO (Logo + Menu) */
  .header { padding-top: 15px ; }

  .logo-container {
    padding: 0 ; 
    margin-bottom: 5px ;
  }

  .logo-text { font-size: 40px ; }

  /* MODO MOBILE: MENU HAMBÚRGUER */
  .desktop-menu { display: none ; }

  .mobile-menu-icon {
      display: block ;
      width: 100%;
      text-align: center ;
      background-color: var(--color-maroon);
      padding: 0 0 15px 0 ;
      margin: 0 ;
  }

  .mobile-menu-icon button {
      background: transparent;
      border: none;
      cursor: pointer;
      color: var(--color-white);
      font-size: 40px; 
      line-height: 1 ;
      padding: 0;
      margin: 0 ;
  }

  .mobile-menu {
      display: none; 
      width: 100% ;
      background-color: var(--color-maroon);
      padding: 0 0 20px 0;
  }

  .mobile-menu.open { display: block ; }

  .mobile-menu ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 15px;
  }

  .mobile-menu .nav-link {
      text-decoration: none;
      color: var(--color-white);
      font-size: 20px;
      font-family: var(--font-montserrat-alt);
      font-weight: 500;
      padding: 10px;
      display: block;
  }

  /* AJUSTES ESPECÍFICOS DA PÁGINA DE ARTE NO CELULAR */
  .quote-section { padding: 50px 5% ;}
  .quote-text { font-size: 32px ;}
  .quote-author { font-size: 18px ; }
  
  .arquivos-header { flex-direction: column ; text-align: center ; }
  .arquivos-title { font-size: 30px ; width: 100% ; }
  .arquivos-aviso { font-size: 14px ; width: 100% ; }

  .writing-card { max-width: 100% ; margin: 0 ; padding: 0 5% ; }
  .card-tab { width: 100% ; margin: 0 ;text-align: center ; border-radius: 20px 20px 0 0 ; font-size: 20px ; }
  .card-prosas .card-tab { margin: 0 ; }
  .card-body { border-radius: 0 0 20px 20px ; padding: 30px 20px ; min-height: auto ; }
  .card-body p { font-size: 16px ; text-align: center ; }
  
  .btn-outline-blue { align-self: center ; font-size: 18px ; }
  
  .section-title { font-size: 36px ; padding: 0 5% ; }
  .covers-grid { padding: 0 5% ; }
  
  .event-section { padding: 0 5% 50px 5% ; }
  .browser-header { padding: 15px ;}
  .url { font-size: 14px ; word-wrap: break-word ; max-width: 80% ;}
  
  /* RODAPÉ CENTRALIZADO NO CELULAR */
  .footer {
    flex-direction: column ;
    text-align: center ;
    gap: 20px ;
    padding: 40px 5% ;
    width: 100% ;
    box-sizing: border-box ;
  }
  
  .footer-content { align-items: center ;}
  .social-icons { justify-content: center ; }
  .footer-title { font-size: 30px ; }
  .copyright { text-align: center ;}
}