@charset "UTF-8";
/* kristal-fishing.fr 3.0.0 — bleu profond du logo Kristal, sur Bootstrap 5 */

:root {
    --kf-blue: #0b2e63;
    --kf-blue-light: #1456b0;
    --kf-cyan: #00a0d6;
    --kf-grey: #f2f5f8;
    --kf-text: #22303d;
    --bs-font-sans-serif: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bs-primary: var(--kf-blue-light);
}

body { font-family: var(--bs-font-sans-serif); color: var(--kf-text); background: #fff; }
a { color: var(--kf-blue-light); }
a:hover { color: var(--kf-blue); }
h1, h2, h3, h4 { font-weight: 700; color: var(--kf-blue); }

.btn-primary {
    --bs-btn-bg: var(--kf-blue-light); --bs-btn-border-color: var(--kf-blue-light);
    --bs-btn-hover-bg: var(--kf-blue); --bs-btn-hover-border-color: var(--kf-blue);
}
.btn-outline-primary { --bs-btn-color: var(--kf-blue-light); --bs-btn-border-color: var(--kf-blue-light); --bs-btn-hover-bg: var(--kf-blue-light); }

/* ---------- En-tête ---------- */
#header { background: #fff; border-bottom: 1px solid #dde4ec; position: sticky; top: 0; z-index: 100; }
#header .navbar { padding: .25rem 0; }
#logo img { height: 58px; width: auto; }
#header .nav-link { color: var(--kf-blue); font-weight: 600; padding: .8rem 1rem; }
#header .nav-link:hover, #header .nav-link.active { color: var(--kf-cyan); }
#header .dropdown-menu { border: 0; border-top: 3px solid var(--kf-cyan); box-shadow: 0 10px 24px rgba(11, 46, 99, .15); min-width: 17rem; }
#header .dropdown-item { padding: .55rem 1.1rem; }
#header .dropdown-item:hover { background: var(--kf-grey); color: var(--kf-blue); }

/* ---------- Accroche ---------- */
#hero { background: linear-gradient(135deg, var(--kf-blue) 0%, var(--kf-blue-light) 60%, var(--kf-cyan) 100%); color: #fff; }
#hero h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.8rem); }
#hero .lead { opacity: .9; }

/* ---------- Fil d'Ariane ---------- */
#breadcrumb { background: var(--kf-grey); padding: .5rem 0; font-size: .9rem; }
#breadcrumb a { color: var(--kf-blue); text-decoration: none; }

/* ---------- Titres ---------- */
.section-title, .page-header h1 { display: inline-block; padding-bottom: .3rem; border-bottom: 3px solid var(--kf-cyan); margin-bottom: 1.2rem; }

/* ---------- Cartes ---------- */
.card { border: 1px solid #e4eaf1; transition: box-shadow .2s ease, border-color .2s ease; }
.card:hover { border-color: var(--kf-cyan); box-shadow: 0 6px 18px rgba(11, 46, 99, .08); }
.card-img-top { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; padding: .75rem; }
.card .price { color: var(--kf-blue); font-weight: 700; }

/* ---------- Fiche produit ---------- */
#product h1 { font-size: 1.6rem; }
#product .models thead th { background: var(--kf-blue); color: #fff; font-weight: 600; }
#product .models .promo { color: #c1121f; }
#product .specs th { color: #5b6b7b; }
#product .description { line-height: 1.7; }
#product .description p:last-child { margin-bottom: 0; }

/* ---------- Pages de contenu ---------- */
#content-page .texte { line-height: 1.7; }

/* ---------- Pied de page ---------- */
#footer { padding: 2.5rem 0; background: var(--kf-blue); color: #fff; }
#footer a, #footer .nav-link { color: #bfe3f5; }
#footer a:hover, #footer .nav-link:hover { color: #fff; }
