/* ==========================================================================
   PAGE TAXONOMIE « TYPE DE BATEAU » — présentation par séries
   Chargée uniquement sur les archives de la taxonomie type-de-bateau.
   Scopée sous .ogs : n'affecte aucune autre page.
   ========================================================================== */

.ogs {
    --ogs-bleu:  #192441;
    --ogs-rouge: #CC2C1F;
    --ogs-champ: #F6E9CC;
    --ogs-blanc: #FBFAF2;
    --ogs-gris:  #6F6F6F;

    --ogs-display: "ratiomodern", Georgia, serif;
    --ogs-text: 'Euclid Circular A', sans-serif;
}

/* La bande sombre décorative du template d'origine n'a plus lieu d'être
   dans les blocs de série, qui ont chacun leur propre fond.
   Ailleurs (terme sans séries, ex. « one-off »), on n'y touche pas. */
.ogs .ogs-serie .yachts1::after { display: none; }

/* --- Primitives ---------------------------------------------------------- */

.ogs .ogs-eyebrow {
    font-family: var(--ogs-text);
    font-size: 12px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--ogs-rouge);
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.ogs .ogs-eyebrow::before {
    content: "";
    width: 40px;
    height: 1px;
    background: currentColor;
    flex: none;
}
.ogs .ogs-eyebrow.is-centered { justify-content: center; }

.ogs .ogs-display {
    font-family: var(--ogs-display);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.015em;
    color: var(--ogs-bleu);
    margin: 0 0 20px;
    text-wrap: balance;
}
.ogs .ogs-d1 { font-size: clamp(2rem, 4.2vw, 3.2rem); }
.ogs .ogs-d2 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); }

.ogs .ogs-body {
    font-family: var(--ogs-text);
    font-size: 1rem;
    line-height: 1.85;
    color: var(--ogs-bleu);
    opacity: .78;
}
.ogs .ogs-body p:last-child { margin-bottom: 0; }

.ogs .ogs-rule {
    height: 1px;
    background: rgba(25, 36, 65, .12);
    position: relative;
    margin: 30px 0;
}
.ogs .ogs-rule::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 64px;
    height: 1px;
    background: var(--ogs-rouge);
}
.ogs .ogs-rule.is-centered::before { left: 50%; transform: translateX(-50%); }

/* --- Chapô --------------------------------------------------------------- */

.ogs .ogs-intro {
    background: var(--ogs-blanc);
    padding: clamp(60px, 7vw, 100px) 0 clamp(40px, 5vw, 64px);
    text-align: center;
}
.ogs .ogs-intro .ogs-body {
    max-width: 68ch;
    margin-left: auto;
    margin-right: auto;
}

/* --- Bloc de série ------------------------------------------------------- */

.ogs .ogs-serie {
    padding: clamp(56px, 6.5vw, 96px) 0;
    background: var(--ogs-blanc);
}
/* Fond uniforme : un filet suffit à séparer deux séries consécutives. */
.ogs .ogs-serie + .ogs-serie { border-top: 1px solid rgba(25, 36, 65, .10); }

.ogs .ogs-serie__head { margin-bottom: clamp(36px, 4vw, 56px); }

.ogs .ogs-serie__num {
    font-family: var(--ogs-display);
    font-size: 13px;
    letter-spacing: .2em;
    color: var(--ogs-rouge);
    margin-bottom: 14px;
}
.ogs .ogs-serie__titre {
    font-family: var(--ogs-display);
    font-weight: 500;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    line-height: 1.06;
    letter-spacing: -.015em;
    color: var(--ogs-bleu);
    margin: 0 0 10px;
}
.ogs .ogs-serie__sous-titre {
    font-family: var(--ogs-text);
    font-size: clamp(.95rem, 1.3vw, 1.12rem);
    line-height: 1.5;
    color: var(--ogs-rouge);
    margin: 0;
}

/* Le compteur de bateaux, aligné à droite du titre */
.ogs .ogs-serie__count {
    font-family: var(--ogs-text);
    font-size: 11.5px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ogs-gris);
    border: 1px solid rgba(25, 36, 65, .15);
    border-radius: 80px;
    padding: 7px 16px;
    display: inline-block;
    white-space: nowrap;
}

/* --- Grille de bateaux --------------------------------------------------- */

/* Surcharges de carte volontairement limitées à la nouvelle grille :
   la même feuille est chargée sur tous les termes de la taxonomie, et les
   termes sans séries doivent garder leur affichage d'origine intact. */
.ogs .ogs-grid .item .wrapper {
    box-shadow: 0 10px 30px rgba(25, 36, 65, .07);
}
.ogs .ogs-grid .item {
    height: 100%;
    margin-bottom: 0;
}

.ogs .ogs-grid {
    --ogs-gap: clamp(24px, 3vw, 44px);
    display: grid;
    gap: var(--ogs-gap);
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}
/* Deux bateaux : on force deux colonnes pour des visuels généreux. */
.ogs .ogs-grid--2 { grid-template-columns: repeat(2, 1fr); }

.ogs .ogs-grid .item .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* Les cartes sont plus larges ici (2 par ligne au lieu de 3) : une
   caractéristique par ligne évite les coupures en milieu de valeur
   (« 1 x 135 cv - / Nanni »). */
.ogs .ogs-grid .item .wrapper .details span {
    display: block;
    margin-right: 0;
    margin-bottom: 6px;
}
.ogs .ogs-grid .item .wrapper .details span:last-child { margin-bottom: 0; }

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 991px) {
    .ogs .ogs-grid,
    .ogs .ogs-grid--2 { grid-template-columns: 1fr; }
    .ogs .ogs-serie__count { margin-top: 14px; }
}

@media (max-width: 575px) {
    .ogs .ogs-grid .item .wrapper {
        padding: 22px;
        margin-left: 14px;
        margin-right: 14px;
        margin-top: -40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ogs *, .ogs *::before, .ogs *::after {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
    }
}
