@font-face {
    font-family: CormorantGaramondSemiBold;
    src: url("CormorantGaramond-SemiBold.ttf");
}

@font-face {
    font-family: CormorantGaramondMedium;
    src: url("CormorantGaramond-Medium.ttf");
}

@font-face {
    font-family: LatoRegular;
    src: url("Lato-Regular.ttf");
}

@font-face {
    font-family: LatoBold;
    src: url("Lato-Bold.ttf");
}

@font-face {
    font-family: BonaNovaRegular;
    src: url("BonaNova-Regular.ttf");
}

:root {
    --bg: #0D0B1A;
    --indigo: #1B1325;
    --gold: #F4C95D;
    --silver: #D9D9D9;
    --amethyst: #bd8dff;
    --blueSilver: rgb(139, 104, 255);
    --card: #141024;
    --shadow: 0 10px 30px rgba(0, 0, 0, .5);
    --glow: 0 0 15px rgba(244, 201, 93, .5);
    --blueSilverGlow: 0 0 15px rgba(191, 198, 255, 0.502);
}

body {
    margin: 0;
}

button {
    margin: 0px;
}

h5 {
    font-family: CormorantGaramondSemiBold;
    font-size: 1.7vw;
    margin: 0px;
}

h4 {
    font-family: CormorantGaramondSemiBold;
    font-size: 1.9vw;
    margin: 0px;
}

h2 {
    font-family: CormorantGaramondSemiBold;
    font-size: 1.6vw;
    margin: 0px;
    color: var(--gold);
    text-shadow: var(--glow);
    text-align: center;
}

h1 {
    font-family: CormorantGaramondSemiBold;
    font-size: 3vw;
    margin: 0px;
}

p {
    font-family: LatoRegular;
    font-size: 1.2vw;
    margin: 0px;
}

body {
    margin: 0;
    background: linear-gradient(180deg, var(--indigo), var(--bg));
    color: var(--silver);
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    background: rgba(13, 11, 26, 0.85);
    position: sticky;
    top: 0;
    z-index: 100;
}

header .logo {
    font-family: 'Cinzel', serif;
    font-size: 1.7vw;
    color: var(--gold);
}

nav ul {
    list-style: none;
    display: flex;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
}

nav a {
    text-decoration: none;
    color: var(--amethyst);
    font-family: LatoRegular;
    font-size: 20px;
    transition: color 0.15s ease;
}

.closed-book-a {
    margin-right: 2.2vw;
}

.closed-book {
    position: absolute;
    font-size: 40px;
    top: -0.1vw;
}

nav a:hover {
    color: var(--blueSilver);
    text-shadow: var(--blueSilverGlow);
}

.hero {
    position: relative;
    text-align: center;
    padding: 3.3vw 5vw;
    background-image: url("https://www.transparenttextures.com/patterns/xv.png");
    height: 30vw;
}

.hero-title {
    position: relative;
    font-size: 3vw;
    color: var(--gold);
    text-shadow: var(--glow);
}

.daily-transits {
    position: relative;
    display: flex;
    margin-top: 2vw;
    width: 100%;
    height: 22vw;
}

.daily-bazi-transit {
    position: relative;
    display: flex;
    gap: 1.5vw;
    width: 34%;
    height: 100%;
    box-sizing: border-box;
    padding: 1.3vw;
    border-right: 0.5px solid #9a8f3d;
}

.bazi-table {
    position: relative;
    width: 60%;
    height: 100%;
    border-collapse: collapse;
    font-family: 'Cinzel', serif;
    color: var(--gold);
    background-color: var(--card);
}

.bazi-table th {
    border: 1px solid var(--gold);
    padding: 0.2vw;
    text-align: center;
    min-width: 6vw;
    font-size: 0.2vw;
}

.bazi-table td {
    gap: 0.5vw;
    border: 1px solid var(--gold);
    padding: 0.2vw;
    text-align: center;
    font-size: 1.3vw;
}

.bazi-header {
    background: var(--card);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--gold);
}

.bazi-interpretation {
    position: relative;
    width: 40%;
    height: 100%;
}

.bazi-interpretation p {
    text-align: left;
}

.daily-sanskrit-text {
    position: relative;
    box-sizing: border-box;
    padding: 1.3vw;
    width: 20%;
    height: 100%;
    border-right: 0.5px solid #9a8f3d;
}

.sanskrit-text{
    color: var(--gold);
    font-family: BonaNovaRegular;
}

.sankrit-text-translation-viewport {
    width: 100%;
    overflow-x: scroll;
}

.sankrit-text-translation-viewport::-webkit-scrollbar {
    height: 7px;
}

.sankrit-text-translation-viewport::-webkit-scrollbar-track {
    background: #1a1a1a00;
}

.sankrit-text-translation-viewport::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 3.5px;
}

.sankrit-text-translation-viewport::-webkit-scrollbar-thumb:hover {
    background: rgb(174, 148, 0);
}

.sankrit-text-translation {
    position: relative;
    width: 100%;
    border: 1px solid white;
    box-sizing: border-box;
    text-align: center;
    min-width: 4vw;
    border-collapse: collapse;
    background-color: var(--card);
}

.sankrit-text-translation td {
    border: 1px solid white;
    padding: 0.7vw;
    text-align: center;
}

.sankrit-text-translation td p {
    font-size: 0.9vw;
}

.daily-tarot-card {
    position: relative;
    box-sizing: border-box;
    padding: 1.3vw;
    width: 26%;
    height: 100%;
    border-right: 0.5px solid #9a8f3d;
}

.daily-spells{
    position: relative;
    box-sizing: border-box;
    padding: 1.3vw;
    width: 20%;
    height: 100%;
}

.ingredients {
    text-align: left;
    color: var(--gold);
}

.spell-jar-image {
    position: relative;
    height: 10vw;
    width: auto;
}

.events {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.background-image-casing-div {
    position: relative;
    width: 100%;
    
}

.background-image {
    position: absolute;
    top: 0;
    width: 100%;
    height: auto;
    z-index: -1;
}


.event-content-and-title {
    position: relative;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 5vw 0vw;
    font-size: 3vw;
}

.event-title {
    text-align: center;
    color: rgb(71, 32, 10);
}

#real-title{
    font-size: 5vw;
}

.event-content{
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
}

.event-content-left{
    position: relative;
    width: 40%;
    height: auto;
}

.event-description-card {
    position: relative;
    width: 100%;
    background-color: #855828;
    background-image: url("https://www.transparenttextures.com/patterns/exclusive-paper.png");
    box-sizing: border-box;
    padding: 2vw 0vw 2vw 7vw;
}

.event-description {
    position: relative;
    width: 100%;
    color: rgb(38, 8, 0);
    font-size: 2vw;
    box-sizing: border-box;
    padding: 1vw;
    border-style: solid;
    border-color: darkred;
    border-width: 0vw 0vw 0vw 0.5vw;
}

.mabon-witch-sticker {
    position: absolute;
    left: 20vw;
    width: 40%;
    height: auto;
    transform: rotate(13deg);
}

.event-content-right{
    position: relative;
    box-sizing: border-box;
    padding: 4.5vw;
    width: 60%;
    padding: 4vw 7vw 4vw 4vw;
}

.event-astrology {
    position: relative;
    width: 100%;
    font-size: 2vw;
}

.event-astrology h4 {
    color: rgb(38, 8, 0);
    text-align: center;
    text-shadow: none;
}

.event-astrology p {
    font-family: LatoRegular;
    color: rgb(38, 8, 0);
}

.event-astrology table {
    width: 100%;
    border-collapse: collapse;
    background-color: rgb(164, 92, 92);
    background-image: url("https://www.transparenttextures.com/patterns/knitted-sweater.png");
}

.event-astrology td {
    padding: 0.5vw;
    text-align: center;
    border: 2px solid rgb(38, 8, 0);
    width: 33%;
}

.event-spells{
    position: relative;
    display: flex;
    justify-content: center;
    gap: 1vw;
}

.event-spells-inner {
    position: relative;
    box-sizing: border-box;
    padding: 1.4vw;
    width: 50%;
}

.event-spells-inner h4 {
    color: rgb(71, 32, 10);
    text-align: center;
}

footer {
    text-align: center;
    padding: 2rem;
    background: rgb(32, 25, 57);
}

footer p {
    margin: 0.5rem 0;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 1rem 0;
}

.social-icons a {
    color: var(--gold);
    text-decoration: none;
    font-size: 1.5rem;
    transition: text-shadow 0.3s ease;
}

.social-icons a:hover {
    text-shadow: var(--glow);
}

.teachings {
    position: relative;
    display: flex;
    gap: 2.3vw;
    padding: 3vw;

}

.main-div {
    position: relative;
    width: 25%;
    height: auto;
    box-sizing: border-box;
    padding: 1.2vw;
    border-style: solid;
    border-width: 0.1vw;
    border-color: #9a8f3d;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.main-div-image {
    position: relative;
    width: 100%;
    height: auto;
}

#astrology-div {
    background-image: url("https://www.transparenttextures.com/patterns/asfalt-light.png");
}

#ancient-text-div {
    background-image: url("https://www.transparenttextures.com/patterns/bright-squares.png");
}

#tarot-oracle-div {
    background-image: url("https://www.transparenttextures.com/patterns/brushed-alum-dark.png");
}

#witchcraft-div {
    background-image: url("https://www.transparenttextures.com/patterns/snow.png");
}

.buttons {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8vw;
}

button {
    position: relative;
    padding: 0.4vw 0.9vw;
    border: 0.15vw solid var(--gold);
    background-color: transparent;
    color: var(--gold);
    text-decoration: none;
    font-size: 1.2vw;
    font-family: LatoRegular;
    border-radius: 0.5vw;
    transition: background 0.3s ease, color 0.3s ease;
}

button:hover {
    background-color: var(--gold);
    color: var(--bg);
    box-shadow: var(--glow);
}