/*
Theme: Nico Digital
File: global.css
Description: Global design system, layout styles, gradients, typography, and reusable components.
Author: Prabhakar Kumar Singh
Version: 1.0
*/

.hero-gradient {
    background:
        /* Bottom-right glow (placed FIRST so it stays visible) */
        radial-gradient(circle at 100% 100%, 
            rgba(121,22,22,0.95) 0%, 
            rgba(40,0,0,0.7) 30%, 
            rgba(0,0,0,0) 65%
        ),

        /* Top-left glow */
        radial-gradient(circle at 0% 0%, 
            rgba(121,22,22,0.85) 0%, 
            rgba(40,0,0,0.6) 25%, 
            rgba(0,0,0,0) 55%
        ),

        #000000;
}

.card-bullets ul {
    padding-left: 18px;
    margin-left: 0;
}

.card-bullets li {
    margin-bottom: 6px;
}

/* Hide carousel arrows on desktop */
@media (min-width: 1025px) {
    .mobile-arrows .elementor-swiper-button {
        display: none !important;
    }
    .mobile-arrows .swiper-pagination{
        display:none !important;
    }
	.mobile-arrows .swiper-wrapper{
      transform: translate3d(0,0,0) !important;
    }
    .mobile-arrows .swiper{
      touch-action: pan-y;
    }
}

.red-underline{
    position: relative;
    display: inline-block;
    z-index: 1;
}

.red-underline::after{
    content: "";
    position: absolute;    
    left: 0px;         
    bottom: -1px;            
    width: 100%;     
    height: 6px;         
    background: var(--e-global-color-primary);
    border-radius: 0px;    
    z-index: -1; 
	transform: rotate(359deg);
    transform-origin: left center;
}

.red-underline--low::after{
    bottom: -14px;              
}
.red-underline--mid::after{
    bottom: -4px;   
	transform: rotate(0deg);
}
/* Center submit button */
.newsletter-form .elementor-form-fields-wrapper{
    justify-content:center;
}
.newsletter-form .elementor-field-type-submit{
    width:100%;
    display:flex;
    justify-content:center;
}
.newsletter-form .elementor-field-type-submit{
    margin-bottom:-20px;
    transform: translateY(20px);
}
.newsletter-form .elementor-button{
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.elementor-widget-table-of-contents .elementor-toc__header,
.elementor-widget-table-of-contents .elementor-toc__body {
    padding: 20px 20px 20px 0px;
}
.elementor-toc__list-item {
    margin-bottom: 1em!important;
}
/* Replace default underline inside blog content */
.single-post .elementor-widget-theme-post-content span[style*="underline"] {
    text-decoration: none !important;
    position: relative;
    display: inline-block;
    z-index: 1;
}

.single-post .elementor-widget-theme-post-content span[style*="underline"]::after {
    content: "";
    position: absolute;    
    left: 0px;         
    bottom: -1px;            
    width: 100%;     
    height: 6px;         
    background: var(--e-global-color-primary);
    border-radius: 0px;    
    z-index: -1; 
	transform: rotate(359deg);
    transform-origin: left center;
}

/* Blog highlight block */
.single-post mark,
.single-post .custom-highlight {
    display: block; 
	width: 100%;
    padding: 18px 24px;
    border-radius: 16px;
	margin: 24px 0;
    line-height: 1.2;
    position: relative;
	border: 1px solid #eaeaea;
}

.single-post .elementor-widget-theme-post-content ul,
.single-post .elementor-widget-theme-post-content ol {
    margin-bottom: 1.2em;
}
.single-post .elementor-widget-theme-post-content li {
    margin-bottom: 0.3em;
}
.brand-link {
    color: var(--e-global-color-primary);
}
/* RADIO ROW LAYOUT */
.d2c-form .elementor-field-type-radio .elementor-field-subgroup {
    display: flex;
    gap: 12px;
    width: 100%;
}

/* Equal width radio cards */
.d2c-form .elementor-field-type-radio .elementor-field-option {
    flex: 1;
    margin: 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #ffffff;
    padding: 10px 14px;
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
	margin-bottom:10px;
}

/* Radio circle */
.d2c-form .elementor-field-type-radio input[type="radio"] {
    width: 14px;
    height: 14px;
    accent-color: #111111;
    margin: 0;
    cursor: pointer;
}

/* Remove label spacing */
.d2c-form .elementor-field-type-radio label {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #333333;
}

/* ===== ISSUE GRID FIX ===== */

.d2c-form .form-issue-grid {
    display: flex;
    gap: 15px;
    margin-top: 0px;
    margin-bottom: 10px;
    padding: 10px 15px 10px 15px;
}

.d2c-form .form-issue-grid .issue-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.d2c-form .form-issue-grid .issue-col div {
    font-size: 14px;
    color: #333333;
    line-height: 1.5;
}

.map-switcher{
position:relative;
}

.map-switcher .e-n-tabs-heading{
position:absolute;
bottom:20px;
left:20px;
z-index:10;
display:flex!important;
gap:6px;
}

.map-switcher .e-n-tab-title[aria-selected="true"]{
background:#ff3b30;
color:#fff;
}

.map-switcher{
position:relative;
overflow:hidden;
}

.map-switcher::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:250px;
pointer-events:none;
z-index:5;
background:linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));
}

@media (max-width:767px){

.map-switcher .e-n-tab-title{
position:relative !important;
top:0 !important;
margin-top:0 !important;
transform:none !important;
height: 35px !important;
}

}

.elementor-icon-list--layout-traditional .elementor-icon-list-icon{
align-self:flex-start;
margin-top:6px;
}

/*Popup button close button styles*/
.elementor-popup-modal .dialog-close-button{
background-color:#fff;
border:1px solid #fff;
box-shadow:0px 6px 18px -6px rgba(0,0,0,0.61);
border-radius:50%;
padding:8px;
display:flex;
align-items:center;
justify-content:center;
transition:all .25s ease;
}

.elementor-popup-modal .dialog-close-button:hover{
background:#ED2026;
color:#fff;
transform:rotate(90deg);
}

.elementor-popup-modal .dialog-close-button:active{
transform:scale(.85);
}

.elementor-popup-modal .dialog-close-button:focus{
outline:none !important;
}

/* =========================================
   Transparent Header ONLY when hero has class
========================================= */

body:has(.transparent-header) .elementor-element.elementor-element-59326d4{
background: transparent !important;
border-bottom: none !important;
position:absolute;
top:0;
left:0;
width:100%;
z-index:1000;
}

/* motion effects container fix */

body:has(.transparent-header) 
.elementor-element.elementor-element-59326d4 
> .elementor-motion-effects-container 
> .elementor-motion-effects-layer{
background: transparent !important;
}

/* =========================================
   White Menu Text
========================================= */

body:has(.transparent-header) 
.elementor-element.elementor-element-3c62a77 .elementor-item{
color:#ffffff !important;
}

/* submenu arrow */

body:has(.transparent-header) 
.elementor-element.elementor-element-3c62a77 svg{
fill:#ffffff !important;
}

/* =========================================
   White Logo
========================================= */

body:has(.transparent-header) 
.elementor-element.elementor-element-10ebb0c img{
filter: brightness(0) invert(1);
}

/* =========================================
   Hover
========================================= */

body:has(.transparent-header) 
.elementor-element.elementor-element-3c62a77 .elementor-item:hover{
opacity:0.8;
}

/* =========================================
   MOBILE TRANSPARENT HEADER (hero trigger)
========================================= */

body:has(.transparent-header) .elementor-element-b0aaba7{
background: transparent !important;
border-bottom: none !important;
position:absolute;
top:0;
left:0;
width:100%;
z-index:1000;
}

/* white mobile logo */

body:has(.transparent-header) .elementor-element-2b8cee2 img{
filter: brightness(0) invert(1);
}

/* mobile hamburger icon */

body:has(.transparent-header) .elementor-element-372a5ee svg{
fill:#ffffff !important;
}

.price-highlight span{
display:inline-block;
font-weight:700;
animation: priceWave 2.4s ease-in-out infinite;
will-change: transform, color;
}

.price-highlight span:nth-child(1){animation-delay:0s;}
.price-highlight span:nth-child(2){animation-delay:0.25s;}
.price-highlight span:nth-child(3){animation-delay:0.5s;}
.price-highlight span:nth-child(4){animation-delay:0.75s;}

@keyframes priceWave{

0%{
color:#ED2026;
transform:translateY(0);
text-shadow:0 0 4px rgba(237,32,38,0.3);
}

40%{
color:#ff4d4d;
transform:translateY(-4px);
text-shadow:0 0 10px rgba(255,77,77,0.6);
}

60%{
color:#ff7a18;
transform:translateY(0);
text-shadow:0 0 6px rgba(255,122,24,0.5);
}

100%{
color:#ED2026;
transform:translateY(0);
text-shadow:0 0 4px rgba(237,32,38,0.3);
}

}

.list-red-cross svg.e-fas-times-circle{
    fill: #ed2026 !important;
}
/*
.nico-scroll-image img{
transition: transform 0.3s ease-out;
transform: scale(0.7);
}
*/

.nico-scroll-image img{
transform: scale(0.85);
will-change: transform;
transform-origin:center center;
}

.nico-cat-list{
list-style:none;
padding:0;
}

.nico-cat-list li{
margin-bottom:10px;
}

.nico-cat-list a{
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
font-size:14px;
font-weight:400;
line-height:1.2;
color:#000;
}
.nico-cat-list a:hover{
color:var(--e-global-color-primary);   /* your primary red */
}

.newsletter-form-side .elementor-message-success{
margin-top:18px;
}
.newsletter-form-side button:active{
transform:scale(.96);
}
