/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      3.6.0
*/

/* ------------------------------------------
PRIMARY MENU CENTER
------------------------------------------ */
.nav-float-right #site-navigation{
    margin-left: auto;
    margin-right: auto;
}

/* ------------------------------------------
TOP HEADER STYLE
------------------------------------------ */
.top-header-wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
}

.top-header-wrap .top-header-logo{
    width: auto; /* Let it take only needed space */
}

.top-header-wrap .top-header-info{
    width: auto; /* Let it take only needed space */
    display: flex;
    align-items: center;
    gap: 15px; /* Add spacing between items */
    margin-left: auto; /* This pushes everything to the right */
}

/* ------------------------------------------
Language dropdown - keep it on the left 
------------------------------------------ */
.top-header-info-language {
    margin-right: auto; /* This keeps language on the left */
}

/* ------------------------------------------
The three items on the right 
------------------------------------------ */
.top-header-info-cart,
.top-header-info-login,
.top-header-info-shop {
    display: flex;
    align-items: center;
}

.top-header-info-cart{
    border: solid 1px #D8D8D8;
    padding: 6px;
    border-radius: 5px;
}

.custom-language-dropdown {
    position: relative;
    display: inline-block;
}

.dropbtn {
    background: transparent !important;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    color: #000 !important;
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 140px;
    justify-content: space-between;
    transition: none;
}

.dropbtn:hover {
    background: transparent;
    border: none;

}

.language-flag {
    font-size: 16px;
}

.language-text {
    flex-grow: 1;
    text-align: left;
}

.dropdown-arrow {
    font-size: 10px;
    transition: transform 0.3s ease;
    margin-left: 4px;
}

.custom-language-dropdown.active .dropdown-arrow {
    transform: rotate(180deg);
}

.dropdown-content {
    display: none;
    position: absolute;
    background: white;
    min-width: 160px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.1);
    z-index: 1000;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 10px;
    padding: 10px 0;
    margin-top: 5px;
}

.custom-language-dropdown.active .dropdown-content {
    display: block;
}

.dropdown-content a {
    display: block;
    padding: 8px 15px;
    margin-left: 10px;
    margin-right: 10px;
    text-decoration: none;
    color: #000;
    border-bottom: 1px solid #f0f0f0;
    transition: none;
    text-align: center;
}

.dropdown-content a:hover {
    background-color: transparent;
}

.dropdown-content a:last-child {
    /*border-bottom: none;*/
}


/* ------------------------------------------
Style for the language links 
------------------------------------------ */

.dropdown-content .gt-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
}

.language-option {
    display: block;
    text-align: center;
}

.language-option a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    padding: 8px 15px;
    border-bottom: 1px solid #f0f0f0;
}

.language-option:last-child a {
    border-bottom: none;
}

/* ------------------------------------------
Top header cart
------------------------------------------ */
.cart-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    color: #8C8C8C;
}

.cart-count-bubble {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #ff4444;
    color: white;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}


/* ------------------------------------------
Login Dropdown Styles 
------------------------------------------ */
.login-dropdown {
    position: relative;
    display: inline-block;
}

.login-btn {
    background: #E54400 !important;
    color: white;
    border: none;
    padding: 10px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.2s ease;
}

.login-btn:hover {
    background: #cc3c00;
}

.login-icon, .login-arrow {
    display: flex;
    align-items: center;
}

.login-arrow {
    transition: transform 0.3s ease;
}

.login-dropdown.active .login-arrow {
    transform: rotate(180deg);
}

.login-dropdown-content {
    display: none;
    position: absolute;
    background: white;
    min-width: 160px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.1);
    z-index: 1000;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 10px;
    padding: 10px 0;
    margin-top: 5px;
}

.login-dropdown.active .login-dropdown-content {
    display: block;
}

.login-option {
    display: block;
    padding: 10px 20px;
    text-decoration: none;
    color: #000;
    border-bottom: 1px solid #f0f0f0;
    /*text-align: center;*/
    transition: background-color 0.2s ease;
}

.login-option:hover {
    background-color: #f8f8f8;
}

.login-option:last-child {
    border-bottom: none;
}

/* Login Modal Styles */
.login-modal {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: none; /* Hidden by default */
}

.login-modal-content {
    background-color: #fff;
    margin: 5% auto;
    padding: 40px;
    border-radius: 15px;
    width: 90%;
    max-width: 450px;
    position: relative;
    font-family: 'Neue Montreal', sans-serif;
    animation: modalFadeIn 0.3s;
}

@keyframes modalFadeIn {
    from {opacity: 0; transform: translateY(-50px);}
    to {opacity: 1; transform: translateY(0);}
}

.close-modal {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    color: #aaa;
    z-index: 10001;
}

.close-modal:hover {
    color: #000;
}

/* Rest of your modal CSS remains the same */
.login-header h2, .login-header p {
    font-family: 'Neue Montreal';
    font-style: normal;
    font-weight: 700;
    font-size: 30px;
    line-height: 119%;
    letter-spacing: -0.01em;
    color: #1E232C;
    margin: 0 0 8px 0;
}

.login-form{
    margin-top: 2rem;
}

.form-group {
    margin-bottom: 20px;
}

.form-group input {
    width: 100%;
    padding: 15px;
    background: #F7F8F9;
    border: 1px solid #E8ECF4;
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
}

.form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    font-family: 'Montserrat', sans-serif;
}

a.register-link, a.forgot-link {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 16px;
    color: #9C26FF;
    text-decoration: none;
}

.login-submit-btn {
    width: 100%;
    padding: 15px;
    background: #E54400;
    border: none;
    border-radius: 5px;
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 25px;
}

.social-login-section .divider{
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 1.5rem;
    padding-top: 1rem;
}

.divider span{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    color: #6A707C; 
    margin: auto;
}

.divider span.divider-1, .divider span.divider-2{
    border: 1px solid #E8ECF4;
    width: 30%;
    height: 0px;
}

.social-login-section .social-buttons{
    display: flex;
    text-align: center;
    row-gap: 1rem;
    column-gap: 2rem;
    justify-content: center;
}

.social-buttons button.facebook-btn,
.social-buttons button.google-btn,
.social-buttons button.apple-btn{
    background: #FFFFFF;
    border: 1px solid #E8ECF4;
    border-radius: 8px;
}


/* Shop Now Button Styles */
.shop-now-btn {
    background: white;
    color: #E54400;
    border: 2px solid #E54400;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
    transition: all 0.2s ease;
}

.shop-now-btn:hover {
    background: #E54400;
    color: white;
}


/*
HOME PAGE BANNER STYLE
*/

.rainbow-esim-head{
    text-shadow: 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55), 0px 0px 8.5px rgba(254, 187, 47, 0.55);
}


/* ------------------------------------------
   FOOTER LOGO STYLE
------------------------------------------- */

.foot-logo {
    mix-blend-mode: multiply;
}


/* ------------------------------------------
   PRODUCT TITLE
------------------------------------------- */
.single-product .product-right .product_title {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 26px;
    line-height: 38px;
    color: #252525;
    margin-bottom: 10px;
}

/* ------------------------------------------
   PRICE
------------------------------------------- */
.single-product .product-right .summary .price,
.single-product .product-right p.price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700 !important;
    font-size: 36.2427px;
    line-height: 54px;
    color: #D9006D !important;
    margin: 10px 0 20px 0;
}

/* ----------------------------------
   QUANTITY BLOCK
----------------------------------- */

.quantity-block {
    margin: 15px 0 20px 0;
}

.qty-label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 26px;
    color: #252525;
    margin-bottom: 6px;
    display: block;
}

.qty-wrapper {
    display: inline-block;
}

/* WooCommerce + / - alignment */
.qty-wrapper .quantity {
    display: flex !important;
    align-items: center;
    gap: 0;
}

.qty-wrapper .quantity .qty {
    text-align: center;
}

/* ----------------------------------
   BUTTONS — SIDE BY SIDE (UPDATED)
----------------------------------- */

.custom-buttons-row {
    display: flex;
    gap: 15px;
    margin: 20px 0 30px 0;
}

.buy-now-button,
.custom-add-to-cart-button {
    width: 165px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    color: #FFFFFF;
    padding: 10px 30px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
}

/* Blue Buy Now */
.buy-now-button {
    background: #2853FF;
}

/* Orange Add to Cart */
.custom-add-to-cart-button {
    background: #E54400;
}

/* Hover effects */
.buy-now-button:hover,
.custom-add-to-cart-button:hover {
    opacity: .9;
}

/* ------------------------------------------
   SHORT DESCRIPTION
------------------------------------------- */
.single-product .product-right .woocommerce-product-details__short-description {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 26px;
    color: #323232;
    margin-top: 20px;
}


/* ------------------------------------------
   SINGLE PRODUCTS IMAGE LEFT WIDTH
------------------------------------------- */
.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
    width: 40% !important;
}


/* ------------------------------------------
   CUSTOM BREADCRUMB 
------------------------------------------*/
/* Shop link */
.custom-breadcrumb a:first-of-type {
    color: #2B2B2B !important;
    text-decoration: none;
}

/* Separator always black */
.custom-breadcrumb .crumb-separator {
    color: #2b2b2bc2 !important;
    margin: 0 3px;
}

/* Category text (last item, not a link) */
.custom-breadcrumb {
    font-family: 'Neue Montreal', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    color: #D9006D !important; 
}


/* ------------------------------------------
 HOME SEARCH STYLE
------------------------------------------ */
.aws-container .aws-search-form{
	border: 1.35514px solid #E54400;
  background: #FDFBEA !important;
  border-radius: 7px;
	height: 54px;
}

.aws-container .aws-search-field, .aws-container .aws-search-field:focus{
	color: #4D4D4D;
  background: #FDFBEA !important;
  font-family: 'Neue Montreal' !important;
  padding: 1rem;
  border-top-left-radius: 7px !important;
	border-bottom-left-radius: 7px !important;
	font-size: 21px !important;
	border: unset !important;
}

/* ------------------------------------------
 HOME SEARCH ICON STYLE
------------------------------------------ */
.aws-container .aws-search-form .aws-form-btn{
	background: #E54400 !important;
  width: 54px;
	border-top-right-radius: 7px !important;
  border-bottom-right-radius: 7px !important;
}

.aws-container .aws-search-form .aws-search-btn_icon{
	fill: rgb(255 255 255) !important;
 width: 54px !important;
 color: #ffffff !important;
}


/* ------------------------------------------
 HOW IT WORKS DOT LINE STYLE 
------------------------------------------ */

.main-step-line::before {
    content: "";
    position: absolute;
    top: 30%;                 /* center vertically */
    left: 14.5%;
    right: 0;
    border-top: 3px dotted #D9006D;
    transform: translateY(-50%);
    z-index: 1;
	  width: 70%
}

/* Keep icons ABOVE the dotted line */
.step1-line,
.step2-line,
.step3-line {
	z-index: 2;
}


/* ------------------------------------------
 ACTIVATE NOW STYLE 
------------------------------------------ */

.everest-forms{
	
}

.class_manual_activation{
    display: flex;
    justify-content: center;
}

.class_manual_activation #evf-form-365{
    text-align: center;
    width: 50%;
}

button.class_submit {
    font-family: Montserrat !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #1F1F1F !important;
    border-radius: 5px !important;
    background-color: #F8D301 !important;
    border: unset !important;
    padding: 9px 40px !important;
}

button.class_submit:hover {
    background-color: #f8d301b3 !important;
}

.class_agent input[type=text],
.class_email input[type=email],
.class_sim_no input[type=number],
.class_start_date input[type=text],
.class_end_date input[type=text],
.class_phone_option input[type=number]{
    font-size: 16px !important;
    font-weight: 500 !important;
    font-family: Montserrat !important;
    color: #1F1F1F !important;
    border: 1px solid #F3F3F3 !important;
    background-color: #F3F3F3 !important;
    border-radius: 5px !important;
    padding: 9px 12px !important;
}

.class_agent input::placeholder,
.class_email input::placeholder,
.class_sim_no input::placeholder,
.class_start_date input::placeholder,
.class_end_date input::placeholder,
.class_phone_option input::placeholder {
    color: #1F1F1F !important;
}
















/* Responsive Design */
@media (max-width: 768px) {
    .action-buttons {
        flex-direction: column;
    }
    
    .buy-now-button,
    .add-to-cart-button {
        flex: none;
        width: 100%;
    }
    
    .product-price-wrapper .price {
        font-size: 20px;
    }
}

/* Variation Products Support */
.variations_form .action-buttons {
    margin-top: 20px;
}

/* Out of Stock Style */
.out-of-stock .action-buttons {
    opacity: 0.6;
    pointer-events: none;
}





/* Optional: Add some responsive spacing */
@media (max-width: 1024px) {
    .top-header-wrap .top-header-info {
        gap: 10px;
    }
}

@media (max-width: 768px) {
    .top-header-wrap {
        flex-wrap: wrap;
        padding: 10px;
    }
    
    .top-header-wrap .top-header-info {
        gap: 8px;
    }
    
    .login-text, .shop-now-btn span {
        display: none; /* Hide text on mobile, show only icons */
    }
    
    .login-btn, .shop-now-btn {
        padding: 8px 12px;
    }
}