  :root {
    --door-dark: #120e0a;
    --door-mid: #251e16;
    
    /* Warm Vibrant Sunset Gold & Orange Palette */
    --gold-light: #fbeed0;       
    --gold: #f3c16f;             
    --gold-medium: #e59f38;      
    --gold-orange: #d67a1a;      
    --gold-resting-bg: #221a10;  
    
    --page-color: #f6efdf;
    --border-thickness: 3px;
    --radius: 3px;
  }
  
  
  /* Outlined Luxury Button with Dynamic Border Integration */
  .knock-btn {
    background: transparent;
    border: none; 
    color: var(--gold);
    padding: 8px 18px;
    font-size: 12px;
    font-weight: 400; 
    letter-spacing: 2px;
    text-transform: capitalize;
    cursor: pointer;
    font-family: 'Playfair Display', 'Georgia', serif; 
    border-radius: var(--radius);
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 15px rgba(243, 193, 111, 0.2);
  }

  /* Text Wrapper */
  .knock-btn span {
    display: block;
    position: relative;
    z-index: 2;
    text-wrap: nowrap;
  }
  
  .knock-btn strong {
    font-weight: 800;
  }

  /* The Spinning Conic Gradient Border Layer */
  .knock-btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    aspect-ratio: 1/1;
    width: 300%; 
    height: auto;
    border-radius: 50%;
    background: conic-gradient(
      var(--gold-medium) 0%, 
      var(--gold) 25%, 
      var(--gold-light) 45%, 
      var(--gold-orange) 65%, 
      var(--gold-medium) 85%,
      var(--gold-medium) 100%
    );
    /* Speed increased from 4s to 1.5s for a faster, more energetic movement */
    animation: spin linear 1.5s infinite;
    transform: translate(-50%, -50%);
    z-index: 0;
    opacity: 0.8;
    transition: opacity 0.6s ease;
  }

  /* Inner Card Mask */
  .knock-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% - (var(--border-thickness) * 2));
    height: calc(100% - (var(--border-thickness) * 2));
    background: var(--gold-resting-bg);
    transform: translate(-50%, -50%);
    border-radius: calc(var(--radius) - 1px);
    z-index: 1;
    transition: background-color 0.6s ease;
  }
  
  @media (min-width: 768px) {
    .knock-btn {
      padding: 10px 28px;
      font-size: 13px;
      letter-spacing: 2.5px;
    }
  }

 /*  Hover Glow & Color Inversion Styles */
  .knock-btn:hover {
    color:#221a10; 
    transform: translateY(-3px);
    /*box-shadow: 0 0 35px rgba(243, 193, 111, 0.7), */
    /*            0 0 70px rgba(214, 122, 26, 0.5);*/
  }

  /* Smooth transition of background mask to solid gold on hover */
  .knock-btn:hover::after {
    background: var(--gold);
  }

  .knock-btn:hover::before {
    opacity: 1;
  }

  .knock-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 0 20px rgba(243, 193, 111, 0.5);
  }

  /* Spin animation */
  @keyframes spin {
    0% {
      transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
      transform: translate(-50%, -50%) rotate(360deg);
    }
  }