@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/* --- FONTS --- */
/* Regular */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}

/* Italic */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Italic.ttf') format('truetype');
font-weight: 400;
font-style: italic;
}

/* Thin */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Thin.ttf') format('truetype');
font-weight: 100;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-ThinItalic.ttf') format('truetype');
font-weight: 100;
font-style: italic;
}

/* ExtraLight */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-ExtraLight.ttf') format('truetype');
font-weight: 200;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-ExtraLightItalic.ttf') format('truetype');
font-weight: 200;
font-style: italic;
}

/* Light */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Light.ttf') format('truetype');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-LightItalic.ttf') format('truetype');
font-weight: 300;
font-style: italic;
}

/* Medium */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-MediumItalic.ttf') format('truetype');
font-weight: 500;
font-style: italic;
}

/* SemiBold */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-SemiBold.ttf') format('truetype');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-SemiBoldItalic.ttf') format('truetype');
font-weight: 600;
font-style: italic;
}

/* Bold */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-BoldItalic.ttf') format('truetype');
font-weight: 700;
font-style: italic;
}

/* ExtraBold */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-ExtraBold.ttf') format('truetype');
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-ExtraBoldItalic.ttf') format('truetype');
font-weight: 800;
font-style: italic;
}

/* Black */
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-Black.ttf') format('truetype');
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: 'Grift';
src: url('assets/fonts/Grift-BlackItalic.ttf') format('truetype');
font-weight: 900;
font-style: italic;
}

/* --- 100: Hairline --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Hairline.ttf') format('truetype');
font-weight: 100;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-HairlineIt.ttf') format('truetype');
font-weight: 100;
font-style: italic;
font-display: swap;
}

/* --- 200: Thin --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Thin.ttf') format('truetype');
font-weight: 200;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-ThinIt.ttf') format('truetype');
font-weight: 200;
font-style: italic;
font-display: swap;
}

/* --- 250: Extra Light --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-ExtraLight.ttf') format('truetype');
font-weight: 250;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-ExtraLightIt.ttf') format('truetype');
font-weight: 250;
font-style: italic;
font-display: swap;
}

/* --- 300: Light --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Light.ttf') format('truetype');
font-weight: 300;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-LightIt.ttf') format('truetype');
font-weight: 300;
font-style: italic;
font-display: swap;
}

/* --- 350: Book (Often slightly lighter than Regular) --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Book.ttf') format('truetype');
font-weight: 350;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-BookIt.ttf') format('truetype');
font-weight: 350;
font-style: italic;
font-display: swap;
}

/* --- 400: Regular --- */
@font-face {
font-family: 'KazimirText-Regular';
src: url('assets/fonts/KazimirText-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
font-display: swap;
}

.kazimir-text-regular{
  font-family: 'KazimirText-Regular';
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-It.ttf') format('truetype');
font-weight: 400;
font-style: italic;
font-display: swap;
}

/* --- 500: Medium --- */
@font-face {
font-family: 'KazimirText-Medium';
src: url('assets/fonts/KazimirText-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-MediumIt.ttf') format('truetype');
font-weight: 500;
font-style: italic;
font-display: swap;
}

/* --- 600: Semibold --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Semibold.ttf') format('truetype');
font-weight: 600;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-SemiboldIt.ttf') format('truetype');
font-weight: 600;
font-style: italic;
font-display: swap;
}

/* --- 700: Bold --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-BoldIt.ttf') format('truetype');
font-weight: 700;
font-style: italic;
font-display: swap;
}

/* --- 800: Extra Bold --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-ExtraBold.ttf') format('truetype');
font-weight: 800;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-ExtraBoldIt.ttf') format('truetype');
font-weight: 800;
font-style: italic;
font-display: swap;
}

/* --- 900: Black --- */
@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-Black.ttf') format('truetype');
font-weight: 900;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'KazimirText';
src: url('assets/fonts/KazimirText-BlackIt.ttf') format('truetype');
font-weight: 900;
font-style: italic;
font-display: swap;
}

@font-face {
font-family: 'KazimirText-Book';
src: url('assets/fonts/KazimirText-Book.ttf') format('woff2'); /* UPDATE PATH */
font-weight: normal;
font-style: normal;
}

.font-kazimir{
font-family: 'KazimirText';
}

/* --- UTILS --- */
.amount-radio:checked + label {
    background-color: #FFC107; 
    border-color: #eab308;
    color: #1a1a1a;
    /* font-weight: 700; */
}
.headline-text{
    color: #FFF;
    text-align: center;
    font-family: 'Grift';
    font-size: 2.6875rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    line-height: 3.01rem !important;
}
.amount-text{
    letter-spacing: 0.1px;
}
.pay-btn{
    background: #FFCA0A;
}
#pincode-status {
    color: red;
    font-size: 14px;
    margin-top: 4px;
}
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.font-sans-custom { font-family: 'Inter', sans-serif; }

/* Plyr Customization to match theme (Optional) */
.plyr {
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.plyr--full-ui input[type=range] {
    color: #0092cb; /* Your brand color */
}
.plyr__control--overlaid {
    background: rgba(0, 146, 203, 0.8); /* Brand color play button */
}

.about-headline{
  font-family: 'KazimirText-Regular';
  font-size: 2.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.about-text{
  color: #000;
  font-family: 'KazimirText-Book';
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
}

.about-text span{
  color: #000;
  font-family: 'KazimirText-Medium';
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
}

/* Custom styles for Swiper Arrows to match your theme's blue */
.swiper-button-next, .swiper-button-prev {
  color: #0092cb; /* Match the blue from the video player */
  background-color: rgba(255, 255, 255, 0.8);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.swiper-button-next:after, .swiper-button-prev:after {
  font-size: 18px;
  font-weight: bold;
}
/* Hide arrows on mobile so they don't cover the image, use swipe instead */
@media (max-width: 768px) {
  .swiper-button-next, .swiper-button-prev {
      display: none;
  }
}

input:focus, button:focus, select:focus, textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px #eab308; /* Yellow Focus Ring */
  border-color: #eab308;
}

/* Logic to prevent sticky hover on mobile */
@media (hover: hover) {
  .btn-hover:hover {
      background-color: #e5e7eb; /* Gray-200 */
  }
  .submit-hover:hover {
      background-color: #F4B91E; /* Darker Yellow */
  }
}
/* Custom styles for the date input to look clean */
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0.6;
    cursor: pointer;
}

/* Smooth fade for the custom amount input if needed */
.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.donate-section{
  background: linear-gradient(180deg, #FEFAEC 0%, #FAEAB1 100%);
}

.bg-brand-gold{
  background: #FFC107;
}

/* Custom styles to handle specific font weights if tailwind classes aren't enough */
.font-kazimir-medium { font-family: 'KazimirText-Medium', serif; font-weight: 500; }
.font-kazimir-regular { font-family: 'KazimirText-Regular', serif; font-weight: 400; }
.font-inter-light { font-family: 'Inter', sans-serif; font-weight: 300; }

/* Smooth overlay gradient for better text readability */
.card-overlay {
    background: rgba(0, 0, 0, 0.4); 
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.shloka-position{
  top: 42%;transform: translate(-50%, 90%);
}

       /* Custom Shloka Box Styling */
       .shloka-box {
        border-radius: 0.9375rem; /* 15px */
        border: 1px solid rgba(255, 255, 255, 0.54);
        background: rgba(255, 255, 255, 0.15);
        backdrop-filter: blur(7.2px);
        /* Fixed dimensions */
        width: 19.5625rem;
        min-height: 4.875rem;
        
        /* Simulating 'Grift' font with Playfair Display (a serif, bold font) */
        font-family: 'Grift'; 
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5rem; /* Ensure readability */
        color: #212121; /* Changed to dark color to match visual reference */
        letter-spacing: 0.02rem;
        padding: 0.75rem 1rem; /* Adjusted padding for better fit */
    }

    /* Responsive width for shloka box on very small screens */
    @media (max-width: 320px) {
         .shloka-box {
            width: 90vw; /* Ensure it doesn't overflow on small screens */
         }
    }

    @media (max-width: 500px) {
      .seva-imp-card{
        width: 18.875rem!important;
        height: 39rem!important;
      }

      .shloka-position{
        top: 27%;transform: translate(-50%, 90%)!important;
      }
      
      .seva-imp-card img{
        width: 18.875rem!important;
        height: 16rem!important;
      }

      .shloka-box {
        padding: 0.5rem 1rem;
        min-height: 4rem;
        font-size: 0.9rem;
        width: 17.5rem;
        line-height: 1.2rem;
      }
 }
 @media (max-width: 410px) {
  .seva-imp-card{
    width: 17rem!important;
    height: 41rem!important;
  }
  .shloka-box {
    padding: 0.5rem 1rem;
    min-height: 3.5rem;
    font-size: 0.8rem;
    width: 16rem;
    line-height: 1.2rem;
  }
}


    /* Main Card Shadow */
    .card-shadow {
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }

    /* Description Text Styling */
    .card-text {
        font-size: 16px;
        line-height: 32px;
        letter-spacing: 0.02em; /* 2% */
        text-align: justify;
    }
    
    /* Custom Padding for Text Content Area to accommodate the shloka box overlap.
    The shloka box is 4.875rem high. We want the text content to start a comfortable distance 
    *after* the shloka box ends. 
    Bottom of shloka box is at 190% of its height relative to image-text boundary.
    We add 4.875rem (full height) + a margin (1.5rem) to the default top padding (p-6 = 1.5rem).
    We will use a fixed padding-top to create the initial spacing.
    */
    .text-area-with-overlap-padding {
        padding-top: 2rem; /* Initial padding top of 2rem */
    }

/* Custom Padding for Text Content Area to accommodate the shloka box overlap.
The shloka box height is 4.875rem. 90% of this (4.3875rem) overlaps the text area.
We add this height plus some standard top padding (1.5rem) to ensure content is pushed down correctly.
*/
/* .text-area-with-overlap-padding {
  padding-top: calc(4.875rem * 0.9 + 1.5rem);
} */

/* Swiper Navigation Custom Styling (to look like the figma arrows) */
.swiper-button-prev-seva-importance, .swiper-button-next-seva-importance {
    background: #FFFFFF;
    border-radius: 9999px; /* Fully rounded */
    width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  fill: #F8E18F;
    color: #000000 !important;
    --swiper-navigation-size: 16px;
    transition: all 0.2s;

    /* Positioning FIX */
    position: absolute; 
    top: 50%;
    transform: translateY(50%); /* Ensures perfect vertical centering */
    z-index: 10;
}
.swiper-button-prev-seva-importance svg, .swiper-button-next-seva-importance svg {
  top: 31%;
  position: relative;
  left: 39%;
  width: 0.53813rem;
height: 1.00606rem;
flex-shrink: 0;
fill:#000;
}
.swiper-button-prev-seva-importance:hover, .swiper-button-next-seva-importance:hover {
    background: #F8E18F;
}
/* Hide navigation on mobile */
@media (max-width: 1023px) {
    .swiper-button-prev-seva-importance, .swiper-button-next-seva-importance {
        display: none;
    }
}

.swiper-button-prev-seva-importance {
  left: 2px; /* Move 20px outside the container (adjust as needed) */
}
.swiper-button-next-seva-importance {
  right: 2px; /* Move 20px outside the container (adjust as needed) */
}

.seva-imp-card{
  width: 23.75rem;
  height: 39rem;
  border-radius: 20px;
  background: #FEFAEC;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.seva-imp-card img{
  width: 23.75rem;
  height: 18rem;
  border-radius: 20px;
  object-fit: cover;
}

.seva-imp-text-content{
  border-radius: 0 0 1.25rem 1.25rem;
  background: #FFFDF5;
}

.seva-imp-text-content-title{
  color: #2C464D;

font-family: Grift;
font-size: 1rem;
font-weight: 800;
line-height: 2rem; /* 200% */
letter-spacing: 0.02rem;
}

/* Custom Navigation Button Styles */
.swiper-button-next, .swiper-button-prev {
  color: #333;
  background: rgba(255, 255, 255, 0.6);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  backdrop-filter: blur(4px);
  transition: all 0.3s ease;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
  background: white;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.swiper-button-next::after, .swiper-button-prev::after {
  font-size: 20px;
  font-weight: bold;
}
.inter{
  font-family: 'Inter';
}

.bg-black-400-50{
  background-color: rgb(0 0 0 / 0.5);
}
.rounded-2xl-top{
  border-radius: 1.25rem 1.25rem 0px 0px;
}