
/* EB Garamond — body font */
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/eb-garamond-latin-400-normal.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/eb-garamond-latin-500-normal.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/eb-garamond-latin-700-normal.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Libre Baskerville — title font */
@font-face {
    font-family: 'Libre Baskerville';
    src: url('../fonts/libre-baskerville-latin-400-normal.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Libre Baskerville';
    src: url('../fonts/libre-baskerville-latin-400-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Libre Baskerville';
    src: url('../fonts/libre-baskerville-latin-700-normal.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'EB Garamond', serif;
    background:#F6F6F6;
}
.font-title {
    font-family: 'Libre Baskerville', serif;
}
.btn {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    text-transform:uppercase;
    font-weight: bold;
    cursor: pointer;
}

/* Cursor pointer for all buttons */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"] {
    cursor: pointer;
}

/* Hide number input spinners for elements with .no-spinner */
.no-spinner::-webkit-outer-spin-button,
.no-spinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.no-spinner {
    appearance: textfield;
    -moz-appearance: textfield; /* Firefox */
}

/* Zoom transition and lightbox styles */
.zoom-transition {
    transition: transform 220ms ease-out;
}
#lightbox {
    display: flex;
}
#lightbox.hidden {
    display: none;
}
#lightbox img {
    transition: transform 120ms ease-out;
    touch-action: none;
}

/* Lightbox thumbnails */
.lb-thumb { background: white; }
.lb-thumb img { display: block; }
.lb-thumb { border-color: rgba(0,0,0,0.8); }

/* Spinner for progressive loading */
.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0,0,0,0.08);
    border-top-color: rgba(0,0,0,0.72);
    border-radius: 9999px;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}