:root {
--jts-edition: "13ème édition";
--jts-hero-bg: url(//concoursjts.fr/wp-content/themes/jts/assets/img/vagues.jpg);
--jts-band-bg: linear-gradient(135deg, #b3121b 0%, #6a0505 55%, #d9b45a 130%);
--jts-glow: rgba(240, 213, 138, 0.35);
} html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.jts-eyebrow {
font-family: var(--wp--preset--font-family--bricolage-grotesque);
text-transform: uppercase;
letter-spacing: 0.18em;
font-size: 0.8125rem;
font-weight: 600;
color: var(--wp--preset--color--accent-1);
margin: 0 0 0.75rem;
}
.jts-eyebrow::before,
.jts-eyebrow::after { content: "\2726"; margin: 0 0.6em; font-size: 0.9em; }
h1, h2, h3, h4 {
font-family: var(--wp--preset--font-family--josefin-sans);
text-transform: uppercase;
letter-spacing: 0.06em;
} .jts-header {
border-bottom: 1px solid rgba(240, 213, 138, 0.28);
position: sticky;
top: 0;
z-index: 50;
backdrop-filter: blur(6px);
}
.jts-header .wp-block-site-logo img { border-radius: 50%; box-shadow: 0 0 0 2px rgba(240, 213, 138, 0.55); }
.jts-header .wp-block-navigation a { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.8125rem; font-weight: 600; }
.jts-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent-1); text-decoration: none; } .wp-block-button .wp-block-button__link,
.wp-element-button {
border-radius: 9999px;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: 700;
font-size: 0.875rem;
transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 8px 24px var(--jts-glow); }
.wp-block-button.is-style-outline .wp-block-button__link {
background: transparent;
color: var(--wp--preset--color--accent-1);
border: 2px solid var(--wp--preset--color--accent-1);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
background: var(--wp--preset--color--accent-1);
color: var(--wp--preset--color--base);
} .jts-hero {
background-image: linear-gradient(180deg, rgba(36, 3, 3, 0.45), rgba(59, 5, 5, 0.85)), var(--jts-hero-bg);
background-size: cover;
background-position: center;
position: relative;
}
.jts-hero .jts-poster img {
border-radius: 6px;
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(240, 213, 138, 0.5);
}
.jts-hero h1 { text-shadow: 0 2px 30px rgba(0, 0, 0, 0.5); }
.jts-edition-badge {
display: inline-block;
border: 1px solid var(--wp--preset--color--accent-1);
color: var(--wp--preset--color--accent-1);
border-radius: 9999px;
padding: 0.35rem 1rem;
font-size: 0.8125rem;
letter-spacing: 0.16em;
text-transform: uppercase;
font-weight: 700;
} .jts-page-banner {
background-image: linear-gradient(180deg, rgba(36, 3, 3, 0.5), rgba(59, 5, 5, 0.9)), var(--jts-hero-bg);
background-size: cover;
background-position: center;
text-align: center;
} .jts-card {
background: var(--wp--preset--color--accent-6);
border: 1px solid rgba(240, 213, 138, 0.28);
border-radius: 20px;
padding: var(--wp--preset--spacing--40);
height: 100%;
}
.jts-card h3 { color: var(--wp--preset--color--accent-1); margin-top: 0; }
.jts-band {
background: var(--jts-band-bg);
border-radius: 20px;
}
.jts-date-big {
font-family: var(--wp--preset--font-family--josefin-sans);
font-size: clamp(1.9rem, 3.6vw, 3.25rem);
text-transform: uppercase;
overflow-wrap: normal;
word-break: normal;
hyphens: none;
line-height: 1;
letter-spacing: 0.04em;
color: var(--wp--preset--color--accent-5);
margin: 0;
}
.jts-styles { list-style: none; padding: 0; margin: 0; }
.jts-styles li {
font-family: var(--wp--preset--font-family--josefin-sans);
text-transform: uppercase;
letter-spacing: 0.1em;
font-size: 1.25rem;
padding: 0.6rem 0;
border-bottom: 1px solid rgba(240, 213, 138, 0.22);
}
.jts-styles li::before { content: "\2726"; color: var(--wp--preset--color--accent-1); margin-right: 0.75em; }
.jts-todo { opacity: 0.75; font-style: italic; } .jts-footer a { color: var(--wp--preset--color--accent-1); }
.jts-footer a:hover { color: var(--wp--preset--color--accent-5); }
.jts-footer .jts-byline { font-size: 0.8125rem; letter-spacing: 0.08em; opacity: 0.85; }
.wp-block-image img, .wp-block-cover { border-radius: 12px; }
.jts-map iframe { width: 100%; min-height: 380px; border: 0; border-radius: 20px; } .jts-header { flex-wrap: wrap; gap: 0.5rem 1rem; }
.jts-header .wp-block-image { flex: 0 0 auto; margin: 0; }
.jts-header .wp-block-image img { width: 52px; height: 52px; min-width: 52px; object-fit: cover; }
.jts-header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 781px) {
.jts-header { position: static; flex-wrap: nowrap; padding-top: 0.5rem; padding-bottom: 0.5rem; }
.jts-header .wp-block-site-title { display: none; }
.jts-header .wp-block-image img { width: 44px; height: 44px; min-width: 44px; }
.jts-header-cta .wp-block-button__link { padding: 0.45rem 1rem; font-size: 0.75rem; }
}
@media (max-width: 1000px) {
.jts-header .wp-block-site-title { display: none; }
} .jts-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); padding-left: var(--wp--preset--spacing--50); padding-right: var(--wp--preset--spacing--50); }
.jts-section-tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); padding-left: var(--wp--preset--spacing--50); padding-right: var(--wp--preset--spacing--50); }
.jts-hero.jts-section { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.jts-page-banner.jts-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--60); }
.jts-band.jts-section-tight { padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.jts-header, .jts-footer { padding-left: var(--wp--preset--spacing--50); padding-right: var(--wp--preset--spacing--50); }
.jts-header { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.jts-footer { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--50); }
.jts-header-cta .wp-block-button__link { padding: 0.55rem 1.3rem; }
.jts-eyebrow-left::after { content: none; }
.jts-partner { border-top: 1px solid rgba(240, 213, 138, 0.28); padding-top: var(--wp--preset--spacing--50); }
.jts-partner img { background: #fff; padding: 12px; border-radius: 12px; } .jts-header .wp-block-navigation { --jts-nav-gap: 1.1rem; gap: var(--jts-nav-gap); }
.jts-header .wp-block-navigation__container { gap: var(--jts-nav-gap); flex-wrap: nowrap; }
.jts-header > .wp-block-group:last-child { flex-wrap: nowrap; gap: 1rem; }
.jts-header-nav-tight { margin: 0; } .jts-card h3:not(:first-child) { margin-top: 1.5rem; }
.jts-card p { margin-top: 0.4rem; } .jts-header .wp-block-navigation a { white-space: nowrap; }
@media (max-width: 1000px) {
.jts-header .wp-block-navigation a { font-size: 0.72rem; letter-spacing: 0.08em; }
.jts-header .wp-block-navigation { --jts-nav-gap: 0.8rem; }
.jts-header-cta .wp-block-button__link { padding: 0.45rem 1rem; font-size: 0.75rem; }
}
@media (min-width: 600px) and (max-width: 781px) {
.jts-header-cta { display: none; }
} .jts-card h3:not(:first-child) { margin-top: 1.75rem; }
.jts-card p { margin-top: 0.3rem; line-height: 1.6; }
.jts-card { container-type: inline-size; }
.jts-card a[href^="mailto:"] { overflow-wrap: normal; word-break: keep-all; }
@container (max-width: 350px) { .jts-card a[href^="mailto:"] { font-size: 0.9rem; } }
@media (min-width: 782px) {
.jts-card { padding: var(--wp--preset--spacing--50); }
} @media (min-width: 782px) {
.wp-block-column:has(> .jts-card) { flex-basis: 45% !important; }
.wp-block-column:has(> .jts-map), .wp-block-column:has(> .wp-block-html) { flex-basis: 55% !important; }
}