/* ===== BACKDROP ===== */

.modal-backdrop.show{
    backdrop-filter: blur(12px);
    background: rgba(15,23,42,.45);
}

/* ===== MODAL CARD ===== */

.auth-modal-center{
    border:none !important;
    border-radius:26px !important;
    background:#ffffff;
    
    box-shadow:
        0 80px 220px rgba(15,23,42,.18),
        0 20px 60px rgba(15,23,42,.08);

    padding:0;
}

/* BODY */

.auth-body{
    padding:48px;
}

/* LOGO */

.auth-logo{
    text-align:center;
    margin-bottom:28px;
}

/* TITLE */

.auth-title{
    font-weight:700;
    color:#0f172a;
}

/* INPUT */

.auth-input{
    height:56px;
    border-radius:14px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    padding-left:16px;
    width:100%;
    margin-bottom:16px;
    transition:.25s;
}

.auth-input:focus{
    border-color:#6366f1;
    background:#fff;
    box-shadow:0 0 0 4px rgba(99,102,241,.15);
    outline:none;
}

/* BUTTON */

.auth-btn{
    height:58px;
    border:none;
    border-radius:16px;
    width:100%;
    font-weight:600;
    background:linear-gradient(135deg,#6366f1,#4f46e5);
    color:#fff;
    transition:.3s;
}

.auth-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 40px rgba(99,102,241,.25);
}

/* GOOGLE */

.google-btn{
    height:54px;
    border-radius:14px;
    border:1px solid #e2e8f0;
    background:#fff;
    font-weight:500;
    transition:.25s;
}

.google-btn:hover{
    background:#f1f5f9;
}

/* DIVIDER */

.auth-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:18px 0;
}

.auth-divider span{
    flex:1;
    height:1px;
    background:#e2e8f0;
}

/* LINKS */

.auth-link{
    color: var(--bs-red);
    font-size:14px;
    cursor:pointer;
    float: right;
    margin: 8px;
}

.auth-link:hover{
    color:#4f46e5;
}

/* OTP */

.otp-input{
    width:58px;
    height:62px;
    text-align:center;
    font-size:22px;
    border-radius:14px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
}

/* animation */

.auth-animate{
    animation:fadeSlide .35s ease;
}

@keyframes fadeSlide{
from{
opacity:0;
transform:translateY(8px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* MOBILE */

@media(max-width:576px){

.auth-body{
padding:28px;
}

}
/* ===== GOOGLE AUTH BUTTON ===== */

.google-auth-btn{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    width:100%;
    height:58px;

    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:14px;

    font-weight:600;
    color:#111827;

    transition:.25s;
    
    box-shadow:
        0 4px 12px rgba(0,0,0,.04);

}

/* Hover */
.google-auth-btn:hover{

    background:#f9fafb;
    border-color:#d1d5db;

    transform:translateY(-2px);

    box-shadow:
        0 10px 25px rgba(0,0,0,.08);
}

/* Click */
.google-auth-btn:active{
    transform:scale(.98);
}

/* Icon sizing */
.google-auth-btn svg{
    flex-shrink:0;
}

/* FLOATING GROUP */
.input-group-float{
    position:relative;
    margin-bottom:18px;
}

.input-group-float input{
    height:60px;
    border-radius:14px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    width:100%;
    padding:20px 16px 6px;
    font-size:15px;
}

.input-group-float label{
    position:absolute;
    left:14px;
    top:18px;
    color:#64748b;
    font-size:14px;
    transition:.2s;
    background:#fff;
    padding:0 6px;
}

/* FLOAT EFFECT */
.input-group-float input:focus + label,
.input-group-float input:not(:placeholder-shown) + label{
    top:-7px;
    font-size:12px;
    color:#6366f1;
}

/* FOCUS */
.input-group-float input:focus{
    border-color:#6366f1;
    box-shadow:0 0 0 4px rgba(99,102,241,.15);
    outline:none;
}


.password-wrap{
    position:relative;
}

.eye-toggle{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    opacity:.6;
}

.eye-toggle:hover{
    opacity:1;
}

.auth-btn.loading{
    pointer-events:none;
    opacity:.8;
}

.auth-btn.loading::after{
    content:'';
    width:18px;
    height:18px;
    border:2px solid #fff;
    border-top:2px solid transparent;
    border-radius:50%;
    display:inline-block;
    margin-left:8px;
    animation:spin .6s linear infinite;
}

@keyframes spin{
to{transform:rotate(360deg);}
}

/* Hide the Google top banner and its iframe completely */
.goog-te-banner-frame.skiptranslate {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
}
body {
  top: 0px !important;
}

/* Hide Google logo + text under translate element */
.goog-logo-link,
.goog-te-gadget span,
.goog-te-banner,
.goog-te-balloon-frame,
.goog-tooltip {
  display: none !important;
  visibility: hidden !important;
}

/* Remove any space reserved by banner */
#goog-gt-tt,
iframe.skiptranslate,
.goog-te-menu-frame {
  display: none !important;
}
@media (min-width: 901px) {
    .product-box {
        display: flex!important;
        flex-direction: column!important;
        height: 320px!important;              
        background: #ffffff!important;
        border-radius: 0px!important;
        overflow: hidden!important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.08)!important;
        /*padding: 12px;*/
        position: relative!important;
    }
}
@media (max-width: 900px) {
    .product-box {
        display: flex!important;
        flex-direction: column!important;
        height: 294px!important;              
        background: #ffffff!important;
        border-radius: 0px!important;
        overflow: hidden!important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.08)!important;
        /*padding: 12px;*/
        position: relative!important;
    }
}
/* Image section: fixed height */
.product-box .img-wrapper {
    /*height: 200px;*/
    /*display: flex;*/
    justify-content: center!important;
    align-items: center!important;
    overflow: hidden!important;        /* Restore this */
    background: #fff!important;        /* Avoid gray background */
    border-radius: 0px!important;
    text-align: center;
}

.product-box .img-wrapper img {
    width: 100%!important;            
    height: 100%!important;
    margin: auto!important;
  
    /*display: block;*/
}


/* Product details section */
.product-details {
    flex-grow: 1!important;
    padding: 10px 5px!important;
}

/* PREMIUM TITLE CLAMP */
.product-details h5 {
    font-size: 14px!important;
    font-weight: 600!important;
    height: 45px!important;                       /* clamp height */
    overflow: hidden!important;
    display: -webkit-box!important;
    -webkit-line-clamp: 2!important;              /* 2 lines max */
    -webkit-box-orient: vertical!important;
}

/* Price styling */
.product-details .price {
    font-size: 14px!important;
    font-weight: 700!important;
    color: #0d6efd!important;
}

/* Button row (bottom fixed) */
.btn-row {
    display: flex!important;
    /*justify-content: space-between;*/
    /*gap: 10px;*/
    margin-top: auto;
    /*padding-top: 12px;*/
}
/* UL flex container */
.btn-row ul {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    display: flex!important;
    width: 100% !important;
}

/* LI equal width + equal height via flex */
.btn-row ul li {
    width: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex!important;            /* Make li a flex container */
}

/* Make the button (a) fill the li completely */
.btn-row ul li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    padding: 6px 0 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    font-weight: 600 !important;
    color: #fff !important;
    transition: 0.3s ease !important;
    border-radius: 0 !important;
    gap: 4px;
}

/* First button → Dark green */
.btn-row ul li:first-child a {
    background: #41a355!important;
}
.btn-row ul li:first-child a:hover {
    background: #08682D!important;
    transform: translateY(-2px)!important;
}

/* Second button → Light green */
.btn-row ul li:last-child a {
    background: #5ae176;
}
.btn-row ul li:last-child a:hover {
    background: #22A63D;
    transform: translateY(-2px);
}
  /* ======== MODAL BACKDROP ======== */
  #langModal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.6); /* dark translucent overlay */
    backdrop-filter: blur(6px);
    animation: fadeIn 0.3s ease-in-out;
  }

  /* ======== MODAL BOX ======== */
  #langModal .modal-content {
    background: rgba(255, 255, 255, 0.98);
    border-radius: 16px;
    max-width: 700px;
    margin: 5% auto;
    padding: 30px 40px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
    animation: slideUp 0.4s ease;
  }

  /* ======== CLOSE BUTTON ======== */
  #langModal .close {
    color: #888;
    float: right;
    font-size: 26px;
    font-weight: 700;
    cursor: pointer;
    transition: color 0.2s;
  }

  #langModal .close:hover {
    color: #000;
  }

  /* ======== TITLE ======== */
  #langModal h3 {
    text-align: center;
    margin-bottom: 25px;
    color: #1e293b;
    font-weight: 700;
    font-size: 1.6rem;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 10px;
  }

  /* ======== LANGUAGE LIST GRID ======== */
  #languageList {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    max-height: 350px;
    overflow-y: auto;
    padding-right: 5px;
  }

  /* ======== BUTTON STYLE ======== */
  #languageList button {
    background: #f1f5f9;
    border: none;
    padding: 10px 15px;
    border-radius: 10px;
    color: #1e293b;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.08);
  }

  #languageList button:hover {
    background: #2563eb;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25);
  }

  /* ======== SCROLLBAR STYLE ======== */
  #languageList::-webkit-scrollbar {
    width: 6px;
  }
  #languageList::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 6px;
  }

  /* ======== ANIMATIONS ======== */
  @keyframes fadeIn {
    from { opacity: 0; } to { opacity: 1; }
  }
  @keyframes slideUp {
    from { transform: translateY(40px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }

  /* ======== OPEN BUTTON STYLE (optional) ======== */
  .lang-btn {
    background: #858585;
    color: #fff;
    border: none;
    padding: 5px 16px;
    border-radius: 30px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
  }
  .lang-btn:hover {
    background: #000;
    color: #e5e5e5;
  }

  /* Hide the top Google Translate banner */
.goog-te-banner-frame.skiptranslate {
  display: none !important;
}
 

/* Hide the Google Translate toolbar that appears on top */
.goog-te-banner {
  display: none !important;
}

/* Hide Google Translate widget text */
.goog-logo-link, .goog-te-gadget span {
  display: none !important;
}

/* Hide the tooltip that sometimes shows */
.goog-tooltip {
  display: none !important;
}

/* Prevent page shifting when the banner appears */
iframe.goog-te-banner-frame {
  display: none !important;
  visibility: hidden !important;
}

/* Hide the bottom tool if it appears */
.goog-te-balloon-frame {
  display: none !important;
}
  .copy-text {
            cursor: pointer;
            color: blue;
            text-decoration: underline;
        }

        .shake{
animation:shake .3s;
}

@keyframes shake{
0%{transform:translateX(0)}
25%{transform:translateX(-5px)}
50%{transform:translateX(5px)}
75%{transform:translateX(-5px)}
100%{transform:translateX(0)}
}
