/* ==========================================================================
   1. LAYOUT PRINCIPAL (Alinhamento Global)
   ========================================================================== */
   .section-wrapper { padding: 60px 20px; }

   .content-wrapper { display: flex; flex-direction: column; gap: 30px; }
   
   .columns-wrapper { display: flex; align-items: flex-start; gap: 50px; }
   
   .text-content { 
       flex: 1; 
       text-align: left; 
       /* Correções críticas para evitar quebra de layout no Flexbox causado pelo Marquee */
       min-width: 0; 
       overflow: hidden; 
   }
   
   .gallery-content { flex: 1.1; position: relative; min-height: 400px; }
   
   .text-content .paragraph {
       text-align: left;
       margin-left: 0;
       margin-right: 0;
       max-width: 100%;
       margin-top: 0;
   }
   
   /* ==========================================================================
      2. COMPONENTE: MARQUEE ANIMADO (Design Limpo)
      ========================================================================== */
   .marquee-container {
       width: 100%;
       overflow: hidden;
       white-space: nowrap;
       position: relative;
       margin-top: 35px;
       padding: 15px 0;
       mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
       -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
   }
   
   .marquee-track {
       display: inline-flex;
       gap: 0; 
       animation: scrollMarquee 40s linear infinite; 
   }
   
   .marquee-container:hover .marquee-track {
       animation-play-state: paused;
   }
   
   @keyframes scrollMarquee {
       0% { transform: translateX(0); }
       100% { transform: translateX(-50%); } 
   }
   
   /* Estilos dos Ícones e Texto (Sem visual de botão) */
   .location-item { 
       display: inline-flex; 
       flex-direction: column; /* Ícone em cima do texto */
       align-items: center; 
       text-align: center; 
       gap: 12px; 
       padding: 0 45px; /* Espaçamento horizontal generoso entre os itens */
       background: transparent; 
       border: none; 
   }
   
   .location-item i {
       font-size: 1.8rem; /* Ícones grandes */
       color: var(--primary-green); 
       opacity: 0.8; 
   }
   
   .item-text {
       font-size: 1.1rem; 
       font-weight: 500; 
       color: var(--text-dark, #2c301d); 
       white-space: nowrap; 
   }
   
   /* ==========================================================================
      3. COMPONENTE: GALERIA POLAROID
      ========================================================================== */
   .photo-gallery { display: block; }
   
   .polaroid-frame { 
       position: absolute; background: #fff; padding: 10px 10px 40px 10px; 
       box-shadow: 0 10px 25px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.07); 
       transition: all 0.4s ease; width: 60%; max-width: 240px; 
   }
   
   .polaroid-frame:nth-child(1) { transform: rotate(-8deg); top: 0; left: 5%; z-index: 2; }
   .polaroid-frame:nth-child(2) { transform: rotate(4deg); top: 60px; left: 45%; z-index: 3; }
   .polaroid-frame:nth-child(3) { transform: rotate(10deg); top: 150px; left: 15%; z-index: 1; }
   
   .polaroid-frame:hover { 
       transform: scale(1.1) rotate(0deg) !important; 
       z-index: 10; box-shadow: 0 15px 35px rgba(0,0,0,0.2); 
   }
   
   .polaroid-img { width: 100%; height: 150px; object-fit: cover; display: block; }
   
   /* ==========================================================================
      4. ADAPTAÇÕES RESPONSIVAS (MOBILE & TABLET IPAD)
      ========================================================================== */
   @media (max-width: 1024px) {
       .columns-wrapper { flex-direction: column; gap: 40px; }
       .text-content { text-align: left; width: 100%; }
       
       .location-item { padding: 0 30px; }
   
       .gallery-content { width: 100%; margin-top: 20px; min-height: 320px; }
       .polaroid-frame:nth-child(1) { left: 5%; top: 0; }
       .polaroid-frame:nth-child(2) { left: auto; right: 5%; top: 30px; }
       .polaroid-frame:nth-child(3) { left: 20%; top: 120px; }
   }