 /* Import fonts - using web-safe alternatives for the custom fonts */
 @import url('https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=Dancing+Script:wght@400;700&family=Lora:wght@300;400;500;600&display=swap');

 @font-face {
     font-family: 'CF Remington Typewriter';
     src: url('./fonts/CFRemingtonTypewriter-Regular.woff2') format('woff2'),
         url('./fonts/CFRemingtonTypewriter-Regular.woff') format('woff');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
 }

 @font-face {
     font-family: 'Bs Signature Demo';
     src: url('./fonts/BsSignatureDemo.woff2') format('woff2'),
         url('./fonts/BsSignatureDemo.woff') format('woff');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
 }

 :root {
     --primary-beige: #C9B9AD;
     --primary-blue: #748593;
     --secondary-beige: rgba(204, 176, 170, 0.3);
     --cream: #E6E8DA;
     --primary-green: #3D5B58;
     --text-dark: rgb(44, 44, 44);
     --text-light: rgb(255, 255, 255);
     --font-heading: 'CF Remington Typewriter', monospace;
     /* Alternative to CFREMINGTON TYPEWRITER */
     --font-signature: 'Bs Signature Demo', cursive;
     /* Alternative to BS SIGNATURE */
     --font-body: 'Lora', serif;
     /* Alternative to LORENZA */
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: var(--font-body);
     line-height: 1.6;
     color: var(--text-dark);
     overflow-x: hidden;
     font-size: 1.2rem;
 }

 /* Header */
 header {
     position: fixed;
     top: 0;
     width: 100%;
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(10px);
     z-index: 1000;
     padding: 1rem 0;
     transition: all 0.3s ease;
 }

 nav {
     display: flex;
     justify-content: space-between;
     align-items: center;
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
 }


 .book-btn {
     display: none;
     grid-column: 1;
     grid-row: 4;
     justify-self: center;
     margin-top: 1rem;
 }

 .mobile-menu {
     grid-column: 1;
     grid-row: 1;
     justify-self: end;
 }


 .logo {
     height: 70px;
 }

 .nav-links {
     display: flex;
     list-style: none;
     gap: 2rem;
 }

 .nav-links a {
     text-decoration: none;
     color: var(--text-dark);
     font-weight: 500;
     transition: color 0.3s ease;
 }

 .nav-links a:hover {
     color: var(--primary-green);
 }

 .book-btn {
     background: var(--primary-green);
     color: white;
     padding: 0.75rem 1.5rem;
     text-decoration: none;
     border-radius: 25px;
     transition: all 0.3s ease;
     display: inline-block;
 }

 .book-btn:hover {
     background: var(--primary-blue);
     transform: translateY(-2px);
 }

 /* Mobile menu */
 .mobile-menu {
     display: none;
     flex-direction: column;
     cursor: pointer;
 }

 .mobile-menu span {
     width: 25px;
     height: 3px;
     background: var(--text-dark);
     margin: 3px 0;
     transition: 0.3s;
 }

 /* Hero Section */
 .hero {
     height: 100vh;
     background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('./images/grounds/Masyaf_16.jpg');
     background-size: cover;
     background-position: center;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     color: white;
 }

 .hero-content {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
 }

 .hero-content h1 {
     font-family: var(--font-heading);
     font-size: 4.5rem;
     margin-bottom: 1rem;
     letter-spacing: 2px;
 }

 .hero-content p {
     font-size: 1.2rem;
     margin-bottom: 2rem;
     max-width: 600px;
 }

 .hero-social-links {
     display: flex;
     gap: 1rem;


    margin-top: 2em;

     a {
         color: var(--text-light);
         font-size: 1.5rem;
         transition: color 0.3s ease;
         border: 1px solid var(--text-light);
         text-decoration: none;
         border-radius: 50%;
         width: 60px;
         height: 60px;
         display: flex;
         align-items: center;
         justify-content: center;
         transition: all 0.3s ease;

         &:hover {
             color: var(--primary-beige);
         }
     }
 }

 .cta-button {
     display: inline-block;
     background: var(--primary-beige);
     color: var(--text-dark);
     padding: 1rem 2rem;
     text-decoration: none;
     border-radius: 30px;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .cta-button:hover {
     transform: translateY(-3px);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
 }

 /* Sections */
 section {
     padding: 5rem 0;
     display: flex;
     flex-direction: column;
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 2rem;
     width: 100%;

 }

 .section-title {
     font-family: var(--font-heading);
     font-size: 3.5rem;
     text-align: center;
     margin-bottom: .1rem;
     color: var(--primary-green);
     line-height: 0.5;
 }

 .section-subtitle {
     font-family: var(--font-signature);
     font-size: 3rem;
     letter-spacing: 5px;
     text-align: center;
     color: var(--primary-blue);
     margin-bottom: 3rem;
 }

 /* About Section */
 .about {
     background: #f8f8f8;
 }

 .about-header {
     text-align: left;
     margin-bottom: 3rem;

     * {
         text-align: inherit;
     }
 }

 .about-content {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 4rem;
     align-items: center;
     min-height: calc(100vh - 120px);
 }

 .about-text {
     padding: 1em 0;
     line-height: 1.8;
     position: sticky;
     top: 102px;
     align-self: baseline;
     display: flex;
     flex-direction: column;

 }

 .about-image {
     width: 100%;
     height: 400px;
     background: url('./images/grounds/Masyaf_29.jpg');
     background-size: cover;
     background-position: center;
     border-radius: 1px;
 }

 .about-images {
     display: flex;
     flex-direction: column;
     gap: 1rem;

     img {
         width: 100%;
         height: 100%;
         object-fit: cover;
     }
 }

 .about-social-links {
     display: flex;
     gap: 1rem;
     

     h3 {
        margin-top: 2em;
     }

     a {
         color: var(--text-dark);
         font-size: 1.5rem;
         transition: color 0.3s ease;
         border: 1px solid var(--text-dark);
         text-decoration: none;
         border-radius: 50%;
         width: 60px;
         height: 60px;
         display: flex;
         align-items: center;
         justify-content: center;
         transition: all 0.3s ease;

         &:hover {
             color: var(--primary-green);
         }
     }
 }

 .rotate-10 {
     --rotate: 1deg;
 }

 .rotate-20 {
     --rotate: 2deg;
 }

 .rotate-30 {
     --rotate: 3deg;
 }

 .rotate-n10 {
     --rotate: -1deg;
 }

 .rotate-n20 {
     --rotate: -2deg;
 }

 .rotate-n30 {
     --rotate: -3deg;
 }


 /* Rooms Section */
 .rooms-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
     gap: 3rem;
     margin-top: 3rem;
 }

 .room-card {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s ease;
 }

 .room-card:hover {
     transform: translateY(-10px);
 }

 .room-image {
     height: 250px;

     img {
         width: 100%;
         height: 100%;
         object-fit: cover;
     }
 }

 .room-content {
     padding: 2rem;
 }

 .room-title {
     font-family: var(--font-heading);
     font-size: 1.5rem;
     margin-bottom: 1rem;
     color: var(--primary-green);
 }

 .amenities {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 0.5rem;
     margin-top: 1rem;
 }

 .amenity {
     font-size: 0.9rem;
     color: var(--primary-blue);
 }

 /* Dining Section */
 .dining {
     background: var(--primary-beige);
     color: var(--text-dark);
 }

 .dining-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 2rem;
     margin-top: 3rem;
 }

 .dining-item {
     background: white;
     padding: 2rem;
     border-radius: 10px;
     font-size: initial;
 }

 .dining-item h3 {
     font-family: var(--font-heading);
     color: var(--primary-green);
     margin-bottom: 0.5rem;
 }

 .dining-hours {
     font-weight: 600;
     color: var(--primary-blue);
     margin-bottom: 1rem;
 }

 /* Spa Section */
 .spa {
     background: var(--cream);

     p {
         line-height: 1.8;
         margin-bottom: 2rem;
     }

     h2 {
         text-align: center;
     }
 }

 .spa-intro {
     text-align: left;
     margin-bottom: 4rem;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1em;

     .spa-image {
         height: 100%;

         img {
             width: 100%;
             height: 100%;
             object-fit: cover;
             border-radius: 1px;
         }
     }
 }

 .peppermint-logo {
     height: 90px;
     margin-bottom: 2rem;
 }

 .spa-gallery {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 2rem;
     margin: 3rem 0;
 }

 .spa-image {
     height: 300px;
     border-radius: 1px;
     overflow: hidden;
     position: relative;
 }

 .spa-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.3s ease;
 }

 .spa-image:hover img {
     transform: scale(1.05);
 }

 .spa-services {
     background: #4A423F;

     padding: 3rem;
     border-radius: 1px;
     margin-top: 3rem;
     font-size: initial;

     h3 {
         font-size: 4rem;
     }

     * {
         color: var(--text-light);
     }

     h4 {
         font-size: 1.5rem;
     }

     .spa-hours {
         text-align: center;
         margin-top: 2.5rem;
         font-weight: 600;
     }

 }

 .services-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 2rem;
 }

 .service-item {
     text-align: center;
     padding: 1.5rem;
 }

 .service-item h4 {
     color: var(--text-light);
     margin-bottom: 1rem;
 }

 /* Events Section */
 .events {

     .events-text {}

 }

 .events-content {


     margin: 0 auto;

     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 2rem;
 }

 .events-content p {
     line-height: 1.8;
     margin-bottom: 2rem;
 }

 .events-image {
     position: sticky;
     top: 102px;

     img {
         width: 100%;
     }
 }

 #events {
     .contact-info {
         display: flex;
         gap: 1rem;
         justify-content: center;
     }


 }

 @media (max-width: 768px) {
     .events-content {
         grid-template-columns: 1fr;

         .events-image {
             order: -1;
             position: initial;
         }
     }
 }

 .contact {
     background: var(--primary-green);
     color: white;
     padding: 4rem 2rem;
 }

 .contact .container {
     max-width: 1200px;
     margin: auto;
 }



 .contact-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 4rem;
 }

 @media (max-width: 768px) {
     .contact-grid {
         grid-template-columns: 1fr;
     }

     .map-placeholder {
         min-height: 200px;
     }
 }

 .contact-info-section h3 {
     font-family: var(--font-heading);
     font-size: 2rem;
     margin-bottom: 2rem;
 }

 .contact-details {
     display: grid;
     gap: 1.5rem;
     margin-bottom: 2rem;
 }

 .contact-details p {
     margin: 0;
     line-height: 1.6;
 }

 .contact-btn {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     background: var(--primary-blue);
     color: white;
     padding: 0.75rem 1.5rem;
     border-radius: 25px;
     text-decoration: none;
     font-size: 1rem;
     transition: background 0.3s ease;
 }

 .contact-btn:hover {
     background: white;
     color: var(--primary-blue);
 }

 .social-links {
     display: flex;
     gap: 1rem;
     margin-top: 1.5rem;
 }

 .social-links a {
     color: white;
     text-decoration: none;
     border: 1px solid white;
     border-radius: 50%;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
 }

 .social-links a:hover {
     background: white;
     color: var(--primary-green);
 }

 .map-placeholder {
     background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('./images/map.jpg');
     position: relative;
     overflow: hidden;

     background-size: cover;
     background-position: center;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     height: 100%;
     min-height: 300px;
     text-align: center;
     padding: 2rem;
     font-size: 1.2rem;

     p {
         padding: 1em 2em;
         background: rgba(255, 255, 255, 0.8);
         border-radius: 10px;
         color: var(--text-dark);
         font-weight: 600;

         a {
             color: var(--text-dark);
             text-decoration: none;
         }
     }

 }

 /* Footer */
 footer {
     background: var(--text-dark);
     color: white;
     text-align: center;
     padding: 2rem 0;
 }


 /* Responsive Design */
 @media (max-width: 768px) {

     nav {
         display: grid;
         grid-template-columns: 1fr auto auto;
         align-items: center;
         margin: initial;
         width: 100vw;

         .book-btn {
             display: none;
         }
     }

     .logo {
         height: 60px;
         grid-column: 1;
         text-align: center;
         grid-row: 1;
         justify-self: left;
     }



     .nav-links {
         display: none;

         grid-row: 3;
         flex-direction: column;
         text-align: center;
     }

     .nav-links {
         display: none;
     }

     .mobile-menu {
         display: flex;
     }

     .hero-content h1 {
         font-size: 2.5rem;
     }

     .about-content {
         grid-template-columns: 1fr;
         gap: 2rem;
     }

     .about-text {
         position: initial;
     }

     .contact-grid {
         grid-template-columns: 1fr;
         gap: 2rem;
     }

     .contact-info {
         flex-direction: column;
         gap: 1rem;
     }

     .section-title {
         font-size: 2rem;
     }

     .spa-intro {
         display: grid;
         grid-template-columns: 1fr;
         gap: 2rem;
         order: -1;
     }

     .peppermint-poster {
         max-width: 100% !important;
         margin: 1em auto;
         padding: 0 1rem;
     }
 }

 /* Smooth scrolling */
 html {
     scroll-behavior: smooth;
 }

 /* Animation classes */
 .fade-in {
     opacity: 0;
     transform: rotate(var(--rotate)) translateY(30px);
     transition: all 0.6s ease;
 }

 .fade-in.visible {
     opacity: 1;
     transform: rotate(var(--rotate)) translateY(0);
 }