/* === NITECH NEGOCE — STYLES DE BASE ====================================== */

/* Reset raisonnable */
:root {
  --nn-primary: #0078b4;
  --nn-accent:  #0288d1;
  --nn-muted:   #5a6464;
  --nn-text:    #333;
  --nn-bg:      #fff;
  --nn-border:  #e6e6e6;
  --nn-shadow:  0 6px 24px rgba(0,0,0,.06);
  --nn-radius:  10px;
  --nn-wrap:    1200px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html, body { height: 100%; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--nn-text);
  background: var(--nn-bg);
}

/* Utilitaires */
.nn-container { max-width: var(--nn-wrap); margin: 0 auto; padding: 0 16px; }
.sr-only {
  position: absolute !important; width: 1px; height: 1px; margin: -1px;
  padding: 0; border: 0; clip: rect(0 0 0 0); overflow: hidden;
}
a { color: #0066cc; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* === HEADER =============================================================== */

/* STICKY */
.nn-header { position: sticky; top: 0; z-index: 1000; }

/* Topbar (conservée) */
.nn-topbar { background: #f8fbff; border-bottom: 1px solid var(--nn-border); }
.nn-topbar__list {
  list-style: none; margin: 0; padding: 6px 0;
  display: flex; gap: 12px; justify-content: flex-end; align-items: center;
}
.nn-topbar__link {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--nn-muted); text-decoration: none;
  font: 600 12px/1 "Open Sans", sans-serif;
  padding: 6px 8px;
}

/* Cart badge */
.nn-cart { position: relative; }
.nn-cart__badge {
  position: absolute; top: -6px; right: -8px;
  min-width: 1.2rem; height: 1.2rem; padding: 0 .25rem;
  border-radius: 999px; background: #ff5722; color: #fff;
  font: 700 11px/1.2 system-ui; display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 2px #fff;
}

/* Barre principale compacte */
.nn-nav {
  background: rgba(227,242,253,.85);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--nn-border);
}
.nn-nav__row {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 0;
  flex-wrap: nowrap;
}
.nn-logo img { height: 45px; }

/* Espaceur pour pousser les actions à droite */
.nn-flex-spacer { flex: 1 1 auto; }

/* Boutons icônes (mobile) */
.nn-iconbtn {
  display: none;
  background: transparent;
  border: 2px solid rgba(0,0,0,.1);
  border-radius: .35rem;
  padding: .35rem .5rem;
  cursor: pointer;
}

/* Menu */
.nn-burger {
  background: transparent; border: 2px solid rgba(0,0,0,.1);
  border-radius: .35rem; padding: .35rem .5rem; cursor: pointer;
}
.nn-menu { font-size: 1rem; }
.nn-menu--mobile { position: absolute; left: 0; right: 0; top: 100%; background: #666; }
.nn-menu--mobile[hidden] { display: none; }
.nn-menu--mobile a { color: #fff; display: block; padding: 12px 20px; text-decoration: none; }
.nn-menu--mobile li+li a { border-top: 1px solid rgba(255,255,255,.2); }

/* Desktop menu */
.nn-menu--desktop { display: none; }
.nn-menu--desktop ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1rem; }
.nn-menu--desktop a { color: var(--nn-accent); padding: .5rem; text-decoration: none; }

/* Recherche */
.nn-search { display: flex; gap: 4px; margin: 0; }
.nn-search input[type="search"] {
  flex: 1; padding: .6rem; border: 1px solid var(--nn-primary); border-radius: 4px 0 0 4px; min-width: 140px;
}
.nn-search__btn {
  background: var(--nn-primary); color: #fff; border: 1px solid var(--nn-primary);
  border-radius: 0 4px 4px 0; padding: .6rem .9rem;
}

/* Recherche inline (desktop) avec expansion au focus */
.nn-search--inline { flex: 0 1 520px; max-width: 520px; transition: max-width .25s ease; }
.nn-search--inline:focus-within { max-width: 820px; }

/* Desktop */
@media (min-width: 992px) {
  .nn-menu--desktop { display: block; }
  .nn-burger, .nn-menu--mobile, .nn-iconbtn { display: none !important; }
}

/* Mobile / Tablette */
@media (max-width: 991.98px){
  /* le menu desktop disparaît */
  .nn-menu--desktop { display: none !important; }

  /* recherche inline masquée pour gagner de la place */
  .nn-search--inline { display: none !important; }

  /* boutons icônes visibles à droite */
  .nn-iconbtn { display: inline-flex; }
  .nn-burger { display: inline-flex; }

  /* nav sur une seule ligne: logo | spacer | [loupe][burger] */
  .nn-nav__row { flex-wrap: nowrap; }
}

/* Recherche en haut du menu mobile */
.nn-menu--mobile .nn-search--mobile {
  padding: 12px; display: flex; gap: 6px; background: #555; border-bottom: 1px solid rgba(255,255,255,.15);
}
.nn-menu--mobile .nn-search--mobile input[type="search"]{
  border-color: #4da3d4; color: #111; background: #fff;
}
.nn-menu--mobile .nn-search--mobile .nn-search__btn{
  border-color: #0288d1; background: #0288d1;
}

/* === MAIN ============================================================== */
.nn-main { padding: 24px 0; }
.nn-main h1 {
  font-size: 2.2rem; font-weight: 700; color: #222; margin: 0 0 12px;
  border-bottom: 3px solid #0066cc; padding-bottom: 8px;
}

/* === FOOTER ============================================================ */
.nn-footer { background: #f7f7f7; color: #666; margin-top: 48px; padding: 24px 0; }
.nn-footer__grid { display: grid; grid-template-columns: 1fr; gap: 24px; margin-bottom: 16px; }
.nn-footer h2 { font-size: 1.1rem; margin: 0 0 .5rem; }
.nn-footer ul { list-style: none; margin: 0; padding: 0; }
.nn-footer li+li { margin-top: 6px; }
.nn-footer a { color: #333; }
.nn-footer a:hover { text-decoration: underline; }
.nn-copy { text-align: center; color: #999; font-size: .9rem; margin: 16px 0; }

@media (min-width: 768px) {
  .nn-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

/* === TEMPLATE CATALOGUE (colonne gauche + cartes) ====================== */
.nn-breadcrumb ol { list-style: none; margin: 0 0 8px; padding: 0; display: flex; gap: .5rem; flex-wrap: wrap; font-size: .9rem; }
.nn-breadcrumb a { color: #0066cc; }

.nn-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.nn-filters .nn-box { background: #fff; border: 1px solid var(--nn-border); border-radius: var(--nn-radius); padding: 16px; }
.nn-filters h3, .nn-filters h2 { margin: 0 0 8px; font-size: 1.05rem; }
.nn-list { list-style: none; margin: 0; padding: 0; }
.nn-list li+li { margin-top: 6px; }

.nn-results__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.nn-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nn-card { background: #fff; border: 1px solid #eee; border-radius: var(--nn-radius); padding: 12px; }
.nn-card__link { display: grid; grid-template-rows: auto auto 1fr; gap: 8px; color: inherit; text-decoration: none; }
.nn-card__img { width: 100%; height: 140px; object-fit: contain; }
.nn-card__title { font-size: .95rem; line-height: 1.3; }
.nn-card__price { font-weight: 700; }

.nn-pager { display: flex; gap: 8px; align-items: center; justify-content: center; margin: 20px 0; }
.nn-pager a { padding: .4rem .65rem; border: 1px solid #ddd; border-radius: 6px; text-decoration: none; }
.nn-pager a.is-active { background: var(--nn-primary); color: #fff; border-color: var(--nn-primary); }
.nn-pager a.disabled { pointer-events: none; opacity: .5; }

@media (min-width: 992px) {
  .nn-grid { grid-template-columns: 280px 1fr; align-items: start; }
  .nn-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Fil d’Ariane */
.nn-breadcrumb ol {
  list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: .9rem;
}
.nn-breadcrumb ol li { display: inline-flex; align-items: center; }
.nn-breadcrumb ol li + li::before { content: "›"; margin: 0 .35rem; color: #999; font-weight: 600; line-height: 1; }

/* Filtres actifs */
.nn-activefilter { margin:.5rem 0 1rem; font-size: .95rem; }
.nn-activefilter .nn-clear {
  display:inline-block; margin-left:.5rem; text-decoration:none; 
  border:1px solid #ddd; border-radius:12px; padding:0 .45rem; line-height:1.2;
}
.nn-activefilter .nn-clear:hover { background:#eee; }
.nn-filter--active > span { font-weight: 600; }
.nn-filter--active .nn-clear { margin-left:.35rem; text-decoration:none; border:1px solid #ddd; border-radius:12px; padding:0 .35rem; line-height:1.2; }
.nn-filter--active .nn-clear:hover { background:#eee; }

/* fiche produit */
.nn-prod{display:grid;gap:24px;margin:16px 0 24px}
.nn-prod__grid{display:flex;flex-direction:column;gap:24px}
.nn-prod__media img.nn-prod__img{max-width:100%;border:1px solid var(--nn-border);border-radius:10px;box-shadow:var(--nn-shadow)}
@media (min-width:769px){
  .nn-prod__grid{flex-direction:row;align-items:flex-start}
  .nn-prod__media{flex:1;max-width:45%}
  .nn-prod__info{flex:1;max-width:55%}
}
.nn-price{font-size:1.75rem;font-weight:800;margin:.25rem 0 1rem;color:#111}
.nn-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .6rem;border:1px solid #cfe9f7;border-radius:999px;background:#f8fdff;color:#0277bd}
.nn-badge a{color:inherit;text-decoration:none}
.nn-badge a:hover{text-decoration:underline}
.nn-meta{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:10px 0 0}
.nn-meta img{max-height:48px;height:auto}
.nn-stock-ok{color:#1b8a2e;font-weight:600}
.nn-stock-ko{color:#c62828;font-weight:600}
.nn-section{margin:36px 0 20px;font-size:1.35rem;font-weight:800;color:#0275d8}
.nn-docs{list-style:none;padding:0;margin:.5rem 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem .75rem}
.nn-docs a{display:inline-block;padding:.35rem .6rem;border:1px solid #cfe9f7;border-radius:9999px;background:#f8fdff;color:#0277bd;text-decoration:none}
.nn-docs a:hover{background:#e9f6ff;border-color:#b7def4}

/* Modale */
#nn-modal.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;justify-content:center;align-items:center;z-index:9999}
#nn-modal .modal-box{background:#fff;width:min(900px,95%);max-height:90vh;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);overflow:hidden;display:flex;flex-direction:column}
#nn-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;border-bottom:1px solid #eee}
#nn-modal .modal-body{padding:1rem;overflow:auto;min-height:0}
#nn-modal .modal-close{background:none;border:none;font-size:1.6rem;cursor:pointer}
#nn-modal table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem}
#nn-modal th,#nn-modal td{border:1px solid #eee;padding:.6rem .7rem}
#nn-modal th{background:#f4f6f8;text-align:left}
body.modal-open{overflow:hidden}

/* Prod 2 colonnes */
.nn-prod2{ display:grid; gap:24px; align-items:start; margin:16px 0 24px; grid-template-columns: 310px 1fr; }
@media (max-width: 992px){ .nn-prod2{ grid-template-columns: 1fr; } }
.nn-aside{ border:1px solid var(--nn-border); border-radius: var(--nn-radius); background:#fff; padding:16px; box-shadow: var(--nn-shadow); }
.nn-aside__state{ font-size:1.6rem; font-weight:800; margin:4px 0 12px; color:#1b8a2e; }
.nn-aside__price{ font-size:1.35rem; font-weight:800; margin:0 0 10px; }
.nn-aside__muted{ color:#666; font-size:.95rem; margin-top:8px; }
.nn-aside .b-cookie{ width:100%; }
.nn-content{ display:grid; gap:20px; }
.nn-content__top{ display:grid; gap:18px; grid-template-columns: minmax(260px, 520px) 1fr; }
@media (max-width: 992px){ .nn-content__top{ grid-template-columns: 1fr; } }
.nn-fig{ margin:0; }
.nn-fig img{ max-width:100%; border:1px solid var(--nn-border); border-radius:10px; box-shadow:var(--nn-shadow); }
.nn-figcap{ color:#888; font-size:.9rem; margin-top:.35rem; }
.nn-card{ border:1px solid var(--nn-border); border-radius: var(--nn-radius); background:#fff; box-shadow: var(--nn-shadow); }
.nn-card__head{ padding:10px 14px; border-bottom:1px solid var(--nn-border); font-weight:800; color:#0275d8; font-size:1.1rem; }
.nn-card__body{ padding:14px; }
.nn-content__top { grid-template-columns: minmax(280px, 520px) minmax(0, 1fr); }
.nn-content__top > * { min-width: 0; }
.nn-content__top .nn-card { font-size: 1rem; line-height: 1.45; }
.nn-card__head { font-size: 1.1rem; }
.nn-meta { font-size: 1rem; }
.nn-content__top.no-img{ grid-template-columns: 1fr; }
.nn-fig img { max-width: 100%; height: auto; display: block; }
.nn-card--main { font-size: 1rem; line-height: 1.45; }

/* === BOUTONS & FORM === */
.b-cookie{
  display:inline-block; font-weight:600; text-align:center; white-space:nowrap; vertical-align:middle; background-color:transparent;
  padding:.5rem .9rem; font-size:1rem; line-height:1.5; border-radius:.35rem; transition:color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  font-family:inherit; box-sizing:border-box; border:2px solid var(--nn-primary); color:var(--nn-primary);
}
.b-cookie:hover{ background-color:var(--nn-primary); color:#fff; }
.b-cookie-blue{ border-color:var(--nn-primary); color:var(--nn-primary); }
.b-cookie-blue:hover{ background-color:var(--nn-primary); color:#fff; }
.b-cookie-green{ border-color:#28a745; color:#28a745; }
.b-cookie-green:hover{ background:#28a745; color:#fff; }
.b-cookie-red{ border-color:#dc3545; color:#dc3545; }
.b-cookie-red:hover{ background:#dc3545; color:#fff; }

.nn-aside .b-cookie{ width:100%; }

.b-form{ max-width: 640px; }
.b-form-group{ display:flex; flex-direction:column; gap:.5rem; margin:.6rem 0; }
.b-label{ font-weight:700; font-size:.95rem; color:#222; margin:0; }

.b-input, .b-select, .b-textarea{
  width:100%; padding:.65rem .75rem; font-size:1rem; line-height:1.35; color:#222; background:#fff; border:1px solid var(--nn-border);
  border-radius: var(--nn-radius); box-sizing:border-box; min-height:42px;
}
.b-input:focus, .b-select:focus, .b-textarea:focus{ outline:0; border-color: var(--nn-primary); box-shadow: 0 0 0 3px rgba(0,120,180,.15); }
.b-select{
  appearance:none; background:#fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10'%3E%3Cpolygon points='0,0 14,0 7,10' fill='%23333'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position: right .8rem center; background-size:.7em auto;
}
.b-textarea{ min-height: 120px; resize: vertical; }
.b-help{ color:#666; font-size:.9rem; }
.b-input.is-error, .b-select.is-error, .b-textarea.is-error{ border-color:#dc3545; }
.b-error{ color:#dc3545; font-size:.9rem; }

@media (min-width: 768px){
  .b-form-group{ flex-direction:row; align-items:center; }
  .b-label{ width:30%; text-align:right; margin-right:1rem; }
  .b-input, .b-select, .b-textarea{ flex:1; }
}
.b-radio-group{ display:flex; flex-direction:column; gap:.5rem; margin:.4rem 0; }
.b-radio-option{ display:flex; align-items:center; gap:.5rem; cursor:pointer; }
.b-radio-option input[type="radio"]{ accent-color: var(--nn-primary); transform: scale(1.1); }
.b-input--qty{ max-width:90px; }
.b-input[type="number"]::-webkit-outer-spin-button,
.b-input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.b-input[type="number"]{ -moz-appearance: textfield; }

/* Form variantes */
.b-form { max-width: 500px; margin: auto; padding: 1em; background: #fff; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.b-form-group{ margin-bottom: 0.8em; }
.b-label { margin-bottom: 0.5em; font-weight: bold; } 
.b-file{ display:block; width:100%; padding:0.75em; border:2px dashed #28a745; border-radius:6px; background-color:#fcfffc; color:#555; font-size:1em; cursor:pointer; transition:background-color .3s, border-color .3s; }
.b-file:hover{ background-color:#f4fff4; border-color:#18bc9c; }
.b-file:focus{ outline:none; border-color:#007bff; box-shadow:0 0 5px rgba(0,123,255,.3); }
.b-file-dropzone{ width:50%; padding:1em; border:2px dashed #28a745; border-radius:8px; background-color:#f9fdfb; color:#666; text-align:center; cursor:pointer; transition:background-color .3s, border-color .3s; }
.b-file-dropzone.dragover{ background-color:#e6f9f0; border-color:#18bc9c; color:#333; }
.b-file-label{ display:block; font-size:1em; user-select:none; }

.b-label-placeholder { width: 30%; }
.b-section-title { font-size: 1.2em; font-weight: bold; margin: 0; align-self: center; }

.b-fieldset { border:none; padding:0; margin:0 0 1.5em 0; }

.b-radio-group { display:flex; flex-direction:column; gap:.75em; flex:1; padding:0; margin:0; border:none; }
.b-radio-option { display:flex; align-items:center; font-size:1em; gap:.5em; cursor:pointer; }
.b-radio-option input[type="radio"] { accent-color:#007BFF; transform:scale(1.2); }

.b-button {
  display:inline-block; font-weight:400; text-align:center; white-space:nowrap; vertical-align:middle; background-color:transparent;
  padding:.175rem .75rem; font-size:1rem; line-height:1.5; border-radius:.25rem; transition:color .15s, background-color .15s, border-color .15s, box-shadow .15s; font-family:inherit; box-sizing:border-box; 
}
.b-button-green{ color:#28a745; border:2px solid #28a745; }
.b-button-green:hover{ background-color:#28a745; color:#FFF; }
.b-button-red{ color:#dc3545; border:2px solid #dc3545; }
.b-button-red:hover{ background-color:#dc3545; color:#FFF; }
.b-button-grey{ color:#999; }
.b-button-grey:hover{ background-color:#999; color:#000; }
.b-button-orange{ color:#f09205; border:2px solid #f09205; }
.b-button-orange:hover{ background-color:#f09205; color:#FFF; }

@media (min-width: 768px) {
  .b-form-container { display:flex; gap:20px; }
  .b-form-colonne { flex:1; }
}

/* Inputs avec unités */
.input-wrapper{ position:relative; display:inline-block; margin:10px; vertical-align:middle; }
.unit-left, .unit-right{ position:absolute; top:50%; transform:translateY(-50%); color:#999; font-size:12px; pointer-events:none; font-family:Arial, sans-serif; z-index:2; }
.unit-left{ left:10px; } .unit-right{ right:10px; }
.custom-input-left{ width:180px; padding:10px; padding-left:55px !important; box-sizing:border-box !important; text-align:left !important; font-size:16px; }
.custom-input-right{ width:150px; padding:10px; padding-right:45px !important; box-sizing:border-box !important; text-align:right !important; font-size:16px; }
.custom-input-left-right{ width:150px; padding:10px; padding-left:45px !important; padding-right:45px !important; box-sizing:border-box !important; text-align:center !important; font-size:16px; }

/* Visibilité desktop/mobile */
.b-desktop-only { display:block; }
.b-mobile-only { display:none; }
@media (max-width: 768px) {
  .b-desktop-only { display:none; }
  .b-mobile-only { display:block; }
}

/* Caddie (inchangé) */
.caddie-pay{ margin:.75rem 0 1rem; padding:14px 16px; background:linear-gradient(180deg,#f7fbff 0%, #ffffff 100%); border:1px solid #e5f1f8; border-radius:12px; box-shadow:0 6px 16px rgba(0,0,0,.05); }
.caddie-pay-title, .caddie-recap-title { font-weight:700; font-size:1.125rem; line-height:1.35; margin:.1rem 0 .5rem; color:#0b3a53; }
.caddie-pay-note{ margin:.2rem 0 .8rem; font-size:.95rem; font-style:italic; color:#075985; opacity:.85; }
.caddie-logoscb{ display:flex; align-items:center; gap:.75rem; padding-left:3rem; margin:.25rem 0 .75rem; }
.caddie-logoscb input[type="image"], .caddie-logoscb img{ height:28px; width:auto; object-fit:contain; display:inline-block; border:0; background:transparent; line-height:0; padding:0; margin:0; }
.caddie-pay-others{ margin-top:.5rem; color:#6b7280; white-space:nowrap; font-size:.95rem; }
.caddie-pay-others a{ color:#1e40af; text-decoration:none; }
.caddie-pay-others a:hover{ text-decoration:underline; }
@media (max-width: 380px){ .caddie-pay-others{ white-space:normal; } .caddie-logoscb{ flex-wrap:wrap; row-gap:.5rem; } }

.caddie-recap{ margin:.75rem 0 1rem; padding:12px 14px; background:linear-gradient(180deg,#CCC 0%, #999 100%); border:1px solid #666; border-radius:12px; box-shadow:0 6px 16px rgba(0,0,0,.05); }
.caddie-recap > h2{ margin:.1rem 0 .5rem; color:#0288d1; }
.caddie-recap .tablecaddie thead th, .caddie-recap .b-tablecaddie thead th{ color:#075985; border:none; padding:8px 0 6px; }
.caddie-recap .tablecaddie tbody tr + tr td, .caddie-recap .b-tablecaddie tbody tr + tr td{ border-top:1px dashed #e9eff5; }
.caddie-recap .tablecaddie tbody tr:last-child td, .caddie-recap .b-tablecaddie tbody tr:last-child td{ border-top:2px solid #dfeff8; font-weight:700; }
.caddie-recap .tablecaddie tbody tr:last-child td.b-text-right:last-child, .caddie-recap .b-tablecaddie tbody tr:last-child td.b-text-right:last-child{ color:#0288d1; font-size:1.05rem; }

.caddie-tablerecap{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--caddie-border, #e5eef6); box-shadow:0 2px 12px rgba(0,0,0,.04); font-family:Arial, sans-serif; }
.caddie-tablerecap thead th{ background:#f4f6f8; color:#444; font-weight:700; padding:.75rem .5rem; border-bottom:1px solid var(--caddie-border, #e5eef6); }
.caddie-tablerecap tbody td{ padding:.65rem .5rem; border-top:1px solid var(--caddie-border, #e5eef6); vertical-align:top; }
.caddie-tablerecap tbody tr:hover{ background:#fbfdff; }
.caddie-tablerecap tr.caddie-tablerecap-total td{ border-top:2px solid #dfeff8; font-weight:700; }
.caddie-tablerecap tr.caddie-tablerecap-total td:last-child{ color:#0288d1; font-size:1.05rem; }
.caddie-tablerecap-txtcenter{ text-align:center; }
.caddie-tablerecap-txtleft{ text-align:left; }
.caddie-tablerecap-txtright{ text-align:right; }
.caddie-tablerecap-price{ color:#000; white-space:nowrap; }

/* Adresses */
.caddie-address-container{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.25rem; }
.caddie-address-block{ background-color:#f8f8f8; padding:1em; border-radius:8px; box-shadow:0 0 6px rgba(0,0,0,0.05); flex:1 1 320px; min-width:280px; }
.caddie-address-title{ font-weight:700; margin:0 0 .35em; color:#0b3a53; }
.caddie-pay-address, .caddie-pay-telmail{ margin-top:.15em; line-height:1.35; padding-left:1rem; background-color:#FFF; border-radius:8px; box-shadow:0 0 6px rgba(0,0,0,0.05); }
.caddie-pay-telmail{ background-color:#FFF; }

/* Relais */
.caddie_relaysearch .b-fieldset, .caddie-searchgls{ background:linear-gradient(180deg,#f7fbff 0%, #ffffff 100%); border:1px solid #e5f1f8; border-radius:12px; padding:12px; box-shadow:0 6px 16px rgba(0,0,0,.05); }
.caddie-searchgls{ display:flex; flex-wrap:nowrap; gap:12px; align-items:flex-end; }
.caddie-searchgls > div{ display:flex; flex-direction:column; flex:1 1 0; min-width:180px; }
.caddie-searchgls > div:last-child{ flex:0 0 auto; }
.caddie-searchgls .b-label{ display:block; margin:0 0 4px; color:#075985; font-weight:600; }
.caddie-searchgls .b-input{ border-color:#d7e9f6; height:38px; }
.caddie-searchgls .b-button-grey{ margin-left:4px; height:38px; line-height:36px; padding:0 16px; }
@media (max-width: 900px){
  .caddie-searchgls{ flex-wrap:wrap; }
  .caddie-searchgls > div{ flex:1 1 100%; min-width:100%; }
  .caddie-searchgls .b-button-grey{ margin-left:0; width:100%; }
}

/* Liste relais */
.caddie_relay-list{ display:grid; grid-template-columns:1fr; gap:.6rem; margin:.6rem 0 0; }
.caddie_relay-list table{
  width:100%; background:#fff; border:1px solid #e9eff5; border-radius:12px; box-shadow:0 6px 16px rgba(0,0,0,.05);
  border-collapse:separate; border-spacing:0; overflow:hidden;
}
.caddie_relay-list table th{ width:140px; text-align:center; vertical-align:middle; padding:12px; background:linear-gradient(#f7fbff,#ffffff); border-right:1px dashed #e9eff5; }
.caddie_relay-list table td{ padding:12px; border:none; color:#0f172a; }
.caddie_relay-list table td strong{ color:#0288d1; }
.caddie_relay-list table td small{ color:#6b7280; }
.caddie_relay-list .b-button-green{ min-width:118px; padding:.5rem .9rem; }
.caddie_relay-list + br{ display:none; }
@media (max-width: 640px){
  .caddie_relay-list table th{ width:120px; padding:10px; }
  .caddie_relay-list table td{ padding:10px; }
}

/* Sous-nav */
.nav{
  display:flex; flex-wrap:wrap; gap:.5rem .75rem; justify-content:flex-start; align-items:center; margin:8px 0 14px; padding:8px 10px; background:#fff; border:1px solid var(--nn-border); border-radius:var(--nn-radius); box-shadow:var(--nn-shadow);
}
.justify-content-end{ justify-content:flex-end; }
.nav-link{
  display:inline-block; padding:.45rem .65rem; font-weight:600; font-size:.95rem; color: var(--nn-accent); text-decoration:none; border:1px solid transparent; border-radius: 999px; line-height:1.2;
}
.nav-link:hover{ text-decoration:none; background:#f7f9fb; border-color:#dbe7f3; }
.nav-link.is-active{ color:#01579b; background:#e9f4ff; border-color:#cfe9f7; }
.nav-link--highlight{ color:#1b5e20; border-color:#cde9d6; background:#f3fff6; }
.nav-link--highlight:hover{ background:#e7ffef; border-color:#b6e1c2; }
@media (max-width: 520px){
  .nav{ overflow:auto; -webkit-overflow-scrolling:touch; padding:8px 6px; gap:.5rem; }
  .nav::-webkit-scrollbar{ height:6px; }
  .nav::-webkit-scrollbar-thumb{ background:#dbe7f3; border-radius:99px; }
}

/* Confort de saisie */
.nn-search input[type="search"]{ padding-top:.70rem; padding-bottom:.70rem; }
.nn-search__btn{ padding:.70rem .95rem; }
