    /* Variáveis para cores e fontes - IDÊNTICAS */
    :root {
      --background-color-header: #F8EEDB;
      --background-color-body: #FFFFFF;
      --text-color: #333333;
      --link-hover-color: #333333;
      --accent-color: #D4A373;
      --secondary-color: #E9EDC9;
      --dark-accent: #CCD5AE;
      --light-gray: #f5f5f5;
      --medium-gray: #e0e0e0;
      --footer-bg: #333333;
      --footer-text: #FFFFFF;
      --success-color: #CCD5AE;
      --error-color: #D4A373;
      --info-color: #A8B894;
      --warm-beige: #F5E6D3;
      --warm-brown: #8B7355;
      --gold-accent: #D4AF37;
    }

    /* Reset e estilos gerais */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Montserrat', sans-serif;
      background: linear-gradient(135deg, #FAF7F0 0%, #F8EEDB 100%);
      color: var(--text-color);
      line-height: 1.6;
      min-height: 100vh;
    }

    /* Estilos do cabeçalho IDÊNTICO */
    .header {
      width: 100%;
      background-color: var(--background-color-header);
      padding: 1rem 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);
      box-sizing: border-box;
      position: relative;
      box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }

    .header-container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1rem;
    }

    .logo img {
      height: 60px;
      width: auto;
      vertical-align: middle;
    }

    .nav {
      display: flex;
      gap: 2rem;
    }

    .nav a {
      text-decoration: none;
      color: var(--text-color);
      font-weight: normal;
      position: relative;
      padding-bottom: 5px;
      text-transform: uppercase;
      font-size: 1rem;
    }

    .nav a::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: transparent;
      bottom: 0;
      left: 0;
      transition: background-color 0.3s ease;
    }

    .nav a:hover::after {
      background-color: var(--link-hover-color);
    }

    .actions {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .search-container {
      display: flex;
      align-items: center;
      position: relative;
    }

    .search-container input {
      border: none;
      background-color: transparent;
      font-size: 0.9rem;
      text-transform: uppercase;
      padding-right: 25px;
      outline: none;
      color: var(--text-color);
      width: 180px;
    }

    .search-container input::placeholder {
      color: var(--text-color);
      opacity: 0.7;
    }

    .search-container .search-icon {
      position: absolute;
      right: 0;
      cursor: pointer;
    }

    .login-link img, .cart-link img {
      height: 40px;
      width: auto;
      vertical-align: middle;
    }

    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: space-around;
      width: 30px;
      height: 25px;
      cursor: pointer;
      z-index: 100;
    }

    .hamburger span {
      display: block;
      width: 100%;
      height: 3px;
      background-color: var(--text-color);
      transition: all 0.3s ease;
    }

    /* Mobile Navigation */
    .mobile-nav {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: var(--background-color-header);
      z-index: 90;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 2rem;
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }

    .mobile-nav.active {
      transform: translateX(0);
      display: flex;
    }

    .mobile-nav a {
      text-decoration: none;
      color: var(--text-color);
      font-weight: bold;
      font-size: 1.2rem;
      text-transform: uppercase;
    }

    .mobile-actions {
      display: none;
      margin-top: 2rem;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
    }

    .mobile-actions.active {
      display: flex;
    }

    /* Container Principal de Login */
    .login-container {
      max-width: 650px;
      margin: 70px auto;
      padding: 20px;
      position: relative;
      z-index: 1;
    }

    /* Card Principal */
    .login-card {
      background: white;
      border-radius: 20px;
      box-shadow: 0 10px 40px rgba(212, 163, 115, 0.15);
      overflow: hidden;
      border: 1px solid rgba(212, 163, 115, 0.2);
      position: relative;
      display: flex;
      flex-direction: column;
    }

    /* Decoração do card com padrão elegante */
    .login-card::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 150px;
      height: 150px;
      background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23d4a373' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
      background-size: 60px 60px;
      opacity: 0.8;
      z-index: 0;
      pointer-events: none;
    }

    .login-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 200px;
      height: 200px;
      background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ccd5ae' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
      background-size: 60px 60px;
      opacity: 0.8;
      z-index: 0;
      pointer-events: none;
    }

    /* Borda decorativa superior */
    .login-card-border {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 8px;
      background: linear-gradient(to right, var(--accent-color), var(--dark-accent), var(--secondary-color));
      z-index: 1;
    }

    /* Header do Card */
    .login-header {
      background: white;
      padding: 50px 40px 40px;
      text-align: center;
      position: relative;
      border-bottom: 2px solid rgba(212, 163, 115, 0.15);
      z-index: 1;
    }

    .logo-container {
      width: 120px;
      height: 120px;
      margin: 0 auto 25px;
      position: relative;
      animation: float 6s ease-in-out infinite;
    }

    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }

    .logo-container::after {
      content: '';
      position: absolute;
      width: 140px;
      height: 20px;
      background: radial-gradient(ellipse at center, rgba(0,0,0,0.1) 0%, transparent 70%);
      bottom: -20px;
      left: 50%;
      transform: translateX(-50%);
      border-radius: 50%;
      filter: blur(5px);
      opacity: 0.6;
      animation: shadow 6s ease-in-out infinite;
    }

    @keyframes shadow {
      0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.6; }
      50% { transform: translateX(-50%) scale(0.8); opacity: 0.4; }
    }

    .logo-container img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .login-header h1 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 2.5rem;
      margin-bottom: 15px;
      font-weight: 700;
      position: relative;
      display: inline-block;
    }

    .login-header h1::after {
      content: '';
      position: absolute;
      width: 60px;
      height: 3px;
      background: var(--accent-color);
      bottom: -8px;
      left: 50%;
      transform: translateX(-50%);
      border-radius: 3px;
    }

    .login-header p {
      color: var(--warm-brown);
      font-size: 1.05rem;
      font-weight: 400;
      line-height: 1.5;
      max-width: 450px;
      margin: 0 auto;
    }

    /* Body do Card */
    .login-body {
      padding: 40px 50px;
      background: white;
      position: relative;
      z-index: 1;
    }

    /* Social Login */
    .social-login {
      margin-bottom: 35px;
    }

    .social-buttons {
      display: flex;
      gap: 20px;
      margin-bottom: 30px;
    }

    .social-btn {
      flex: 1;
      padding: 15px;
      border: 1px solid var(--medium-gray);
      background: white;
      border-radius: 12px;
      font-family: 'Montserrat', sans-serif;
      font-size: 1rem;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      color: var(--text-color);
      box-shadow: 0 3px 10px rgba(0,0,0,0.05);
      position: relative;
      overflow: hidden;
    }

    .social-btn::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent
      );
      transition: 0.5s;
      z-index: 1;
    }

    .social-btn:hover::before {
      left: 100%;
    }

    .social-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
      border-color: var(--accent-color);
    }

    .social-btn i {
      font-size: 1.4rem;
      position: relative;
      z-index: 2;
    }

    .social-btn span {
      position: relative;
      z-index: 2;
    }

    .social-btn.google i {
      color: red;
    }

    .social-btn.facebook i {
      color: blue;
    }

    .divider {
      display: flex;
      align-items: center;
      margin: 30px 0;
      gap: 15px;
    }

    .divider::before,
    .divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(to right, transparent, var(--medium-gray), transparent);
    }

    .divider span {
      color: var(--text-color);
      font-size: 0.95rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      padding: 0 15px;
      background: white;
      position: relative;
    }

    /* Form Groups */
    .form-group {
      margin-bottom: 30px;
      position: relative;
    }

    .form-group label {
      display: block;
      margin-bottom: 10px;
      color: var(--text-color);
      font-weight: 600;
      font-size: 0.95rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .form-group label .required {
      color: var(--accent-color);
      margin-left: 2px;
    }

    .input-wrapper {
      position: relative;
      background: white;
      border-radius: 12px;
      overflow: hidden;
      transition: all 0.3s ease;
      box-shadow: 0 2px 10px rgba(0,0,0,0.02);
    }

    .input-wrapper::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 4px;
      background: linear-gradient(to bottom, var(--accent-color), var(--dark-accent));
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .input-wrapper:focus-within::before {
      opacity: 1;
    }

    .input-wrapper i {
      position: absolute;
      left: 18px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--warm-brown);
      transition: all 0.3s ease;
      font-size: 1.1rem;
    }

    .form-group input {
      width: 100%;
      padding: 16px 15px 16px 50px;
      border: 2px solid var(--medium-gray);
      border-radius: 12px;
      font-size: 1.05rem;
      font-family: 'Montserrat', sans-serif;
      transition: all 0.3s ease;
      background: white;
      color: var(--text-color);
    }

    .form-group input::placeholder {
      color: #999;
      font-size: 0.95rem;
    }

    .form-group input:focus {
      outline: none;
      border-color: var(--accent-color);
      box-shadow: 0 0 0 3px rgba(212, 163, 115, 0.1);
    }

    .form-group input:focus + i,
    .input-wrapper:focus-within i {
      color: var(--accent-color);
    }

    /* Input validation states */
    .form-group.error input {
      border-color: var(--error-color);
      background-color: rgba(212, 163, 115, 0.03);
    }

    .form-group.error .input-wrapper::before {
      background: var(--error-color);
      opacity: 1;
    }

    .form-group.success input {
      border-color: var(--success-color);
      background-color: rgba(204, 213, 174, 0.03);
    }

    .form-group.success .input-wrapper::before {
      background: var(--success-color);
      opacity: 1;
    }

    .error-message {
      display: none;
      color: var(--error-color);
      font-size: 0.85rem;
      margin-top: 8px;
      display: flex;
      align-items: center;
      gap: 5px;
      animation: fadeIn 0.3s ease;
    }

    .form-group.error .error-message {
      display: flex;
    }

    /* Password Toggle */
    .password-toggle {
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer;
      color: var(--warm-brown);
      transition: all 0.3s ease;
      background: none;
      border: none;
      padding: 8px;
      border-radius: 50%;
      z-index: 2;
    }

    .password-toggle:hover {
      color: var(--accent-color);
      background: rgba(212, 163, 115, 0.1);
    }

    /* Remember Me & Forgot Password */
    .login-options {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 35px;
    }

    .remember-me {
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
    }

    .remember-me input[type="checkbox"] {
      width: 20px;
      height: 20px;
      accent-color: var(--accent-color);
      cursor: pointer;
      border-radius: 4px;
    }

    .remember-me label {
      font-size: 0.95rem;
      color: var(--text-color);
      cursor: pointer;
    }

    .forgot-password {
      font-size: 0.95rem;
      color: var(--accent-color);
      text-decoration: none;
      font-weight: 500;
      transition: all 0.3s ease;
      padding: 5px 10px;
      border-radius: 20px;
    }

    .forgot-password:hover {
      background: rgba(212, 163, 115, 0.1);
      text-decoration: underline;
    }

    /* Action Buttons */
    .form-actions {
      display: flex;
      flex-direction: column;
      gap: 15px;
    }

    .submit-btn {
      width: 100%;
      padding: 18px;
      background: var(--accent-color);
      color: white;
      border: none;
      border-radius: 12px;
      font-size: 1.1rem;
      font-weight: 600;
      font-family: 'Montserrat', sans-serif;
      cursor: pointer;
      transition: all 0.3s ease;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      box-shadow: 0 4px 15px rgba(212, 163, 115, 0.3);
      position: relative;
      overflow: hidden;
    }

    .submit-btn::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent
      );
      transition: 0.5s;
    }

    .submit-btn:hover::before {
      left: 100%;
    }

    .submit-btn:hover {
      background: var(--warm-brown);
      transform: translateY(-3px);
      box-shadow: 0 8px 25px rgba(212, 163, 115, 0.4);
    }

    .submit-btn:active {
      transform: translateY(-1px);
    }

    .submit-btn.loading {
      pointer-events: none;
      color: transparent;
    }

    .submit-btn.loading::after {
      content: '';
      position: absolute;
      width: 25px;
      height: 25px;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border: 3px solid transparent;
      border-top-color: white;
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    /* Footer do Card */
    .login-footer {
      text-align: center;
      padding: 25px 30px;
      background: var(--light-gray);
      border-top: 1px solid var(--medium-gray);
      position: relative;
      z-index: 1;
    }

    .signup-link-footer {
      color: var(--text-color);
      font-size: 1rem;
    }

    .signup-link-footer a {
      color: var(--accent-color);
      text-decoration: none;
      font-weight: 600;
      transition: all 0.3s ease;
      position: relative;
      display: inline-block;
    }

    .signup-link-footer a::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 2px;
      background: var(--accent-color);
      bottom: -2px;
      left: 0;
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 0.3s ease;
    }

    .signup-link-footer a:hover::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    /* Success State */
    .success-state {
      display: none;
      text-align: center;
      padding: 60px 40px;
    }

    .success-icon {
      width: 120px;
      height: 120px;
      margin: 0 auto 30px;
      position: relative;
    }

    .success-circle {
      stroke-dasharray: 300;
      stroke-dashoffset: 300;
      stroke-width: 3;
      stroke: var(--dark-accent);
      fill: none;
      animation: drawCircle 0.8s ease forwards;
    }

    @keyframes drawCircle {
      to { stroke-dashoffset: 0; }
    }

    .success-check {
      stroke-dasharray: 60;
      stroke-dashoffset: 60;
      stroke-width: 3;
      stroke: var(--dark-accent);
      fill: none;
      animation: drawCheck 0.4s ease forwards 0.8s;
    }

    @keyframes drawCheck {
      to { stroke-dashoffset: 0; }
    }

    .success-state h2 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 2.2rem;
      margin-bottom: 20px;
    }

    .success-state p {
      color: var(--warm-brown);
      font-size: 1.1rem;
      margin-bottom: 15px;
      line-height: 1.6;
      animation: fadeIn 0.5s ease;
    }

    #redirectCountdown {
      display: inline-block;
      font-weight: 700;
      color: var(--accent-color);
      font-size: 1.4rem;
      animation: pulse 1s infinite;
      min-width: 30px;
      text-align: center;
    }

    @keyframes pulse {
      0% { transform: scale(1); }
      50% { transform: scale(1.1); }
      100% { transform: scale(1); }
    }

    /* Efeito de brilho no card */
    @keyframes cardShine {
      0% {
        background-position: 0% 0%;
      }
      100% {
        background-position: 200% 0%;
      }
    }

    .login-card {
      position: relative;
      overflow: hidden;
    }

    .login-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 8px;
      background: linear-gradient(90deg, 
        var(--accent-color), 
        var(--dark-accent), 
        var(--secondary-color),
        var(--accent-color));
      background-size: 200% 100%;
      animation: cardShine 6s linear infinite;
      z-index: 2;
    }

    /* Responsividade */
    @media (max-width: 768px) {
      .nav, .actions {
        display: none;
      }

      .hamburger {
        display: flex;
      }

      .login-container {
        margin: 40px auto;
        padding: 15px;
      }

      .login-header {
        padding: 35px 25px;
      }

      .login-header h1 {
        font-size: 2rem;
      }

      .login-body {
        padding: 30px 25px;
      }

      .social-buttons {
        flex-direction: column;
      }

      .login-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
      }
    }

    @media (max-width: 480px) {
      .login-card {
        border-radius: 15px;
      }

      .logo-container {
        width: 90px;
        height: 90px;
      }

      .login-header h1 {
        font-size: 1.8rem;
      }

      .login-header p {
        font-size: 0.9rem;
      }

      .submit-btn {
        padding: 15px;
        font-size: 1rem;
      }
    }

    /* Hamburger menu animation */
    .hamburger.active span:nth-child(1) {
      transform: translateY(11px) rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      transform: translateY(-11px) rotate(-45deg);
    }

    /* Animações adicionais */
    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .form-group {
      animation: fadeIn 0.5s ease;
    }

    @keyframes shake {
      0%, 100% { transform: translateX(0); }
      25% { transform: translateX(-10px); }
      75% { transform: translateX(10px); }
    }

    .error-shake {
      animation: shake 0.5s ease;
    }

        /* Variáveis para cores e fontes - IDÊNTICAS */
    :root {
      --background-color-header: #F8EEDB;
      --background-color-body: #FFFFFF;
      --text-color: #333333;
      --link-hover-color: #333333;
      --accent-color: #D4A373;
      --secondary-color: #E9EDC9;
      --dark-accent: #CCD5AE;
      --light-gray: #f5f5f5;
      --medium-gray: #e0e0e0;
      --footer-bg: #333333;
      --footer-text: #FFFFFF;
      --success-color: #CCD5AE;
      --error-color: #D4A373;
      --info-color: #A8B894;
      --warm-beige: #F5E6D3;
      --warm-brown: #8B7355;
    }

    /* Reset e estilos gerais */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Montserrat', sans-serif;
      background: linear-gradient(135deg, #FAF7F0 0%, #F8EEDB 100%);
      color: var(--text-color);
      line-height: 1.6;
      min-height: 100vh;
    }

    /* Estilos do cabeçalho IDÊNTICO */
    .header {
      width: 100%;
      background-color: var(--background-color-header);
      padding: 1rem 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);
      box-sizing: border-box;
      position: relative;
      box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }

    .header-container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1rem;
    }

    .logo img {
      height: 60px;
      width: auto;
      vertical-align: middle;
    }

    .nav {
      display: flex;
      gap: 2rem;
    }

    .nav a {
      text-decoration: none;
      color: var(--text-color);
      font-weight: normal;
      position: relative;
      padding-bottom: 5px;
      text-transform: uppercase;
      font-size: 1rem;
    }

    .nav a::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: transparent;
      bottom: 0;
      left: 0;
      transition: background-color 0.3s ease;
    }

    .nav a:hover::after {
      background-color: var(--link-hover-color);
    }

    .actions {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .search-container {
      display: flex;
      align-items: center;
      position: relative;
    }

    .search-container input {
      border: none;
      background-color: transparent;
      font-size: 0.9rem;
      text-transform: uppercase;
      padding-right: 25px;
      outline: none;
      color: var(--text-color);
      width: 180px;
    }

    .search-container input::placeholder {
      color: var(--text-color);
      opacity: 0.7;
    }

    .search-container .search-icon {
      position: absolute;
      right: 0;
      cursor: pointer;
    }

    .login-link img, .cart-link img {
      height: 40px;
      width: auto;
      vertical-align: middle;
    }

    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: space-around;
      width: 30px;
      height: 25px;
      cursor: pointer;
      z-index: 100;
    }

    .hamburger span {
      display: block;
      width: 100%;
      height: 3px;
      background-color: var(--text-color);
      transition: all 0.3s ease;
    }

    /* Mobile Navigation */
    .mobile-nav {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: var(--background-color-header);
      z-index: 90;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 2rem;
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }

    .mobile-nav.active {
      transform: translateX(0);
      display: flex;
    }

    .mobile-nav a {
      text-decoration: none;
      color: var(--text-color);
      font-weight: bold;
      font-size: 1.2rem;
      text-transform: uppercase;
    }

    .mobile-actions {
      display: none;
      margin-top: 2rem;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
    }

    .mobile-actions.active {
      display: flex;
    }

    /* Container Principal de Cadastro */
    .signup-container {
      max-width: 650px;
      margin: 50px auto;
      padding: 20px;
    }

    /* Card Principal */
    .signup-card {
      background: white;
      border-radius: 20px;
      box-shadow: 0 10px 40px rgba(212, 163, 115, 0.15);
      overflow: hidden;
      border: 1px solid rgba(212, 163, 115, 0.2);
    }

    /* Header do Card */
    .signup-header {
      background: white;
      padding: 40px 30px;
      text-align: center;
      position: relative;
      border-bottom: 2px solid rgba(212, 163, 115, 0.15);
    }

    .logo-container {
      width: 100px;
      height: 100px;
      margin: 0 auto 20px;
      position: relative;
    }

    .logo-container img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .signup-header h1 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 2.2rem;
      margin-bottom: 10px;
      font-weight: 700;
    }

    .signup-header p {
      color: var(--warm-brown);
      font-size: 0.95rem;
      font-weight: 400;
      line-height: 1.5;
    }

    /* Progress Steps */
    .progress-steps {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 25px 30px;
      background: var(--light-gray);
      border-bottom: 1px solid var(--medium-gray);
    }

    .step {
      display: flex;
      align-items: center;
      position: relative;
    }

    .step-circle {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: white;
      border: 2px solid var(--medium-gray);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      color: var(--text-color);
      transition: all 0.3s ease;
      position: relative;
      z-index: 2;
    }

    .step.active .step-circle {
      background: var(--accent-color);
      border-color: var(--accent-color);
      color: white;
      box-shadow: 0 2px 8px rgba(212, 163, 115, 0.3);
    }

    .step.completed .step-circle {
      background: var(--dark-accent);
      border-color: var(--dark-accent);
      color: white;
    }

    .step-line {
      width: 120px;
      height: 2px;
      background: var(--medium-gray);
      margin: 0 10px;
      position: relative;
    }

    .step-line::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 0;
      background: var(--dark-accent);
      transition: width 0.3s ease;
    }

    .step.completed + .step-line::after {
      width: 100%;
    }

    .step-label {
      position: absolute;
      bottom: -25px;
      white-space: nowrap;
      font-size: 0.85rem;
      color: var(--text-color);
      font-weight: 500;
    }

    /* Body do Card */
    .signup-body {
      padding: 35px 30px;
      background: white;
    }

    /* Social Login */
    .social-login {
      margin-bottom: 30px;
    }

    .social-buttons {
      display: flex;
      gap: 15px;
      margin-bottom: 25px;
    }

    .social-btn {
      flex: 1;
      padding: 12px;
      border: 1px solid var(--medium-gray);
      background: white;
      border-radius: 10px;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.9rem;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      color: var(--text-color);
    }

    .social-btn:hover {
      background: var(--light-gray);
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .social-btn i {
      font-size: 1.2rem;
    }

    .social-btn.google i {
      color: red;
    }

    .social-btn.facebook i {
      color: blue;
    }

    .divider {
      display: flex;
      align-items: center;
      margin: 25px 0;
      gap: 15px;
    }

    .divider::before,
    .divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: var(--medium-gray);
    }

    .divider span {
      color: var(--text-color);
      font-size: 0.9rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    /* Form Groups */
    .form-row {
      display: flex;
      gap: 15px;
      margin-bottom: 20px;
    }

    .form-group {
      flex: 1;
      margin-bottom: 20px;
      position: relative;
    }

    .form-group label {
      display: block;
      margin-bottom: 8px;
      color: var(--text-color);
      font-weight: 600;
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .form-group label .required {
      color: var(--accent-color);
      margin-left: 2px;
    }

    .input-wrapper {
      position: relative;
    }

    .input-wrapper i {
      position: absolute;
      left: 15px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--warm-brown);
      transition: all 0.3s ease;
    }

    .form-group input,
    .form-group select {
      width: 100%;
      padding: 14px 15px 14px 45px;
      border: 2px solid var(--medium-gray);
      border-radius: 10px;
      font-size: 0.95rem;
      font-family: 'Montserrat', sans-serif;
      transition: all 0.3s ease;
      background: white;
      color: var(--text-color);
    }

    .form-group select {
      cursor: pointer;
      appearance: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
      background-repeat: no-repeat;
      background-position: right 15px center;
      background-size: 20px;
      padding-right: 45px;
    }

    .form-group input::placeholder {
      color: #999;
    }

    .form-group input:focus,
    .form-group select:focus {
      outline: none;
      border-color: var(--accent-color);
      box-shadow: 0 0 0 3px rgba(212, 163, 115, 0.1);
    }

    .form-group input:focus + i,
    .input-wrapper:focus-within i {
      color: var(--accent-color);
    }

    /* Input validation states */
    .form-group.error input {
      border-color: var(--error-color);
    }

    .form-group.success input {
      border-color: var(--success-color);
    }

    .error-message {
      display: none;
      color: var(--error-color);
      font-size: 0.85rem;
      margin-top: 5px;
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .form-group.error .error-message {
      display: flex;
    }

    /* Password Strength Indicator */
    .password-strength {
      margin-top: 10px;
      height: 5px;
      background: var(--light-gray);
      border-radius: 3px;
      overflow: hidden;
    }

    .password-strength-bar {
      height: 100%;
      transition: all 0.3s ease;
      border-radius: 3px;
    }

    .password-strength-bar.weak {
      width: 33%;
      background: var(--accent-color);
    }

    .password-strength-bar.medium {
      width: 66%;
      background: var(--warm-beige);
    }

    .password-strength-bar.strong {
      width: 100%;
      background: var(--dark-accent);
    }

    .password-info {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 8px;
    }

    .strength-text {
      font-size: 0.85rem;
      color: var(--text-color);
      font-weight: 500;
    }

    .password-toggle {
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      cursor: pointer;
      color: var(--warm-brown);
      transition: all 0.3s ease;
      background: none;
      border: none;
      padding: 5px;
    }

    .password-toggle:hover {
      color: var(--accent-color);
    }

    /* Checkbox e Radio styles */
    .checkbox-group,
    .radio-group {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-bottom: 20px;
    }

    .checkbox-wrapper,
    .radio-wrapper {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      cursor: pointer;
      transition: all 0.3s ease;
      padding: 12px;
      border-radius: 8px;
      border: 1px solid transparent;
    }

    .checkbox-wrapper:hover,
    .radio-wrapper:hover {
      background: var(--light-gray);
      border-color: var(--medium-gray);
    }

    .checkbox-wrapper input[type="checkbox"],
    .radio-wrapper input[type="radio"] {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      margin-top: 2px;
      accent-color: var(--accent-color);
      cursor: pointer;
    }

    .checkbox-label,
    .radio-label {
      flex: 1;
      font-size: 0.9rem;
      line-height: 1.5;
      color: var(--text-color);
    }

    .checkbox-label a,
    .radio-label a {
      color: var(--accent-color);
      text-decoration: none;
      font-weight: 600;
      transition: all 0.3s ease;
    }

    .checkbox-label a:hover,
    .radio-label a:hover {
      text-decoration: underline;
    }

    /* Benefits Section */
    .benefits-box {
      background: var(--secondary-color);
      border-radius: 10px;
      padding: 20px;
      margin-bottom: 25px;
    }

    .benefits-title {
      font-family: 'Playfair Display', serif;
      font-size: 1.3rem;
      color: var(--text-color);
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .benefits-title i {
      color: var(--dark-accent);
    }

    .benefits-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .benefit-item {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.9rem;
      color: var(--text-color);
    }

    .benefit-item i {
      color: var(--dark-accent);
      font-size: 0.9rem;
    }

    /* Newsletter preferences */
    .newsletter-preferences {
      background: var(--light-gray);
      border-radius: 10px;
      padding: 20px;
      margin-bottom: 25px;
    }

    .pref-title {
      font-weight: 600;
      color: var(--text-color);
      margin-bottom: 15px;
      font-size: 1rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .pref-title i {
      color: var(--accent-color);
    }

    .pref-options {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .pref-option {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px;
      background: white;
      border-radius: 8px;
      cursor: pointer;
      transition: all 0.3s ease;
      border: 2px solid transparent;
    }

    .pref-option:hover {
      border-color: var(--accent-color);
    }

    .pref-option input[type="checkbox"] {
      accent-color: var(--accent-color);
    }

    .pref-option label {
      cursor: pointer;
      font-size: 0.9rem;
      color: var(--text-color);
    }

    /* Birth Date Special */
    .birth-date-group {
      display: flex;
      gap: 10px;
      align-items: flex-end;
    }

    .birth-date-group .form-group {
      margin-bottom: 0;
    }

    .birth-date-group input,
    .birth-date-group select {
      padding-left: 15px;
    }

    .birth-benefit {
      background: var(--warm-beige);
      padding: 10px;
      border-radius: 8px;
      margin-top: 10px;
      font-size: 0.85rem;
      color: var(--text-color);
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .birth-benefit i {
      color: var(--accent-color);
    }

    /* Action Buttons */
    .form-actions {
      display: flex;
      flex-direction: column;
      gap: 15px;
      margin-top: 30px;
    }

    .submit-btn {
      width: 100%;
      padding: 15px;
      background: var(--accent-color);
      color: white;
      border: none;
      border-radius: 10px;
      font-size: 1rem;
      font-weight: 600;
      font-family: 'Montserrat', sans-serif;
      cursor: pointer;
      transition: all 0.3s ease;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      box-shadow: 0 4px 15px rgba(212, 163, 115, 0.3);
      position: relative;
      overflow: hidden;
    }

    .submit-btn:hover {
      background: var(--warm-brown);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(212, 163, 115, 0.4);
    }

    .submit-btn:active {
      transform: translateY(0);
    }

    .submit-btn.loading {
      pointer-events: none;
      color: transparent;
    }

    .submit-btn.loading::after {
      content: '';
      position: absolute;
      width: 20px;
      height: 20px;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border: 2px solid transparent;
      border-top-color: white;
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    /* Footer do Card */
    .signup-footer {
      text-align: center;
      padding: 20px 30px;
      background: var(--light-gray);
      border-top: 1px solid var(--medium-gray);
    }

    .login-link-footer {
      color: var(--text-color);
      font-size: 0.95rem;
    }

    .login-link-footer a {
      color: var(--accent-color);
      text-decoration: none;
      font-weight: 600;
      transition: all 0.3s ease;
    }

    .login-link-footer a:hover {
      text-decoration: underline;
    }

    /* Success State */
    .success-state {
      display: none;
      text-align: center;
      padding: 60px 30px;
    }

    .success-icon {
      width: 100px;
      height: 100px;
      margin: 0 auto 25px;
      position: relative;
    }

    .success-circle {
      stroke-dasharray: 300;
      stroke-dashoffset: 300;
      stroke-width: 3;
      stroke: var(--dark-accent);
      fill: none;
      animation: drawCircle 0.8s ease forwards;
    }

    @keyframes drawCircle {
      to { stroke-dashoffset: 0; }
    }

    .success-check {
      stroke-dasharray: 60;
      stroke-dashoffset: 60;
      stroke-width: 3;
      stroke: var(--dark-accent);
      fill: none;
      animation: drawCheck 0.4s ease forwards 0.8s;
    }

    @keyframes drawCheck {
      to { stroke-dashoffset: 0; }
    }

    .success-state h2 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 2rem;
      margin-bottom: 15px;
    }

    .success-state p {
      color: var(--warm-brown);
      font-size: 1rem;
      margin-bottom: 10px;
      line-height: 1.6;
      animation: fadeIn 0.5s ease;
    }

    #redirectCountdown {
      display: inline-block;
      font-weight: 700;
      color: var(--accent-color);
      font-size: 1.2rem;
      animation: pulse 1s infinite;
    }

    @keyframes pulse {
      0% { transform: scale(1); }
      50% { transform: scale(1.1); }
      100% { transform: scale(1); }
    }

    .success-actions {
      display: flex;
      gap: 15px;
      justify-content: center;
      flex-wrap: wrap;
      margin-top: 20px;
    }

    .success-btn {
      padding: 12px 25px;
      border-radius: 8px;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.3s ease;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .success-btn.primary {
      background: var(--accent-color);
      color: white;
    }

    .success-btn.primary:hover {
      background: var(--warm-brown);
      transform: translateY(-2px);
    }

    .success-btn.secondary {
      background: white;
      color: var(--text-color);
      border: 2px solid var(--medium-gray);
    }

    .success-btn.secondary:hover {
      border-color: var(--accent-color);
      color: var(--accent-color);
    }

    /* Tooltips */
    .tooltip {
      position: relative;
      display: inline-block;
      margin-left: 5px;
      cursor: help;
    }

    .tooltip i {
      color: var(--warm-brown);
      font-size: 0.9rem;
    }

    .tooltip-text {
      visibility: hidden;
      width: 250px;
      background-color: var(--text-color);
      color: white;
      text-align: left;
      padding: 10px;
      border-radius: 8px;
      position: absolute;
      z-index: 10;
      bottom: 125%;
      left: 50%;
      margin-left: -125px;
      opacity: 0;
      transition: opacity 0.3s;
      font-size: 0.85rem;
      line-height: 1.4;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

    .tooltip-text::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -5px;
      border-width: 5px;
      border-style: solid;
      border-color: var(--text-color) transparent transparent transparent;
    }

    .tooltip:hover .tooltip-text {
      visibility: visible;
      opacity: 1;
    }

    /* Responsividade */
    @media (max-width: 768px) {
      .nav, .actions {
        display: none;
      }

      .hamburger {
        display: flex;
      }

      .signup-container {
        margin: 30px auto;
        padding: 15px;
      }

      .signup-header {
        padding: 30px 20px;
      }

      .signup-header h1 {
        font-size: 1.8rem;
      }

      .logo-container {
        width: 80px;
        height: 80px;
      }

      .signup-body {
        padding: 25px 20px;
      }

      .form-row {
        flex-direction: column;
        gap: 0;
      }

      .step-line {
        width: 60px;
      }

      .step-label {
        font-size: 0.75rem;
      }

      .benefits-list {
        grid-template-columns: 1fr;
      }

      .pref-options {
        grid-template-columns: 1fr;
      }

      .social-buttons {
        flex-direction: column;
      }

      .birth-date-group {
        flex-direction: column;
        gap: 0;
      }
    }

    @media (max-width: 480px) {
      .signup-card {
        border-radius: 15px;
      }

      .logo-container {
        width: 70px;
        height: 70px;
      }

      .signup-header h1 {
        font-size: 1.5rem;
      }

      .signup-header p {
        font-size: 0.85rem;
      }

      .progress-steps {
        padding: 20px 15px;
      }

      .step-circle {
        width: 35px;
        height: 35px;
        font-size: 0.9rem;
      }

      .submit-btn {
        padding: 12px;
        font-size: 0.9rem;
      }

      .benefit-item {
        font-size: 0.85rem;
      }
    }

    /* Hamburger menu animation */
    .hamburger.active span:nth-child(1) {
      transform: translateY(11px) rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      transform: translateY(-11px) rotate(-45deg);
    }

    /* Animações adicionais */
    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(10px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .form-group {
      animation: fadeIn 0.5s ease;
    }

    @keyframes shake {
      0%, 100% { transform: translateX(0); }
      25% { transform: translateX(-10px); }
      75% { transform: translateX(10px); }
    }

    .error-shake {
      animation: shake 0.5s ease;
    }

        /* Variáveis para cores e fontes */
    :root {
      --background-color-header: #F8EEDB;
      --background-color-body: #FFFFFF;
      --text-color: #333333;
      --link-hover-color: #333333;
      --accent-color: #D4A373;
      --secondary-color: #E9EDC9;
      --dark-accent: #CCD5AE;
      --light-gray: #f5f5f5;
      --medium-gray: #e0e0e0;
      --footer-bg: #333333;
      --footer-text: #FFFFFF;
      --success-color: #CCD5AE;
      --error-color: #D4A373;
      --info-color: #A8B894;
      --warm-beige: #F5E6D3;
      --warm-brown: #8B7355;
    }

    /* Reset e estilos gerais */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Montserrat', sans-serif;
      background: linear-gradient(135deg, #FAF7F0 0%, #F8EEDB 100%);
      color: var(--text-color);
      line-height: 1.6;
      min-height: 100vh;
    }

    /* Estilos do cabeçalho IDÊNTICO ao da página feminina */
    .header {
      width: 100%;
      background-color: var(--background-color-header);
      padding: 1rem 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);
      box-sizing: border-box;
      position: relative;
      box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }

    .header-container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1rem;
    }

    .logo img {
      height: 60px;
      width: auto;
      vertical-align: middle;
    }

    .nav {
      display: flex;
      gap: 2rem;
    }

    .nav a {
      text-decoration: none;
      color: var(--text-color);
      font-weight: normal;
      position: relative;
      padding-bottom: 5px;
      text-transform: uppercase;
      font-size: 1rem;
    }

    .nav a::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: transparent;
      bottom: 0;
      left: 0;
      transition: background-color 0.3s ease;
    }

    .nav a:hover::after {
      background-color: var(--link-hover-color);
    }

    .actions {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .search-container {
      display: flex;
      align-items: center;
      position: relative;
    }

    .search-container input {
      border: none;
      background-color: transparent;
      font-size: 0.9rem;
      text-transform: uppercase;
      padding-right: 25px;
      outline: none;
      color: var(--text-color);
      width: 180px;
    }

    .search-container input::placeholder {
      color: var(--text-color);
      opacity: 0.7;
    }

    .search-container .search-icon {
      position: absolute;
      right: 0;
      cursor: pointer;
    }

    .login-link img, .cart-link img {
      height: 40px;
      width: auto;
      vertical-align: middle;
    }

    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: space-around;
      width: 30px;
      height: 25px;
      cursor: pointer;
      z-index: 100;
    }

    .hamburger span {
      display: block;
      width: 100%;
      height: 3px;
      background-color: var(--text-color);
      transition: all 0.3s ease;
    }

    /* Mobile Navigation */
    .mobile-nav {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: var(--background-color-header);
      z-index: 90;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 2rem;
      transform: translateX(-100%);
      transition: transform 0.3s ease;
    }

    .mobile-nav.active {
      transform: translateX(0);
      display: flex;
    }

    .mobile-nav a {
      text-decoration: none;
      color: var(--text-color);
      font-weight: bold;
      font-size: 1.2rem;
      text-transform: uppercase;
    }

    .mobile-actions {
      display: none;
      margin-top: 2rem;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
    }

    .mobile-actions.active {
      display: flex;
    }

    /* Container Principal */
    .password-recovery-container {
      max-width: 550px;
      margin: 50px auto;
      padding: 20px;
    }

    /* Card Principal com cores baseadas no header */
    .recovery-card {
      background: white;
      border-radius: 20px;
      box-shadow: 0 10px 40px rgba(212, 163, 115, 0.15);
      overflow: hidden;
      border: 1px solid rgba(212, 163, 115, 0.2);
    }

    /* Header do Card - FUNDO BRANCO */
    .recovery-header {
      background: white;
      padding: 40px 30px;
      text-align: center;
      position: relative;
      border-bottom: 2px solid rgba(212, 163, 115, 0.15);
    }

    .logo-container {
      width: 100px;
      height: 100px;
      margin: 0 auto 20px;
      position: relative;
    }

    .logo-container img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .recovery-header h1 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 2.2rem;
      margin-bottom: 10px;
      font-weight: 700;
    }

    .recovery-header p {
      color: var(--warm-brown);
      font-size: 0.95rem;
      font-weight: 400;
      line-height: 1.5;
    }

    /* Body do Card */
    .recovery-body {
      padding: 35px 30px;
      background: white;
    }

    /* Tabs de Método */
    .recovery-methods {
      display: flex;
      gap: 10px;
      margin-bottom: 30px;
      padding: 5px;
      background: var(--light-gray);
      border-radius: 10px;
    }

    .method-tab {
      flex: 1;
      padding: 12px;
      border: none;
      background: transparent;
      color: var(--text-color);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      cursor: pointer;
      border-radius: 8px;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

    .method-tab:hover {
      background: rgba(212, 163, 115, 0.1);
    }

    .method-tab.active {
      background: var(--accent-color);
      color: white;
      box-shadow: 0 2px 8px rgba(212, 163, 115, 0.3);
    }

    .method-tab i {
      font-size: 1.1rem;
    }

    /* Info Box */
    .info-box {
      background: var(--secondary-color);
      border-left: 3px solid var(--dark-accent);
      padding: 15px;
      border-radius: 8px;
      margin-bottom: 25px;
      display: flex;
      align-items: flex-start;
      gap: 12px;
    }

    .info-box i {
      color: var(--dark-accent);
      font-size: 1.2rem;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .info-box p {
      font-size: 0.9rem;
      line-height: 1.6;
      color: var(--text-color);
      margin: 0;
    }

    /* Campos de Input */
    .form-group {
      margin-bottom: 25px;
      position: relative;
    }

    .form-group label {
      display: block;
      margin-bottom: 8px;
      color: var(--text-color);
      font-weight: 600;
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .input-wrapper {
      position: relative;
    }

    .input-wrapper i {
      position: absolute;
      left: 15px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--warm-brown);
      transition: all 0.3s ease;
    }

    .form-group input {
      width: 100%;
      padding: 14px 15px 14px 45px;
      border: 2px solid var(--medium-gray);
      border-radius: 10px;
      font-size: 0.95rem;
      font-family: 'Montserrat', sans-serif;
      transition: all 0.3s ease;
      background: white;
      color: var(--text-color);
    }

    .form-group input::placeholder {
      color: #999;
    }

    .form-group input:focus {
      outline: none;
      border-color: var(--accent-color);
      box-shadow: 0 0 0 3px rgba(212, 163, 115, 0.1);
    }

    .form-group input:focus + i,
    .input-wrapper:focus-within i {
      color: var(--accent-color);
    }

    /* Botão Submit */
    .submit-btn {
      width: 100%;
      padding: 15px;
      background: var(--accent-color);
      color: white;
      border: none;
      border-radius: 10px;
      font-size: 1rem;
      font-weight: 600;
      font-family: 'Montserrat', sans-serif;
      cursor: pointer;
      transition: all 0.3s ease;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      box-shadow: 0 4px 15px rgba(212, 163, 115, 0.3);
    }

    .submit-btn:hover {
      background: var(--warm-brown);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(212, 163, 115, 0.4);
    }

    .submit-btn:active {
      transform: translateY(0);
    }

    .submit-btn.loading {
      pointer-events: none;
      opacity: 0.8;
    }

    .submit-btn.loading::after {
      content: '';
      position: absolute;
      width: 20px;
      height: 20px;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border: 2px solid transparent;
      border-top-color: white;
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    /* Footer do Card */
    .recovery-footer {
      text-align: center;
      padding: 20px 30px;
      background: var(--light-gray);
      border-top: 1px solid var(--medium-gray);
    }

    .back-to-login {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--text-color);
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 600;
      transition: all 0.3s ease;
      padding: 10px 20px;
      border-radius: 8px;
    }

    .back-to-login:hover {
      color: var(--accent-color);
      transform: translateX(-3px);
    }

    .back-to-login i {
      transition: transform 0.3s ease;
    }

    .back-to-login:hover i {
      transform: translateX(-3px);
    }

    /* Mensagens de Feedback */
    .message {
      padding: 15px;
      border-radius: 8px;
      margin-bottom: 20px;
      display: none;
      align-items: center;
      gap: 12px;
      animation: slideInDown 0.4s ease;
    }

    @keyframes slideInDown {
      from {
        opacity: 0;
        transform: translateY(-20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .message.success {
      background: rgba(204, 213, 174, 0.2);
      color: var(--text-color);
      border: 1px solid var(--dark-accent);
      border-left: 3px solid var(--dark-accent);
      display: flex;
    }

    .message.error {
      background: rgba(212, 163, 115, 0.1);
      color: var(--text-color);
      border: 1px solid var(--accent-color);
      border-left: 3px solid var(--accent-color);
      display: flex;
    }

    .message i {
      font-size: 1.2rem;
      flex-shrink: 0;
    }

    .message.success i {
      color: var(--dark-accent);
    }

    .message.error i {
      color: var(--accent-color);
    }

    /* Código de Verificação */
    .verification-code {
      display: none;
      text-align: center;
      padding: 25px;
    }

    .verification-code h2 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 1.8rem;
      margin-bottom: 10px;
    }

    .verification-code p {
      color: var(--warm-brown);
      margin-bottom: 25px;
      font-size: 0.95rem;
    }

    .code-inputs {
      display: flex;
      justify-content: center;
      gap: 10px;
      margin: 30px 0;
    }

    .code-input {
      width: 50px;
      height: 60px;
      text-align: center;
      font-size: 1.5rem;
      font-weight: 700;
      border: 2px solid var(--medium-gray);
      border-radius: 10px;
      transition: all 0.3s ease;
      background: white;
      color: var(--text-color);
    }

    .code-input:focus {
      outline: none;
      border-color: var(--accent-color);
      box-shadow: 0 0 0 3px rgba(212, 163, 115, 0.1);
      transform: scale(1.05);
    }

    .resend-code {
      color: var(--accent-color);
      text-decoration: none;
      font-size: 0.9rem;
      font-weight: 600;
      margin-top: 15px;
      display: inline-block;
      transition: all 0.3s ease;
      padding: 8px 16px;
      border-radius: 6px;
    }

    .resend-code:hover {
      background: rgba(212, 163, 115, 0.1);
      transform: translateY(-1px);
    }

    .resend-code.disabled {
      color: var(--medium-gray);
      pointer-events: none;
    }

    .timer {
      color: var(--warm-brown);
      font-size: 0.9rem;
      margin-top: 12px;
      font-weight: 500;
    }

    /* Nova Senha Form */
    .new-password-form {
      display: none;
      padding: 25px;
    }

    .new-password-form h2 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 1.8rem;
      margin-bottom: 10px;
      text-align: center;
    }

    .new-password-form p {
      color: var(--warm-brown);
      text-align: center;
      margin-bottom: 25px;
      font-size: 0.95rem;
    }

    .password-strength {
      margin-top: 10px;
      height: 5px;
      background: var(--light-gray);
      border-radius: 3px;
      overflow: hidden;
    }

    .password-strength-bar {
      height: 100%;
      transition: all 0.3s ease;
      border-radius: 3px;
    }

    .password-strength-bar.weak {
      width: 33%;
      background: var(--accent-color);
    }

    .password-strength-bar.medium {
      width: 66%;
      background: var(--warm-beige);
    }

    .password-strength-bar.strong {
      width: 100%;
      background: var(--dark-accent);
    }

    .password-requirements {
      margin-top: 18px;
      padding: 15px;
      background: var(--light-gray);
      border-radius: 8px;
      border: 1px solid var(--medium-gray);
    }

    .requirement {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.85rem;
      color: var(--text-color);
      margin-bottom: 6px;
      transition: all 0.3s ease;
    }

    .requirement i {
      color: var(--medium-gray);
      transition: all 0.3s ease;
      font-size: 0.85rem;
    }

    .requirement.met {
      color: var(--dark-accent);
    }

    .requirement.met i {
      color: var(--dark-accent);
    }

    /* Animação de Sucesso */
    .success-animation {
      display: none;
      text-align: center;
      padding: 40px;
    }

    .success-icon {
      width: 100px;
      height: 100px;
      margin: 0 auto 20px;
      position: relative;
    }

    .success-circle {
      stroke-dasharray: 300;
      stroke-dashoffset: 300;
      stroke-width: 3;
      stroke: var(--dark-accent);
      fill: none;
      animation: drawCircle 0.8s ease forwards;
    }

    @keyframes drawCircle {
      to {
        stroke-dashoffset: 0;
      }
    }

    .success-check {
      stroke-dasharray: 60;
      stroke-dashoffset: 60;
      stroke-width: 3;
      stroke: var(--dark-accent);
      fill: none;
      animation: drawCheck 0.4s ease forwards 0.8s;
    }

    @keyframes drawCheck {
      to {
        stroke-dashoffset: 0;
      }
    }

    .success-animation h2 {
      font-family: 'Playfair Display', serif;
      color: var(--text-color);
      font-size: 2rem;
      margin-bottom: 12px;
    }

    .success-animation p {
      color: var(--warm-brown);
      font-size: 1rem;
    }

    /* Responsividade */
    @media (max-width: 768px) {
      .nav, .actions {
        display: none;
      }

      .hamburger {
        display: flex;
      }

      .password-recovery-container {
        margin: 30px auto;
        padding: 15px;
      }

      .recovery-header {
        padding: 30px 20px;
      }

      .recovery-header h1 {
        font-size: 1.8rem;
      }

      .logo-container {
        width: 80px;
        height: 80px;
      }

      .recovery-body {
        padding: 25px 20px;
      }

      .method-tab {
        font-size: 0.85rem;
        padding: 10px 6px;
      }

      .method-tab span {
        display: none;
      }

      .method-tab i {
        font-size: 1.2rem;
      }

      .code-input {
        width: 45px;
        height: 55px;
        font-size: 1.3rem;
      }
    }

    @media (max-width: 480px) {
      .recovery-card {
        border-radius: 15px;
      }

      .logo-container {
        width: 70px;
        height: 70px;
      }

      .recovery-header h1 {
        font-size: 1.5rem;
      }

      .recovery-header p {
        font-size: 0.85rem;
      }

      .code-input {
        width: 40px;
        height: 50px;
        font-size: 1.2rem;
      }

      .submit-btn {
        padding: 12px;
        font-size: 0.9rem;
      }
    }

    /* Hamburger menu animation */
    .hamburger.active span:nth-child(1) {
      transform: translateY(11px) rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      transform: translateY(-11px) rotate(-45deg);
    }

    /*estilização do banco de dados*/

    .perfil-titulo {
      margin: 5px;
      font-size: 33px;
      text-align: center;
    }

    /* Container geral */
.perfil-container {
  max-width: 600px;
  margin: 40px auto;
  padding: 20px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* Títulos */
.perfil-titulo {
  text-align: center;
  margin-bottom: 10px;
  font-size: 28px;
  font-weight: bold;
}

.perfil-sair {
  text-align: center;
  margin-bottom: 20px;
}

.perfil-sair a {
  color: #d9534f;
  text-decoration: none;
  font-weight: bold;
}

.perfil-sair a:hover {
  text-decoration: underline;
}

.perfil-subtitulo,
.perfil-form-titulo {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}

/* Caixa */
.perfil-box {
  padding: 20px;
  border: 1px solid #ececec;
  border-radius: 10px;
  background: #ffffff;
}

/* Foto */
.perfil-foto-wrapper {
  text-align: center;
  margin-bottom: 20px;
}

.perfil-foto {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #ddd;
}

/* Formulário */
.perfil-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.perfil-campo {
  display: flex;
  flex-direction: column;
}

.perfil-campo label {
  font-weight: 600;
  margin-bottom: 5px;
}

.perfil-campo input,
.perfil-campo select {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #ccc;
  transition: 0.2s;
  font-size: 15px;
}

.perfil-campo input:focus,
.perfil-campo select:focus {
  border-color: #007bff;
  box-shadow: 0 0 4px rgba(0,123,255,0.4);
  outline: none;
}

/* Botão */
.perfil-botao {
  padding: 12px;
  font-size: 16px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
  font-weight: bold;
}

.perfil-botao:hover {
  background: #0056b3;
}

/* Mensagem */
.perfil-alerta {
  background: #dff0d8;
  color: #3c763d;
  padding: 10px;
  border-radius: 6px;
  margin-bottom: 20px;
  text-align: center;
  border: 1px solid #c8e5bc;
}

/*área administrativa*/
.corpo { 
  font-family: 'Apple Garamond';
}

.titulo-admin {
  font-size: 40px;
  text-align: center;
}

.subtitulo-admin {
  margin: 5px;
}

.mensagem-boasvindas {
  font-size: 25px;
  text-align: center;
}

.tabela-admin { 
  width: 100%; 
  border-collapse: collapse; 
  margin-top: 10px; 
  font-size: 20px;
}

.sair {
  font-size: 25px;
  color: black;
  text-align: center;
}

.cabecalho-tabela { 
  border: 1px solid #ddd; 
  padding: 8px; 
  text-align: left; 
  background-color: #ffffff; 
}

.coluna-tabela { 
  border: 1px solid #ddd; 
  padding: 8px; 
  text-align: left; 
}

.acoes-usuario a { 
  margin-right: 10px; 
  text-decoration: none; 
}
