/*
Theme Name: Vedanta Boat Charter
Theme URI: https://www.vedantaboat.com
Author: Gemini CLI
Author URI: https://github.com/google-gemini/gemini-cli
Description: A luxury boat charter theme built with Tailwind CSS.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vedantaboat
Tags: luxury, boat, charter, tailwind, custom
*/
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Local Font Definitions */
@import url("./assets/css/c8f9be6d77246eac.css");
:root {
  --font-nord: "nord", sans-serif;
  --font-sora: "sora", sans-serif;
}

.header {
  @apply bg-transparent text-white;
}
.header.header-white {
  @apply bg-white text-black border-black/5;
}
.header.header-white .logo-img {
  filter: invert(1);
}
.header.header-white .nav-underline {
  @apply bg-black;
}
.header.header-white .btn-transparent-blur {
  @apply bg-black-darkest text-white border-black-darkest hover:bg-white hover:text-black-darkest hover:border-black-darkest;
}
.header.header-black {
  @apply bg-black text-white border-white/5;
}
.header.header-black .logo-img {
  filter: invert(0);
}
.header.header-black .nav-underline {
  @apply bg-white;
}
.header .nav-link {
  @apply text-sm uppercase inline-block py-8 transition-opacity duration-300 hover:opacity-70;
}
.header .nav-underline {
  @apply absolute h-0.5 bottom-0 left-0 right-0 scale-x-0 origin-center bg-white transition-transform duration-300 group-hover:scale-x-100;
}
.header .dropdown-item {
  @apply block px-6 py-4 text-xs uppercase tracking-widest transition-colors duration-200 hover:bg-gray-50;
}
.header .btn-transparent-blur {
  @apply border border-white/20 backdrop-blur-md rounded-full px-8 py-2.5 text-xs uppercase tracking-widest transition-all duration-300 hover:bg-white hover:text-black;
}
.header .btn-white {
  @apply bg-white text-black rounded-full px-8 py-4 text-sm uppercase tracking-widest transition-all duration-300 hover:bg-gray-100;
}
.header .mobile-menu-overlay {
  @apply fixed inset-0 bg-black z-40 transition-transform duration-500 translate-x-full lg:hidden pt-32;
}
.header .mobile-menu-overlay.active {
  @apply translate-x-0;
}
.header .mobile-menu-toggle span {
  @apply bg-current;
}
.header.is-mobile-open {
  @apply bg-black;
}
.header.is-mobile-open .mobile-menu-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.header.is-mobile-open .mobile-menu-toggle span:nth-child(2) {
  opacity: 0;
}
.header.is-mobile-open .mobile-menu-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.font-nord {
  font-family: var(--font-nord, "nord", sans-serif);
}

.font-sora {
  font-family: var(--font-sora, "sora", sans-serif);
}

.block-hero {
  @apply bg-black;
}
.block-hero video {
  animation: hero-zoom 20s infinite alternate ease-in-out;
}
.block-hero .scroll-anim-line {
  animation: scroll-slide 2s infinite cubic-bezier(0.76, 0, 0.24, 1);
}
.block-hero .animate-fade-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fade-up 1.2s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.block-hero .animate-fade-up.delay-150 {
  animation-delay: 0.15s;
}
.block-hero .animate-fade-up.delay-300 {
  animation-delay: 0.3s;
}
.block-hero .animate-fade-up.delay-500 {
  animation-delay: 0.5s;
}

@keyframes hero-zoom {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1.25);
  }
}
@keyframes scroll-slide {
  0% {
    transform: translateY(-100%);
  }
  50% {
    transform: translateY(100%);
  }
  51% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes fade-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.block-hero-small h1 {
  @apply transition-transform duration-1000;
}

.block-intro-images {
  @apply bg-[#080808];
}
.block-intro-images .line {
  @apply absolute h-full w-px bg-white/5 top-0 transition-opacity duration-700;
}
.block-intro-images h2 span {
  @apply transition-all duration-1000 transform;
}
.block-intro-images:hover h2 span:last-child {
  @apply text-white;
}
.block-intro-images .btn-primary {
  @apply flex items-center;
}
.block-intro-images .btn-primary:hover .w-14 {
  @apply scale-110 shadow-lg;
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}
.block-intro-images p {
  @apply opacity-80 transition-opacity duration-500 hover:opacity-100;
}

.block-sticky-contents {
  @apply bg-[#080808];
}
.block-sticky-contents .btn-outline {
  @apply px-8 py-3.5 rounded-full border border-white/10 text-xs uppercase tracking-[0.2em] transition-all duration-300 hover:bg-white hover:text-black hover:border-white font-medium;
}
.block-sticky-contents .btn-full {
  @apply px-8 py-3.5 rounded-full bg-white text-black text-xs uppercase tracking-[0.2em] transition-all duration-300 hover:bg-black hover:text-white border border-white font-medium;
}
.block-sticky-contents .animate-fade-in {
  animation: simple-fade 1.5s forwards ease-out;
}
.block-sticky-contents .service-card {
  @apply transition-transform duration-700;
}
.block-sticky-contents .service-card img {
  @apply transition-all duration-700 ease-in-out;
}
.block-sticky-contents .service-card:hover img {
  @apply grayscale-0 scale-100;
}

@keyframes simple-fade {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.block-instagram-slider {
  @apply bg-[#080808];
}
.block-instagram-slider .btn-white {
  @apply px-8 py-3 bg-white text-black text-sm uppercase tracking-widest rounded-full transition-all duration-300 hover:bg-gray-200;
}
.block-instagram-slider .instagram-feed .aspect-square {
  @apply relative overflow-hidden bg-white/5;
}
.block-instagram-slider .instagram-feed .aspect-square:hover img {
  @apply scale-110 grayscale-0;
}
.block-instagram-slider .instagram-feed .aspect-square img {
  @apply grayscale transition-all duration-700;
}

.block-boat-specs {
  @apply bg-white;
}
.block-boat-specs .spec-item {
  @apply relative overflow-hidden;
}
.block-boat-specs .spec-item::after {
  content: "";
  @apply absolute bottom-0 left-0 w-full h-0.5 bg-black scale-x-0 transition-transform duration-500 origin-left;
}
.block-boat-specs .spec-item:hover::after {
  @apply scale-x-100;
}
.block-boat-specs .text-black-darkest {
  @apply text-[#080808];
}

.block-profile-cards {
  @apply bg-[#080808];
}
.block-profile-cards .team-card {
  @apply transition-all duration-700;
}
.block-profile-cards .team-card .aspect-\[3\/4\] {
  @apply relative transition-all duration-700;
}
.block-profile-cards .team-card .aspect-\[3\/4\]::after {
  content: "";
  @apply absolute inset-0 bg-black/40 opacity-100 transition-opacity duration-700;
}
.block-profile-cards .team-card:hover .aspect-\[3\/4\]::after {
  @apply opacity-0;
}
.block-profile-cards .team-card:hover h3 {
  @apply text-white;
}
.block-profile-cards .text-white\/40 {
  @apply text-white opacity-40;
}

.block-testimonials {
  @apply bg-[#080808];
}
.block-testimonials .slider-btn {
  @apply p-4 border border-white/20 rounded-full transition-all duration-300;
}
.block-testimonials .slider-btn:hover {
  @apply bg-white/10 border-white;
}
.block-testimonials .slider-btn.active {
  @apply bg-white text-black border-white;
}
.block-testimonials .testimonial-card {
  @apply opacity-0;
}
.block-testimonials .testimonial-card.animate-fade-in {
  animation: fade-reveal 1.2s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
.block-testimonials .author-info img {
  @apply transition-transform duration-700;
}
.block-testimonials .testimonial-card:hover .author-info img {
  @apply scale-110;
}

@keyframes fade-reveal {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.block-contact-form {
  @apply bg-white;
}
.block-contact-form .form-input,
.block-contact-form .form-select,
.block-contact-form .form-textarea {
  @apply appearance-none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.01);
}
.block-contact-form .form-input:focus,
.block-contact-form .form-select:focus,
.block-contact-form .form-textarea:focus {
  @apply border-black;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.block-contact-form .btn-submit {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.block-contact-form .btn-submit:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}
.block-contact-form .animate-fade-in {
  opacity: 0;
  animation: simple-fade 1s forwards ease-out 0.3s;
}

.form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  background-size: 1.25rem;
}

.block-activities-accordion .accordion-item.active .plus-icon {
  @apply rotate-45 border-white;
}
.block-activities-accordion .accordion-item.active .accordion-trigger {
  @apply opacity-100;
}
.block-activities-accordion .accordion-trigger {
  @apply opacity-60 transition-opacity duration-300;
}
.block-activities-accordion .accordion-trigger:hover {
  @apply opacity-100;
}
.block-activities-accordion .accordion-content {
  @apply transition-all duration-500;
}

.block-featured-gallery .aspect-square {
  @apply transition-all duration-500;
}
.block-featured-gallery .aspect-square::before {
  content: "";
  @apply absolute inset-0 bg-black/20 z-10 transition-opacity duration-500;
}
.block-featured-gallery .aspect-square:hover::before {
  @apply opacity-0;
}

.footer {
  @apply bg-[#080808];
}
.footer .social-icon {
  @apply inline-block p-3 border border-white/10 rounded-full transition-all duration-300;
}
.footer .social-icon:hover {
  @apply bg-white border-white;
}
.footer .social-icon:hover img {
  @apply invert;
}
.footer .social-icon img {
  @apply transition-all duration-300;
}
.footer .newsletter-form input:focus + button {
  @apply opacity-100 translate-x-2;
}
.footer p {
  @apply leading-relaxed;
}

.container {
  @apply max-w-7xl mx-auto;
}

.bg-black-darkest {
  @apply bg-[#080808];
}

.text-black-darkest {
  @apply text-[#080808];
}

/*# sourceMappingURL=style.css.map */
