/* =========================================
   CandyCloud — Global Footer (DARK ONLY)
   File: assets/css/footer.css
   ========================================= */

   .cc-footer { margin-top: 44px; }

   /* shared container */
   .cc-footer__wrap{
     width: min(1200px, calc(100% - 40px));
     margin: 0 auto;
   }
   
   /* =========================
      Newsletter strip (top)
      ========================= */
   .cc-footer__newsletter{
     background: linear-gradient(180deg, #12121A 0%, #0B0B10 100%);
     color: #F2F4FF;                            /* Ghost White */
     padding: 36px 0;
     border-top: 1px solid rgba(255, 47, 146, 0.15);
     position: relative;
   }
   
   .cc-footer__newsletter::before{
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 2px;
     background: linear-gradient(90deg, transparent 0%, #FF2F92 50%, transparent 100%);
     opacity: 0.5;
   }
   
   .cc-footer__newsletterGrid{
     display: grid;
     grid-template-columns: 1.2fr 0.8fr;
     gap: 24px;
     align-items: center;
   }
   
   .cc-footer__newsletterText h3{
     margin: 0 0 10px;
     font-size: 40px;
     line-height: 1;
     letter-spacing: 0.6px;
     text-transform: uppercase;
     background: linear-gradient(135deg, #FF2F92 0%, #C77DFF 50%, #8F5BFF 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
   }
   
   .cc-footer__newsletterText p{
     margin: 0;
     color: #C6C9E3;                            /* Soft Cloud */
     text-transform: uppercase;
     font-size: 13px;
     letter-spacing: 0.6px;
   }
   
   /* Newsletter form styling (works with most shortcode forms) */
   .cc-footer__newsletterForm form{
     display: grid;
     grid-template-columns: 1fr;
     gap: 12px;
     align-items: stretch;
   }

   /* WP/plugin wrappers often cause width mismatches; normalize */
   .cc-footer__newsletterForm form > *{
     width: 100%;
   }

   .cc-footer__newsletterForm form p{
     margin: 0;
     width: 100%;
   }

   .cc-footer__newsletterForm form p > *{
     width: 100%;
   }

   /* Mobile-specific: force equal widths even if theme/plugin overrides with inline/flex */
   .cc-footer__newsletterForm,
   .cc-footer__newsletterForm *{
     box-sizing: border-box;
   }

   .cc-footer__newsletterForm input[type="email"],
   .cc-footer__newsletterForm input[type="text"],
   .cc-footer__newsletterForm button,
   .cc-footer__newsletterForm input[type="submit"]{
     width: 100% !important;
     max-width: 100% !important;
     display: block;
   }
   
   .cc-footer__newsletterForm input[type="email"],
   .cc-footer__newsletterForm input[type="text"]{
     width: 100%;
     height: 46px;
     border-radius: 12px;
     border: 1px solid rgba(242, 244, 255, 0.15);
     background: #191A23;                       /* Deep Ink */
     color: #F2F4FF;                            /* Ghost White */
     padding: 0 14px;
     outline: none;
   }
   
   .cc-footer__newsletterForm input[type="email"]::placeholder,
   .cc-footer__newsletterForm input[type="text"]::placeholder{
     color: #8B90B6;                            /* Muted Plasma */
   }
   
   .cc-footer__newsletterForm input[type="email"]:focus,
   .cc-footer__newsletterForm input[type="text"]:focus{
     border-color: #FF2F92;                     /* Hot Magenta */
     box-shadow: 0 0 0 3px rgba(255, 47, 146, 0.25), 0 4px 12px rgba(255, 47, 146, 0.2);
     background: #191A23;
   }
   
   .cc-footer__newsletterForm button,
   .cc-footer__newsletterForm input[type="submit"]{
     width: 100%;
     height: 46px;
     border-radius: 12px;
     border: 0;
     cursor: pointer;
     background: linear-gradient(135deg, #FF2F92 0%, #C77DFF 100%);
     color: #0B0B10;
     font-weight: 900;
     letter-spacing: 0.2px;
     box-shadow: 0 4px 15px rgba(255, 47, 146, 0.4);
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   }
   
   .cc-footer__newsletterForm button:hover,
   .cc-footer__newsletterForm input[type="submit"]:hover{
     transform: translateY(-2px);
     box-shadow: 0 6px 20px rgba(255, 47, 146, 0.6);
     background: linear-gradient(135deg, #C77DFF 0%, #FF2F92 100%);
   }
   
   .cc-footer__newsletterForm button:active,
   .cc-footer__newsletterForm input[type="submit"]:active{
     transform: translateY(1px);
   }
   
   /* =========================
      Main footer (3 columns)
      ========================= */
   .cc-footer__main{
     background: #0B0B10;                       /* Void Black */
     color: #F2F4FF;                            /* Ghost White */
     padding: 52px 0 28px;
     border-top: 1px solid rgba(255, 47, 146, 0.12);
     position: relative;
   }
   
   .cc-footer__main::before{
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent 0%, rgba(255, 47, 146, 0.3) 50%, transparent 100%);
   }
   
   .cc-footer__grid{
     display: grid;
     grid-template-columns: 1.25fr 0.9fr 0.9fr;
     gap: 52px;
     align-items: start;
   }
   
   .cc-footer__col h4{
     margin: 0 0 16px;
     letter-spacing: 0.7px;
     font-size: 13px;
     text-transform: uppercase;
     color: #F2F4FF;                            /* Ghost White */
     position: relative;
     padding-bottom: 12px;
   }
   
   .cc-footer__col h4::after{
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 40px;
     height: 2px;
     background: linear-gradient(90deg, #FF2F92 0%, #C77DFF 100%);
     border-radius: 2px;
   }
   
   /* Logo / brand */
   .cc-footer__logo img{
     max-height: 64px;
     width: auto;
     display: block;
   }
   
   .cc-footer__logoText{
     font-weight: 900;
     letter-spacing: 0.6px;
     font-size: 18px;
     color: #F2F4FF;
   }
   
   .cc-footer__about{
     margin: 18px 0 18px;
     color: #C6C9E3;                            /* Soft Cloud */
     max-width: 440px;
     line-height: 1.6;
   }
   
   /* Contact */
   .cc-footer__contact{
     display: grid;
     gap: 6px;
     margin-bottom: 18px;
     color: #C6C9E3;                            /* Soft Cloud */
   }
   
   .cc-footer__contact strong{
     color: #F2F4FF;                            /* Ghost White */
   }
   
   .cc-footer__contact a{
     color: #2EF2FF;                            /* Liquid Cyan */
     text-decoration: none;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     display: inline-block;
   }
   
   .cc-footer__contact a:hover{
     color: #FF2F92;                            /* Hot Magenta */
     transform: translateX(2px);
     text-shadow: 0 0 8px rgba(255, 47, 146, 0.5);
   }
   
   /* Menus */
   .cc-footer__menu{
     margin: 0;
     padding: 0;
     list-style: none;
     display: grid;
     gap: 10px;
   }
   
   .cc-footer__menu a{
     color: #C6C9E3;                            /* Soft Cloud */
     text-decoration: none;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     display: inline-block;
   }
   
   .cc-footer__menu a:hover{
     color: #FF2F92;                            /* Hot Magenta */
     transform: translateX(4px);
   }
   
   .cc-footer__menu a::before{
     content: '';
     position: absolute;
     left: -12px;
     top: 50%;
     transform: translateY(-50%);
     width: 0;
     height: 2px;
     background: linear-gradient(90deg, #FF2F92 0%, #C77DFF 100%);
     transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     border-radius: 2px;
   }
   
   .cc-footer__menu a:hover::before{
     width: 8px;
   }
   
   .cc-footer__hint{
     margin: 0;
     color: #8B90B6;                            /* Muted Plasma */
     font-size: 13px;
   }
   
   /* =========================
      Social icons (no libraries)
      ========================= */
   .cc-footer__social{
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
   }
   
   .cc-social{
     width: 42px;
     height: 42px;
     border-radius: 999px;
     border: 2px solid #FF2F92;                 /* Hot Magenta */
     background: rgba(255, 255, 255, 0.02);
     display: grid;
     place-items: center;
     text-decoration: none;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     overflow: hidden;
   }
   
   .cc-social::before{
     content: '';
     position: absolute;
     top: 50%;
     left: 50%;
     width: 0;
     height: 0;
     border-radius: 50%;
     background: linear-gradient(135deg, #FF2F92 0%, #C77DFF 100%);
     transform: translate(-50%, -50%);
     transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     z-index: 0;
   }
   
   .cc-social:hover{
     border-color: #C77DFF;                     /* Neon Orchid */
     box-shadow: 0 4px 15px rgba(255, 47, 146, 0.4);
     transform: translateY(-2px);
   }
   
   .cc-social:hover::before{
     width: 100%;
     height: 100%;
   }
   
   .cc-social .cc-ic{
     position: relative;
     z-index: 1;
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   }
   
   .cc-social:hover .cc-ic{
     transform: scale(1.1);
   }
   
   .cc-ic{
     width: 18px;
     height: 18px;
     display: block;
     background-repeat: no-repeat;
     background-position: center;
     background-size: 18px 18px;
     opacity: 0.95;
   }
   
   /* Icons (fill uses Ghost White) */
   .cc-ic-fb{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F2F4FF' d='M13.5 22v-8h2.7l.4-3h-3.1V9.1c0-.9.3-1.5 1.6-1.5H16.7V5c-.3 0-1.4-.1-2.7-.1-2.7 0-4.5 1.6-4.5 4.6V11H7v3h2.5v8h4z'/%3E%3C/svg%3E"); }
   .cc-ic-ig{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F2F4FF' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm10 2H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm-5 4.3A3.7 3.7 0 1 1 8.3 12 3.7 3.7 0 0 1 12 8.3zm0 2A1.7 1.7 0 1 0 13.7 12 1.7 1.7 0 0 0 12 10.3zm6.2-2.5a.9.9 0 1 1-.9-.9.9.9 0 0 1 .9.9z'/%3E%3C/svg%3E"); }
   .cc-ic-wa{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F2F4FF' d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18a8 8 0 0 1-4.1-1.1l-.3-.2-2.9.8.8-2.8-.2-.3A8 8 0 1 1 12 20zm4.6-5.3c-.2-.1-1.3-.6-1.5-.7s-.4-.1-.6.1-.7.7-.8.9-.3.2-.5.1a6.6 6.6 0 0 1-1.9-1.2 7.2 7.2 0 0 1-1.3-1.6c-.1-.2 0-.4.1-.5l.4-.5c.1-.2.1-.3.2-.5s0-.3 0-.4-.6-1.5-.8-2-.4-.4-.6-.4h-.5c-.2 0-.4.1-.6.3-.2.2-.8.8-.8 2s.9 2.3 1 2.5a10.4 10.4 0 0 0 4 3.7c.5.2 1 .4 1.4.5.6.2 1.1.1 1.5.1.5-.1 1.3-.5 1.5-1s.2-1 .1-1.1-.2-.2-.4-.3z'/%3E%3C/svg%3E"); }
   .cc-ic-tt{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F2F4FF' d='M16 2h2a6 6 0 0 0 4 4v2a8 8 0 0 1-4-1.4V15a7 7 0 1 1-7-7h1v2h-1a5 5 0 1 0 5 5V2z'/%3E%3C/svg%3E"); }
   
   /* =========================
      Bottom bar
      ========================= */
   .cc-footer__bottom{
     background: #0B0B10;                       /* Void Black */
     border-top: 1px solid rgba(255, 47, 146, 0.1);
     padding: 14px 0;
     color: #8B90B6;                            /* Muted Plasma */
     font-size: 13px;
     position: relative;
   }
   
   .cc-footer__bottom::before{
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 1px;
     background: linear-gradient(90deg, transparent 0%, rgba(255, 47, 146, 0.2) 50%, transparent 100%);
   }
   
   .cc-footer__bottom a{
     color: #C6C9E3;
     text-decoration: none;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   }
   
   .cc-footer__bottom a:hover{
     color: #FF2F92;
     text-shadow: 0 0 8px rgba(255, 47, 146, 0.5);
   }
   
   /* =========================
      Responsive
      ========================= */
   @media (max-width: 900px){
     .cc-footer__newsletterGrid{
       grid-template-columns: 1fr;
       gap: 16px;
     }
   
     .cc-footer__newsletterText h3{
       font-size: 30px;
     }
   
     .cc-footer__grid{
       grid-template-columns: 1fr;
       gap: 28px;
     }
   }
   
   @media (prefers-reduced-motion: reduce){
     .cc-footer__newsletterForm button:active,
     .cc-footer__newsletterForm input[type="submit"]:active{
       transform: none;
     }
   }
   