body {
    font-family: "Nunito", sans-serif;
    font-size:1em;
    margin: 3S0px;
    color: #222;
    background-color: #c3d8f9;  
}

.titleCard {
    max-width: 800px;          /* controls the card width */
    margin: 30px auto;         /* centres it */
    background: #e6e7f8;     
    padding: 30px;             /* breathing room */
    border-radius: 12px;       /* soft corners */
    box-shadow: 0 4px 20px rgba(0,0,0,0.1); /* gentle boutique shadow */
}

.titleCard {
    position: relative; /* enables absolute positioning inside */
}

.hbLogo {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;          /* adjust size as needed */
    opacity: 0.85;        /* soft boutique feel */
    pointer-events: none; /* prevents accidental clicks */
}


.genreBar {
    height: 12px;
    background: {{GENRE_COLOUR}};
    margin-bottom: 20px;
}

header {
    margin-bottom: 30px;
}

.bookTitle {
    font-size: 32px;
    margin: 0;
}

.bookAuthor {
    font-size: 20px;
    margin: 5px 0 0 0;
    color: #555;
}

main {
    display: flex;
    gap: 30px;
}

.leftColumn {
    width: 35%;
}

.coverImage {
    max-width: 250px;     /* or 250px, whatever feels right */
    width:225px;
    height: auto;
    display: block;
    margin-left: 0px;    /* centres it nicely */
    border-radius: 4px;   /* optional: softens the corners */
    border: 1px solid #ccc;
    margin-bottom:10px;
  }

.metaTable {
      font-size:0.9em;
}

.metaTable td:first-child { 
    font-weight: bold;
    width: 120px;
}

.rightColumn {
    width: 60%;
}

h3 {
    margin-top: 0px;
    padding-top:5px;
    font-size: 16px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
}

footer {
    margin-top: 40px;
    font-size: 14px;
    color: #666;
    text-align: center;
}
