
/* ===== movido de pages/landing-page/contact.xhtml ===== */
/* ===================== SECTION ===================== */
  .support-section {
    position: relative;
    overflow: hidden;
  }

 /* .support-section::before {
    content: "";
    position: absolute;
    top: -200px;
    right: -160px;
    width: 460px;
    height: 460px;
    background: radial-gradient(circle, rgba(33, 150, 243, 0.08) 0%, transparent 70%);
  }*/

  .content-container-contact {
    position: relative;
    z-index: 1;
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 60px;
    align-items: start;
  }

  /* ===================== COLUNA DE TEXTO ===================== */
  .support-intro-col .eyebrow-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 18px;
    margin-bottom: 22px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: var(--blue-hover);
    background: rgba(33, 150, 243, 0.09);
    border: 1px solid rgba(33, 150, 243, 0.22);
    border-radius: 30px;
  }

  .support-intro-col .eyebrow-tag::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--orange);
  }

  .support-intro-col .section-title {
    margin: 0 0 18px;
    font-size: clamp(28px, 3.6vw, 38px);
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.2;
    color: var(--deep-indigo);
  }

  .support-intro-col .section-intro {
    margin: 0 0 40px;
    font-size: 16px;
    line-height: 1.75;
    color: #5b6472;
    max-width: 460px;
  }

  .support-contact-list {
    display: grid;
    gap: 20px;
  }

  .support-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }

  .support-contact-item .icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(33, 150, 243, 0.1);
    border-radius: 12px;
  }

  .support-contact-item .icon svg {
    width: 19px;
    height: 19px;
    stroke: var(--blue);
    fill: none;
    stroke-width: 1.8;
  }

  .support-contact-item strong {
    display: block;
    font-size: 14px;
    color: var(--deep-indigo);
    margin-bottom: 2px;
  }

  .support-contact-item span {
    font-size: 14px;
    color: #667085;
  }

  /* ===================== CARD DO FORMULÁRIO ===================== */
  .support-form-card {
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 20px 45px rgba(0, 31, 84, 0.1);
    padding: 42px 40px;
  }

  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 20px;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
  }

  .form-row .form-group { margin-bottom: 0; }

  .form-group:last-child { margin-bottom: 0; }

  /* rótulos */
  .ui-outputlabel,
  label.ui-outputlabel {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.2px;
    color: var(--deep-indigo);
    margin-bottom: 8px;
  }

  /* inputs de texto, mask, textarea (PrimeFaces) */
  .ui-inputfield,
  input.ui-inputfield,
  textarea.ui-inputfield,
  .ui-selectonemenu {
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 14.5px !important;
    font-family: inherit !important;
    color: var(--black-hover) !important;
    background: #fafbfc !important;
    border: 1.5px solid var(--border-color) !important;
    border-radius: 9px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  }

  .ui-inputfield:focus,
  .ui-selectonemenu.ui-state-focus {
    outline: none !important;
    border-color: var(--blue) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.15) !important;
  }

  textarea.ui-inputfield {
    resize: vertical;
    min-height: 120px;
  }

  /* select one menu (PrimeFaces monta um label dentro) */
  .ui-selectonemenu {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }

  .ui-selectonemenu .ui-selectonemenu-label {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 14.5px;
    color: var(--black-hover);
  }

  .ui-selectonemenu-trigger {
    color: var(--blue-hover);
  }

  /* growl (mensagens) */
  .ui-growl {
    z-index: 9999;
  }

  .ui-growl-item-container {
    border-radius: 10px !important;
    box-shadow: var(--shadow-1) !important;
  }

  /* footer / botão */
  .form-footer {
    margin-top: 30px;
    display: flex;
    justify-content: flex-end;
  }

  .submit-btn.rounded-button,
  .submit-btn.rounded-button.ui-button {
    background: var(--blue) !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    padding: 13px 30px !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    transition: background 0.25s ease, transform 0.2s ease !important;
  }

  .submit-btn.rounded-button:hover {
    background: var(--blue-hover) !important;
    transform: translateY(-2px);
  }

  .submit-btn .ui-icon,
  .submit-btn .pi {
    color: #ffffff !important;
  }

  /* ===================== CAMPO DE TELEFONE COMBINADO ===================== */
  /* País + número numa única caixa, como em formulários de sites modernos. */
  .phone-group {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1.5px solid var(--border-color);
    border-radius: 9px;
    background: #fafbfc;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-sizing: border-box;
  }

  .phone-group:focus-within {
    border-color: var(--blue) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.15) !important;
  }

  /* seletor de país: compacto, sem borda própria, dividido por uma linha */
  .phone-group .phone-country-select.ui-selectonemenu {
    width: auto !important;
    min-width: 126px;
    flex-shrink: 0;
    border: none !important;
    border-radius: 0 !important;
    border-right: 1.5px solid var(--border-color) !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 12px 10px 12px 14px !important;
  }

  .phone-group .phone-country-select.ui-selectonemenu.ui-state-focus {
    border: none !important;
    border-right: 1.5px solid var(--border-color) !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .phone-group .phone-country-select .ui-selectonemenu-label {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--black-hover);
    font-size: 14.5px;
    font-weight: 600;
  }

  .phone-group .phone-country-select .ui-selectonemenu-trigger {
    color: var(--blue-hover);
  }

  .phone-group .phone-country-select .ui-icon-triangle-1-s {
    margin-top: -3px !important;
  }

  /* input do número: preenche o resto, sem borda própria */
  .phone-group .ui-inputfield.ui-inputmask,
  .phone-group input.ui-inputfield.ui-inputmask {
    flex: 1;
    min-width: 0;
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .phone-group .ui-inputfield.ui-inputmask:focus,
  .phone-group input.ui-inputfield.ui-inputmask:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  @media (max-width: 960px) {
    .content-container-contact { grid-template-columns: 1fr; gap: 44px; }
    .support-intro-col .section-intro { max-width: 100%; }
  }

  @media (max-width: 600px) {
    .support-form-card { padding: 30px 22px; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .form-row .form-group { margin-bottom: 20px; }
    .form-footer { justify-content: stretch; }
    .submit-btn.rounded-button { width: 100%; justify-content: center; }
  }

/* ===== movido de pages/landing-page/schedule.xhtml ===== */
/* =========================================================
       LADO ESQUERDO
       ========================================================= */

      .port-schedule-status {
        display: flex;

        flex-direction: column;

        justify-content: center;

        padding: 45px;

        background: var(--deep-indigo);

        color: #ffffff;
      }

      /* =========================================================
       HORÁRIOS
       ========================================================= */

      .port-schedule-list {
        padding: 35px 40px;
      }

      .schedule-row {
        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 25px;

        padding: 20px 0;

        border-bottom: 1px solid #edf0f4;
      }

      .schedule-row:first-child {
        padding-top: 5px;
      }

      .schedule-row:last-child {
        border-bottom: none;

        padding-bottom: 5px;
      }

      .schedule-info {
        display: flex;

        align-items: center;

        gap: 15px;
      }

      .schedule-icon {
        width: 42px;
        height: 42px;

        display: flex;

        align-items: center;
        justify-content: center;

        flex-shrink: 0;

        border-radius: 11px;

        background: rgba(33, 150, 243, 0.08);

        color: var(--blue);
      }

      .schedule-icon svg {
        width: 20px;
        height: 20px;

        stroke: currentColor;

        fill: none;

        stroke-width: 1.7;

        stroke-linecap: round;

        stroke-linejoin: round;
      }

      .schedule-description {
        margin: 4px 0 0;

        color: var(--general-color);

        font-size: 12px;
      }

      .schedule-time {
        flex-shrink: 0;

        padding: 8px 13px;

        border-radius: 8px;

        background: #f5f8fb;

        color: var(--deep-indigo);

        font-size: 13px;

        font-weight: 800;

        white-space: nowrap;
      }

      /* =========================================================
       AVISO
       ========================================================= */

      .port-schedule-note {
        display: flex;

        align-items: center;

        gap: 10px;

        margin-top: 25px;

        color: rgba(255, 255, 255, 0.52);

        font-size: 11.5px;
      }

      .port-schedule-note svg {
        width: 17px;
        height: 17px;

        flex-shrink: 0;

        stroke: var(--orange);

        fill: none;

        stroke-width: 1.7;
      }

      /* =========================================================
       RESPONSIVO
       ========================================================= */

      @media (max-width: 800px) {
        .port-schedule-card {
          grid-template-columns: 1fr;
        }

        .port-schedule-status {
          padding: 35px;
        }

        .port-schedule-list {
          padding: 25px 30px;
        }
      }

      @media (max-width: 550px) {
        .port-schedule-section {
          padding: 65px 18px;
        }

        .port-schedule-title {
          font-size: 32px;
        }

        .port-schedule-status {
          padding: 30px 25px;
        }

        .port-schedule-list {
          padding: 20px;
        }

        .schedule-row {
          align-items: flex-start;
        }

        .schedule-time {
          font-size: 11px;
        }

        .schedule-description {
          display: none;
        }
      }

      /* =========================================================
   FUNDO MARÍTIMO / ONDAS
   ========================================================= */

      .port-schedule-section {
        position: relative;
        /*background:
        linear-gradient(
            180deg,
            #001f54 0%,
            #002d68 50%,
            #001f54 100%
        );*/
        background: transparent;

        overflow: hidden;
      }

      .port-schedule-section {
        position: relative;
        overflow: hidden;
      }

   

      /* =========================================================
   BRILHO SUAVE SOBRE O MAR
   ========================================================= */

      .port-schedule-section .sea-glow {
        position: absolute;

        width: 650px;
        height: 250px;

        left: 50%;
        bottom: -80px;

        transform: translateX(-50%);

        background: radial-gradient(
          ellipse,
          rgba(33, 150, 243, 0.2),
          transparent 70%
        );

        filter: blur(15px);

        pointer-events: none;

        animation: seaGlow 15s ease-in-out infinite alternate;
        display: none;
      }


      /* =========================================================
   GARANTIR QUE O CONTEÚDO FICA POR CIMA
   ========================================================= */

      .port-schedule-container {
        position: relative;

        z-index: 5;

        width: 100%;

        height: 100vh;
      }
