/* Prépa Nautic – Bateaux (front). Couleurs : Bateaux → Réglages. */
.pnb-liste-bateaux,.pnb-fiche,.pnb-modal,.pnb-lb,.pnb-galerie,.pnb-photo{--pnb-txt:#45464b;--pnb-line:#e6dcc4;box-sizing:border-box}
.pnb-liste-bateaux *,.pnb-fiche *,.pnb-modal *,.pnb-lb *{box-sizing:border-box}

/* Boutons */
.pnb-actions{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 0;padding:0}
a.pnb-btn{display:inline-block;background:var(--pnb-accent);color:var(--pnb-fonce);border:1px solid var(--pnb-accent);border-radius:3px;padding:15px 28px;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:filter .2s,background-color .2s,color .2s}
a.pnb-btn:hover,a.pnb-btn:focus-visible{filter:brightness(.92);color:var(--pnb-fonce)}
a.pnb-btn--ghost{background:transparent;color:inherit}
a.pnb-btn--ghost:hover{background:var(--pnb-accent);color:var(--pnb-fonce);filter:none}

/* Surtitre & badges */
.pnb-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px!important;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pnb-fonce);margin:0 0 12px!important;padding:0!important}
.pnb-kicker:before{content:"";width:22px;height:3px;background:var(--pnb-accent);flex:none}
.pnb-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1;padding:7px 10px;border-radius:2px;background:var(--pnb-accent);color:var(--pnb-fonce)}
.pnb-badge--vendu{background:var(--pnb-fonce);color:#fff}

/* Photo principale & galerie */
.pnb-photo{margin:0!important;padding:0!important}
.pnb-photo a,.pnb-galerie a{display:block!important;line-height:0;cursor:zoom-in;text-decoration:none;border:0}
/* Images dans le flux normal : aucune dépendance au positionnement, compatible lazy-load et thèmes. */
.pnb-photo img,.pnb-galerie img,.pnb-card__media img{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;margin:0!important;padding:0!important;opacity:1;visibility:visible!important;box-shadow:none!important}
.pnb-photo img{border:2px solid var(--pnb-accent)!important;border-radius:4px!important}
.pnb-galerie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pnb-galerie img{border:0!important;border-radius:4px!important;transition:opacity .2s}
.pnb-galerie a:hover img{opacity:.82}
@media (max-width:767px){.pnb-galerie{gap:8px}.pnb-galerie img{border-radius:3px!important}}

/* Visionneuse */
.pnb-lb{position:fixed;inset:0;z-index:999999;background:rgba(14,15,17,.95);display:flex;align-items:center;justify-content:center}
.pnb-lb[hidden]{display:none}
.pnb-lb img{max-width:92vw;max-height:86vh;object-fit:contain;display:block}
.pnb-lb__count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;letter-spacing:.1em}
.pnb-lb button,.pnb-modal__close{position:absolute;background:none!important;border:0!important;box-shadow:none!important;outline-offset:2px;color:#fff;cursor:pointer;line-height:1!important;padding:12px!important;min-height:0!important;width:auto!important;font-family:inherit;text-transform:none!important;letter-spacing:0!important}
.pnb-lb button:focus:not(:focus-visible),.pnb-modal__close:focus:not(:focus-visible){outline:none!important}
.pnb-lb__close{top:12px;right:16px;font-size:40px}
.pnb-lb__prev,.pnb-lb__next{top:50%;transform:translateY(-50%);font-size:46px}
.pnb-lb__prev{left:8px}.pnb-lb__next{right:8px}
.pnb-lb button:hover{color:var(--pnb-accent)}

/* Liste */
.pnb-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 28px;padding:0 0 16px;border-bottom:1px solid var(--pnb-line)}
.pnb-count{margin:0!important;padding:0!important;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pnb-fonce)}
.pnb-sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--pnb-txt);margin:0}
.pnb-sort select{font:inherit;color:var(--pnb-fonce);background:#fff;border:1px solid var(--pnb-line);border-radius:3px;padding:8px 32px 8px 12px;cursor:pointer}
.pnb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:32px}
.pnb-card{margin:0;padding:0;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(38,39,43,.06),0 8px 24px rgba(38,39,43,.07);transition:transform .25s,box-shadow .25s}
.pnb-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(38,39,43,.06),0 18px 38px rgba(38,39,43,.13)}
a.pnb-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.pnb-card__media{position:relative;display:block;background:var(--pnb-fonce);overflow:hidden}
.pnb-card__noimg{display:block;width:100%;aspect-ratio:4/3}
.pnb-card__media img{border:0!important;border-radius:0!important;transition:transform .5s}
.pnb-card:hover .pnb-card__media img{transform:scale(1.04)}
.pnb-card__media .pnb-badge{position:absolute;top:14px;left:14px}
.pnb-card__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.pnb-card__kicker{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pnb-txt);margin-bottom:6px}
.pnb-card__title{font-size:23px;font-weight:800;line-height:1.2;color:var(--pnb-fonce)}
.pnb-card__meta{font-size:14px;color:var(--pnb-txt);margin-top:8px}
.pnb-card__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:20px}
.pnb-card__body .pnb-card__foot{border-top:1px solid var(--pnb-line);margin-top:20px}
.pnb-card__price strong{display:block;font-size:21px;font-weight:800;line-height:1.15;color:var(--pnb-fonce)}
.pnb-card__price small{display:block;font-size:13px;color:var(--pnb-txt);margin-top:3px}
.pnb-card__cta{flex:none;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pnb-fonce);padding-bottom:3px;border-bottom:2px solid var(--pnb-accent)}
.pnb-card--vendu .pnb-card__media img{filter:grayscale(1);opacity:.7}
.pnb-card--vendu .pnb-card__price strong{color:var(--pnb-txt)}
.pnb-vide{text-align:center;padding:48px 24px;background:#fff;border-radius:6px}
.pnb-vide .pnb-actions{justify-content:center}

/* Pop-up conditions */
.pnb-modal{position:fixed;inset:0;z-index:999998;display:flex;align-items:center;justify-content:center;padding:20px}
.pnb-modal[hidden]{display:none}
.pnb-modal__backdrop{position:absolute;inset:0;background:rgba(20,21,24,.72)}
.pnb-modal__box{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:var(--pnb-txt);border-radius:6px;border-top:4px solid var(--pnb-accent);padding:44px 44px 40px;box-shadow:0 30px 80px rgba(0,0,0,.35);font-size:16px;line-height:1.65}
.pnb-modal__box h2{font-size:28px;line-height:1.2;font-weight:800;color:var(--pnb-fonce);margin:0 0 14px;padding:0}
.pnb-modal__box p{margin:0 0 18px;padding:0}
.pnb-modal .pnb-modal__close{top:6px;right:10px;font-size:34px;color:var(--pnb-fonce)!important}
.pnb-modal .pnb-modal__close:hover{color:var(--pnb-txt)!important}
.pnb-grille{width:100%;border-collapse:collapse;margin:8px 0 22px;border:0;font-size:15px}
.pnb-grille th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pnb-txt);padding:0 0 10px;border:0;border-bottom:2px solid var(--pnb-fonce)}
.pnb-grille th:last-child,.pnb-grille td:last-child{text-align:right}
.pnb-grille td{padding:14px 0;border:0;border-bottom:1px solid var(--pnb-line);color:var(--pnb-fonce)}
.pnb-grille td:last-child{font-weight:800;white-space:nowrap;padding-left:16px}
.pnb-grille tr:nth-child(odd) td{background:none}
.pnb-modal__conclusion{font-weight:600;color:var(--pnb-fonce)}
body.pnb-noscroll{overflow:hidden}
@media (max-width:600px){.pnb-modal__box{padding:36px 22px 28px}.pnb-modal__box h2{font-size:23px}}

/* Fiche complète (secours, sans Theme Builder) */
.pnb-fiche{color:var(--pnb-txt);font-size:16px;line-height:1.7}
.pnb-fiche h1{font-size:clamp(30px,4vw,46px);line-height:1.1;font-weight:800;color:var(--pnb-fonce);margin:0 0 16px;padding:0}
.pnb-fiche h2{font-size:20px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pnb-fonce);margin:0 0 18px;padding:0 0 12px;position:relative}
.pnb-fiche h2:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:var(--pnb-accent)}
.pnb-fiche__head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-bottom:40px}
.pnb-fiche__prix{font-size:38px;font-weight:800;line-height:1.1;color:var(--pnb-fonce);margin:24px 0 6px;padding:20px 0 0;border-top:1px solid var(--pnb-line)}
.pnb-fiche__detail{font-size:15px;margin:0 0 18px}
.pnb-fiche .pnb-galerie{margin-bottom:56px}
.pnb-fiche__cols{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.pnb-bloc{margin-bottom:44px}
.pnb-bloc p,.pnb-fiche__intro p{margin:0 0 14px}
.pnb-fiche ul.pnb-liste{list-style:none;margin:0;padding:0}
.pnb-fiche ul.pnb-liste li{position:relative;padding:9px 0 9px 20px;border-bottom:1px solid var(--pnb-line)}
.pnb-fiche ul.pnb-liste li:before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--pnb-accent)}
@media (max-width:980px){.pnb-fiche__head,.pnb-fiche__cols{grid-template-columns:1fr;gap:32px}}

/* Bloc d'accueil : moins de 3 bateaux → cartes centrées sans étirement */
.pnb-accueil .pnb-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.pnb-accueil[data-count="1"] .pnb-cards{grid-template-columns:minmax(0,420px);justify-content:center}
.pnb-accueil[data-count="2"] .pnb-cards{grid-template-columns:repeat(2,minmax(0,420px));justify-content:center}
@media (max-width:980px){.pnb-accueil .pnb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pnb-accueil[data-count="1"] .pnb-cards{grid-template-columns:minmax(0,420px)}}
@media (max-width:640px){.pnb-accueil .pnb-cards,.pnb-accueil[data-count] .pnb-cards{grid-template-columns:minmax(0,1fr)}}
