 :root {
     --crimson-deep: #1a0000;
     --crimson-dark: #2d0000;
     --crimson-mid: #6b0000;
     --crimson-vivid: #a50000;
     --crimson-bright: #c0392b;
     --gold-deep: #7a5200;
     --gold-mid: #b8860b;
     --gold-bright: #d4a017;
     --gold-light: #f0c040;
     --gold-pale: #fde9a2;
     --ivory: #fdf6e3;
     --text-body: #e8d5c4;
     --text-muted: #a07060;
     --espresso: #3D1A0A;
     /* very dark warm brown â€” headings on light bg  */
     --mocha: #6B3820;
     /* warm brown â€” body text on light bg           */
     --apricot-dark: #F0C040;
     /* deep apricot â€” headings on dark bg           */
     --apricot: #F7D070;
     /* apricot â€” body text on dark bg                            */
     --apricot-light: #FDE9A2
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: "DM Sans", sans-serif;
     color: var(--text-body);
     font-size: 1.1rem;
     overflow-x: hidden;
 }

 /* ─── Noise Texture Overlay ─── */
 body::before {
     content: '';
     position: fixed;
     inset: 0;
     pointer-events: none;
     z-index: 9999;
     opacity: 0.35;
 }


 .section-title {
     font-size: clamp(1.6rem, 4vw, 2.8rem);
     color: saddlebrown;
     text-shadow: 0 0 40px rgba(212, 160, 23, 0.4);
     letter-spacing: 0.04em;
     margin-bottom: 0.3em;
     font-family: 'Playfair Display', serif;
 }
 .section-subtitle {
        color: rgb(44 102 120);
        font-size: 17px;
 }

 .section-subtitle-last {
    font-size: 17px;
 }
 #hero {
     min-height: 100vh;
     display: flex;
     align-items: center;
     background:
         linear-gradient(rgba(10, 18, 49, 0.1), rgba(0, 0, 0, 0.2)),
         url('images/banner.jpg') center/cover no-repeat;
     position: relative;
 }



 .hero-content {
     position: relative;
     z-index: 2;
     text-align: center;
     padding: 2rem 1rem;
 }

 #hero .hero-content,
 #hero .hero-scroll {
     position: relative;
     z-index: 2;
 }

 .hero-tagline {
     font-size: clamp(0.7rem, 1.5vw, 0.9rem);
     letter-spacing: 0.4em;
     color: saddlebrown;
     margin-bottom: 1.5rem;
     opacity: 0;
     animation: fadeUp 1s ease 0.3s forwards;
     margin-top: 4rem;
 }

 .hero-title {
     font-size: 40px;
     font-weight: 700;
     line-height: 1;
     margin-bottom: 0.2em;
     opacity: 0;
     animation: fadeUp 1s ease 0.6s forwards;
 }

 .hero-title .line1 {
     font-family: 'Playfair Display', serif;
     font-size: 62px;
     display: block;
     color: rgba(73, 36, 36, 0.79);
     text-shadow: 0 0 30px rgba(255, 255, 255, 0.4);
 }

 .hero-title .line2 {
     font-weight: normal;
     display: block;
     color: maroon;
     font-size: 20px;
     margin-top: 0.15em;
     text-shadow: 0 0 30px rgba(212, 160, 23, 0.5);
 }

 .hero-desc {
     font-size: 16px;
     color: #364545;
     font-style: italic;
     margin: 1.5rem auto 0.5rem;
     line-height: 1.7;
     opacity: 0;
     animation: fadeUp 1s ease 0.9s forwards;
 }

 .hero-meta {
     display: flex;
     gap: 2rem;
     justify-content: center;
     flex-wrap: wrap;
     margin: 2rem 0;
     opacity: 0;
     animation: fadeUp 1s ease 1.1s forwards;
 }

 .hero-meta-item {
     display: flex;
     align-items: center;
     gap: 0.6rem;
     font-size: 0.82rem;
     letter-spacing: 0.1em;
     color: maroon;
     font-weight: 500;
     background: #36454530;
     padding: 0.5rem 1rem;
     border-radius: 6px;
 }

 .hero-meta-item i {
     color: var(--gold-bright);
     font-size: 1.1rem;
 }


 @keyframes fadeUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .hero-scroll {
     position: absolute;
     bottom: 2rem;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0.4rem;
     opacity: 0;
     animation: fadeUp 1s ease 1.8s forwards;
 }

 .scroll-line {
     width: 1px;
     height: 50px;
     background: linear-gradient(180deg, var(--gold-bright), transparent);
     animation: scroll-pulse 2s ease infinite;
 }

 @keyframes scroll-pulse {

     0%,
     100% {
         transform: scaleY(1);
         opacity: 1;
     }

     50% {
         transform: scaleY(0.6);
         opacity: 0.4;
     }
 }

 .scroll-text {

     font-size: 0.6rem;
     letter-spacing: 0.3em;
     color: var(--gold-mid);
     text-transform: uppercase;
 }

 /* ─── SECTIONS ─── */
 section {
     position: relative;
 }

 /* .section-sep {
      height: 2px;
      background: linear-gradient(
        90deg,
        transparent 0%,
        var(--gold-bright) 20%,
        var(--gold-light) 50%,
        var(--gold-bright) 80%,
        transparent 100%
      );
      margin: 3rem 0;
      position: relative;
    }

    .section-sep::before {
      content: '✦';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: var(--crimson-deep);
      padding: 0.5rem 0.8rem;
      color: var(--gold-light);
      font-size: 1rem;
      letter-spacing: 0.1em;
    } */

 /* ─── EVENT DESCRIPTION SECTION ─── */
 #event-desc {
     background: #e4d6c7;
     border-top: 1px solid rgba(212, 160, 23, 0.15);
     border-bottom: 1px solid rgba(212, 160, 23, 0.15);
 }

 .event-desc-item {
     /* border: 1px solid gold; */
     border-radius: 8px;
     padding: 0;
     transition: all 0.4s ease;
     backdrop-filter: blur(5px);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
     position: relative;
     /* background: #482f1e; */
     overflow: hidden;
 }



 .event-bottom {
     padding: 20px;
     background: rgb(73 36 36 / 79%);
     border: none;
     box-shadow: none;
 }


 .event-desc-item:hover {
     background: 48301e;
     border-color: rgba(212, 160, 23, 0.4);
     box-shadow: 0 8px 24px rgba(212, 160, 23, 0.1);
     transform: translateY(-2px);
 }

 .event-desc-item h5 {
     color: var(--gold-light);
     margin-bottom: 1rem;
     letter-spacing: 0.05em;
 }

 .event-desc-item p {
     color: var(--text-body);
     line-height: 1.8;
     font-size: 0.95rem;
 }

 .icon-wrap {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 50px;
     height: 50px;
     background: rgba(212, 160, 23, 0.12);
     border-radius: 50%;
     margin-bottom: 1.5rem;
     border: 1px solid rgba(212, 160, 23, 0.3);
 }

 .icon-wrap i {
     font-size: 1.8rem;
     color: var(--gold-bright);
 }

 .event-list {
     display: flex;
 }

 .event-list-item {
     display: flex;
     gap: 1.5rem;
     padding: 20px;
     background: transparent;
     border-radius: 4px;
     transition: all 0.3s ease;
     margin: 10px;
     width: 100%;
     box-shadow: 2px 2px 5px #c6b7b7;
 }



 .event-list-item:hover {
     background: transparent;
     border-left-color: var(--gold-bright);
     transform: translateX(8px);
 }

.event-top img {
    width: 100%;
}
 .list-icon {
     display: flex;
     align-items: flex-start;
     width: 40px;
     min-width: 40px;
     height: 40px;
     background: rgba(212, 160, 23, 0.12);
     border-radius: 50%;
     justify-content: center;
     border: 1px solid rgba(212, 160, 23, 0.3);
     margin-top: 0.2rem;
 }

 .list-icon i {
     font-size: 1.4rem;
     color: var(--gold-bright);
 }

 .event-list-item h6 {
    color: rgb(73 36 36);
     margin-bottom: 0.5rem;
     letter-spacing: 0.05em;
 }

 .event-list-item p {
     color: #454545;
     line-height: 1.7;
     font-size: 0.95rem;
     margin: 0;
 }

 /* Section Menu */
 .section-menu {
     background: #eeecec;
     padding: 80px 0;
     position: relative;
 }

 .section-menu::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: linear-gradient(90deg, var(--gold), var(--apricot-dark), var(--gold));
 }

 .section-menu .container {
     position: relative;
     z-index: 1;
 }

 .section-menu .section-label {
     color: rgb(44 102 120);
 }

 .menu-section-title {
     color: saddlebrown;
     /* espresso heading on peach bg */
     font-size: clamp(1.8rem, 4vw, 3rem);
     font-family: 'Playfair Display', serif;
 }

 .menu-description {
     color: #364545;
     padding: 0 10px;
     font-size: 0.93rem;
     line-height: 1.8;
     font-family: 'DM Sans', sans-serif;
 }

 /* Menu cards */
 .menu-card {
     position: relative;
     background: var(--white);
     border: 1px solid rgba(256, 0, 0, 0.18);
     overflow: hidden;
     cursor: pointer;
     height: 100%;
     box-shadow: 0 6px 24px rgba(256, 0, 23, 0.18);
     transition: transform 0.35s ease, box-shadow 0.35s ease;
     border-radius: 8px;
 }

 .menu-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 18px 44px rgba(256, 0, 0, 0.18);
 }

 .menu-image {
     position: relative;
     overflow: hidden;
 }

 .menu-image img {
     width: 100%;
     height: 240px;
     object-fit: cover;
     transition: transform 0.4s ease;
 }

 .menu-card:hover .menu-image img {
     transform: scale(1.07);
 }

 /* Crimson-deep gradient overlay on card images */
 .menu-image::before {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 55%;
     background: linear-gradient(to top, rgb(44 102 120) 0%,
             rgba(122, 16, 32, 0.50) 55%, transparent 100%);
     z-index: 1;
 }

 .menu-image h4 {
     position: absolute;
     z-index: 2;
     bottom: 14px;
     left: 0;
     color: var(--ivory);
     /* warm ivory on crimson gradient */
     text-align: center;
     width: 100%;
     font-size: 1rem;
     margin: 0;
     padding: 0 12px;
     text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
     letter-spacing: 0.02em;
 }

 .section-shopping {
     background: #e4d6c7;
     color: #364545
 }

 .marketplace-stats {
     background: rgb(73 36 36 / 79%);
     padding: 2.5rem;
 }

 .market-number {
    font-size: 20px;
    color: rgba(232, 213, 196, 0.8);
    line-height:1;
 }
 .market-number-text {
    font-size:0.65rem;
    letter-spacing:0.15em;
    color:#b07840;
    text-transform:uppercase;margin-top:0.3rem;
 }
 .marketplace-stats-2 {
     margin-top: 1rem;
     background: rgb(73 36 36 / 59%);
     padding: 2.5rem;
 }

 .stall-feature {
     font-size: 15px;
 }

 .stall-feature strong {
     color: rgb(73 36 36);
     font-weight: normal;
 }

 .section-zodiac {
     background: url('images/zodiacbg.jpg') center/cover no-repeat;
     padding: 3rem 0;
     border-top: 1px solid rgba(212, 160, 23, 0.15);
     border-bottom: 1px solid rgba(212, 160, 23, 0.15);
     position: relative;
     z-index: 0;
 }

 .section-zodiac:before {
     content: '';
     position: absolute;
     inset: 0;
     background: rgba(10, 18, 49, 0.4);
     z-index: -1;
 }

 /* Zodiac Tab Navigation */
 .zodiac-tabs {
     display: flex;
     justify-content: center;
     flex-wrap: wrap;
     margin-bottom: 25px;
 }

 .zodiac-tab-btn {
     border: none;
     color: maroon;
     padding: 0.8rem 2rem;
     cursor: pointer;
     font-size: 1rem;
     font-weight: 600;
     letter-spacing: 0.05em;
     transition: all 0.3s ease;
     border-radius: 19px;
     margin-bottom: 10px;
     background: rgb(0 0 0 / 10%);
     color: #f5be82;
     margin-right: 10px;

 }

 .zodiac-tab-btn.active {
     background: #3f6855;
     border: none;

 }

 .zodiac-tab-btn:hover {
     border-color: var(--gold-bright);
 }

 /* Tab Content */
 .zodiac-tab-content,
 .profession-tab-content {
     display: none;
 }

  @media (min-width: 768px) {
    .zodiac-tab-content,
     .profession-tab-content {
         height: 350px;
     }
     .hero-content {
        margin-left: 40%;
     }
    .event-container {
        width: 70%;
        margin: 0 auto;
    }
    .hero-tagline {
        /*margin-top: 10rem;*/
    }
     .menu-description {
        padding: 0 40px;
    }
 }

 .zodiac-tab-content.active,
 .profession-tab-content.active {
     display: block;
     animation: fadeIn 0.4s ease;
 }

 .amazing-text {
     display: block;
     font-size: 15px;
     margin: 15px 50px
 }

 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* Two-Column Wrapper */
 .zodiac-wrapper {
     display: flex;
     align-items: start;
     padding: 30px;
     border-radius: 20px;
     margin: 0 auto;
 }

 .profession-wrapper {
     display: flex;
     margin: 0 auto;
     padding: 30px 45px;
     border-radius: 20px;
 }

 .result-card {
     align-items: start;
     margin: 0 auto;
     background: rgba(0, 0, 0, 0.1);
     padding: 0px;
     border-radius: 20px;
 }
 @media (min-width: 992px) {
    .result-card {
        width: 800px;
    }
 }

 .select-star-text {
     font-size: 15px;
     text-align: left;
 }

 .result-header {
     padding: 0;
 }

 .result-content {
     margin: 0 auto;
     padding: 0;
 }

 .result-footer {
     display: flex;
     justify-content: center;
     width: 100%;
     margin-top: 25px;
 }

 .result-image {
     display: block;
     border-top-left-radius: 25px;
     border-bottom-left-radius: 25px;
     box-shadow: 0 4px 12px rgba(212, 160, 23, 0.2);
 }

 .yagam-image {
     height: 250px;
 }

 .go-back-btn {
     background: rgb(73 36 36 / 69%);
     padding: 7px 17px;
     font-size: 15px;
     text-align: center;
     position: relative;
     border: none;
     border-radius: 5px;
     color: #f5f5dcd9;
     /* font-weight: 600; */
     margin: 10px auto;


 }

 .result-content p {
     font-size: 15px;
     background: rgba(0, 0, 0, 0.1);
     padding: 10px;
     border-radius: 13px;
     margin: 10px auto;
     width: 80%;
 }

 @media (max-width: 992px) {
     .zodiac-selection-wrapper {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }
 }

 .zodiac-column-left {
     flex: 1;
 }

 .zodiac-column-right {
     flex: 1;
 }

 /* Zodiac List */
 .zodiac-list {
     display: flex;
     margin-bottom: 3rem;
 }

 @media (max-width: 768px) {
     .zodiac-list {
         flex-direction: column;
     }
     .event-list {
        flex-direction: column;
        
     }
     .event-list-item {
        margin: 10px 0;
     }
 }

 .profession-item {
     border-radius: 8px;
     padding: 3px;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 1rem;
     margin-bottom: 10px;
     padding: 15px 20px;
     font-size: 15px;
     background: rgb(73 36 36 / 69%);
 }

 .profession-item:hover {
     transform: translateY(-3px);
     box-shadow: 0px 0px 5px rgb(175 133 23 / 76%);
 }

 .profession-item.selected {
     background: rgba(212, 160, 23, 0.15);
     border-color: var(--gold-light);
     box-shadow: 0 0 20px rgba(212, 160, 23, 0.25);
 }

 .profession-icon {
     width: 40px;
     min-width: 40px;
     height: 40px;
     background: rgba(212, 160, 23, 0.12);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 1px solid rgba(212, 160, 23, 0.3);
     font-size: 1.3rem;
     color: var(--gold-bright);
 }

 .profession-info h6 {
     color: var(--gold-light);
     margin: 0;
     font-weight: 600;
     letter-spacing: 0.05em;
     font-size: 0.85rem;
 }


 .zodiac-item {
     border-radius: 8px;
     padding: 3px;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     gap: 1rem;
     margin-bottom: 10px;
     padding: 3px 20px;
     background: rgb(73 36 36 / 69%);

 }

 .zodiac-item:hover {
     transform: translateY(-3px);
     box-shadow: 0px 0px 5px rgb(175 133 23 / 76%);
 }

 .zodiac-item.selected {
     background: #3f6855;
     border-color: var(--gold-light);
     box-shadow: 0 0 20px rgba(212, 160, 23, 0.25);
 }

 .zodiac-icon {
     width: 30px;
     min-width: 30px;
     height: 30px;
     background: rgba(212, 160, 23, 0.12);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 1px solid rgba(212, 160, 23, 0.3);
     font-size: 15px;
 }

 .zodiac-info h6 {
     color: var(--gold-light);
     margin: 0 0 0.2rem 0;
     font-weight: 600;
     letter-spacing: 0.05em;
     font-size: 0.85rem;
 }

 .zodiac-info p {
     color: rgba(232, 213, 196, 0.8);
     margin: 0;
     font-size: 15px;
 }

 /* Stars/Professions Selection */
 .stars-section {
     background: rgba(212, 160, 23, 0.05);
     border: 1px solid rgba(212, 160, 23, 0.2);
     border-radius: 8px;
     padding: 2rem;
     margin-bottom: 2rem;
 }

 .stars-section h5 {
     color: var(--gold-light);
     margin-bottom: 1.5rem;
     font-weight: 600;
     letter-spacing: 0.05em;
 }

 .stars-grid {
     display: grid;
     gap: 0.8rem;
 }

 .star-option {
     display: flex;
     font-size: 13px;
     align-items: center;
     gap: 0.6rem;
     padding: 0.7rem 0.8rem;
     background: transparent;
     border: 1px solid rgba(212, 160, 23, 0.2);
     border-radius: 6px;
     cursor: pointer;
     transition: all 0.3s ease;
     margin-bottom: 5px;
 }

 .star-option:hover {
     background: rgba(212, 160, 23, 0.08);
     border-color: rgba(212, 160, 23, 0.4);
 }

 .star-option input[type="radio"] {
     cursor: pointer;
     accent-color: var(--gold-light);
 }

 .star-option label {
     cursor: pointer;
     margin: 0;
     color: rgba(232, 213, 196, 0.9);
     flex: 1;
     font-size: 0.8rem;
 }

 /* Results Section */
 .results-section {
     background: rgba(212, 160, 23, 0.08);
     border: 1px solid rgba(212, 160, 23, 0.25);
     border-radius: 8px;
     padding: 2rem;
     margin-top: 2rem;
 }

 .results-section h5 {
     color: var(--gold-light);
     margin-bottom: 1.5rem;
     font-weight: 600;
     letter-spacing: 0.05em;
 }

 .results-text {
     color: rgba(232, 213, 196, 0.9);
     line-height: 1.8;
     font-size: 0.95rem;
     margin: 0;
 }

 /* Profession Tab */
 .profession-list {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1rem;
 }

 @media (max-width: 768px) {
     .profession-list {
         grid-template-columns: 1fr;
     }
 }