/* ========== Normandie Rando – UI Base ========== */
/* Variables : modifie juste ces couleurs/espaces si besoin */
:root{
  --nr-font-sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --nr-radius-sm: 0px;
  --nr-radius: 0px;
  --nr-radius-lg: 0px;

  --nr-space-1: .25rem;
  --nr-space-2: .5rem;
  --nr-space-3: .75rem;
  --nr-space-4: 1rem;
  --nr-space-5: 1.25rem;
  --nr-space-6: 1.5rem;
  --nr-space-8: 2rem;

  --nr-c-bg: #ffffff;
  --nr-c-muted: #f6f7f9;
  --nr-c-muted-2: #eef0f3;
  --nr-c-text: #111827;
  --nr-c-text-2: #4b5563;
  --nr-c-border: #e5e7eb;
  --nr-c-primary: #f59e0b;
  --nr-c-primary-600: #c78109;
  --nr-c-primary-700: #a86c04;
  --nr-c-emerald: #059669;
  --nr-c-rose: #e11d48;
  --nr-c-amber: #f59e0b;
  --nr-shadow: 0 8px 24px rgba(0,0,0,.06);
}

small{ color: var(--nr-c-text-2); }

/* Conteneurs & grilles utilitaires */
.nr-container{ width:min(1100px, 92vw); margin-inline:auto; }
.nr-stack > * + *{ margin-top: var(--nr-space-4); }
.nr-grid{
  display:grid; gap: var(--nr-space-4);
  grid-template-columns: repeat(12, minmax(0,1fr));
}

.nr-grid.cols-3 {
	grid-template-columns: repeat(3, minmax(0,1fr));
}

.nr-grid.cols-2 {
	grid-template-columns: repeat(2, minmax(0,1fr));
}

@media (max-width: 1024px){ .nr-grid{ grid-template-columns: repeat(8, 1fr); } }
@media (max-width: 768px){ .nr-grid{ grid-template-columns: repeat(4, 1fr); } }
.nr-col-12{ grid-column: span 12; } .nr-col-8{ grid-column: span 8; } .nr-col-6{ grid-column: span 6; }
.nr-col-4{ grid-column: span 4; } .nr-col-3{ grid-column: span 3; }
@media (max-width:1024px){ .lg\:nr-col-12{ grid-column: span 12; } .lg\:nr-col-8{ grid-column: span 8; } .lg\:nr-col-6{ grid-column: span 6; } }
@media (max-width:768px){ .md\:nr-col-12{ grid-column: span 12; } .md\:nr-col-8{ grid-column: span 8; } .md\:nr-col-6{ grid-column: span 6; } .md\:nr-col-4{ grid-column: span 4; } }

/* Cartes génériques */
.nr-card{
  border:1px solid var(--nr-c-border);
  background:#fff; border-radius: var(--nr-radius);
  box-shadow: var(--nr-shadow);
}
.nr-card-body{ padding: var(--nr-space-5); }
.nr-card-title{ font-weight:600; color: var(--nr-c-text); margin-bottom: var(--nr-space-2); }
.nr-card-sub{ color: var(--nr-c-text-2); font-size: .95rem; }

/* Boutons */
.nr-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding: .7rem 1rem; border-radius: var(--nr-radius-sm);
  border:1px solid var(--nr-c-primary); background: var(--nr-c-primary); color:#fff;
  font-weight:600; cursor:pointer; transition: transform .03s ease, box-shadow .2s, background-color .2s;
}
.nr-btn:hover{ background: var(--nr-c-primary-600); text-decoration: none; box-shadow: var(--nr-shadow); }
.nr-btn:active{ transform: translateY(1px); }
.nr-btn.secondary{ background:#fff; color: var(--nr-c-primary); border-color: var(--nr-c-border); }
.nr-btn.secondary:hover{ background: var(--nr-c-muted); }
.nr-btn.danger{ background: var(--nr-c-rose); border-color: var(--nr-c-rose); }
.nr-btn.warn{ background: var(--nr-c-amber); border-color: var(--nr-c-amber); }

/* Formulaires */
.nr-field{ 
	display:flex;
	flex-direction: column;
}
.nr-field{ margin-top: var(--nr-space-4); }
.nr-field label{ display:block; font-weight:600; margin-bottom: var(--nr-space-2); color: var(--nr-c-text); }
.nr-field input[type="text"],
.nr-field input[type="email"],
.nr-field input[type="password"],
.nr-field input[type="number"],
.nr-field select,
.nr-field textarea{
  width:100%; padding:.75rem .85rem; border:1px solid var(--nr-c-border);
  border-radius: var(--nr-radius-sm); background:#fff; color: var(--nr-c-text);
}
.nr-field textarea{ min-height: 130px; resize: vertical; }
.nr-field input:focus, .nr-field select:focus, .nr-field textarea:focus{
  outline: 2px solid color-mix(in srgb, var(--nr-c-primary) 30%, transparent);
  border-color: var(--nr-c-primary);
}
.nr-actions{ margin-top: var(--nr-space-5); display:flex; gap: var(--nr-space-3); flex-wrap:wrap; }

/* Notices / alertes */
.nr-notice{
  padding: var(--nr-space-4); border-radius: var(--nr-radius-sm); border:1px solid var(--nr-c-border); background: var(--nr-c-muted);
}
.nr-success{ background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.nr-error{ background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.nr-info{ background:#eff6ff; border-color:#bfdbfe; color:#1e40af; }

/* Pagination simple */
.nr-pagination{ display:flex; gap: var(--nr-space-2); align-items:center; flex-wrap:wrap; }
.nr-page{
  padding:.55rem .85rem; border:1px solid var(--nr-c-border); border-radius: var(--nr-radius-sm);
  background:#fff; color: var(--nr-c-text);
}
.nr-page.is-active{ border-color: var(--nr-c-primary); color:#fff; background: var(--nr-c-primary); }

/* Badges */
.nr-badge{
  display:inline-block; padding:.25rem .5rem; border-radius:999px; font-size:.8rem;
  background: var(--nr-c-muted-2); color: var(--nr-c-text-2);
}
.nr-badge.success{ background:#d1fae5; color:#065f46; }
.nr-badge.warn{ background:#fef3c7; color:#92400e; }
.nr-badge.error{ background:#fee2e2; color:#991b1b; }

/* Table simple (liste de devis, commandes, etc.) */
.nr-table{ width:100%; border-collapse: collapse; border:1px solid var(--nr-c-border); border-radius: var(--nr-radius); overflow:hidden; }
.nr-table th, .nr-table td{ padding:.9rem .75rem; text-align:left; }
.nr-table thead th{ background: var(--nr-c-muted); color: var(--nr-c-text); font-weight:700; }
.nr-table tbody tr{ border-top: 1px solid var(--nr-c-border); }
.nr-table tbody tr:hover{ background: #fafafa; }

/* Skeleton loader (option) */
.nr-skeleton{ position:relative; overflow:hidden; background: var(--nr-c-muted); border-radius: var(--nr-radius-sm); }
.nr-skeleton::after{
  content:""; position:absolute; inset:0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  animation: nr-shine 1.2s infinite;
}
@keyframes nr-shine{ to{ transform: translateX(100%); } }

/* ========== Composants spécifiques NR ========== */

/* Navigation compte (cartes) */
.nr-account-nav .nr-cards{
  display:grid; gap: var(--nr-space-4);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-top: var(--nr-space-2);
}
.nr-account-nav .nr-card{ transition: transform .06s ease, box-shadow .2s; }
.nr-account-nav .nr-card:hover{ transform: translateY(-2px); }

/* Filtres (widget) */
.nr-filters-form{ margin: var(--nr-space-4) 0; }
.nr-filters-grid{
  display:grid; gap: var(--nr-space-4);
  grid-template-columns: repeat(12, minmax(0,1fr));
}
@media (max-width:1024px){ .nr-filters-grid{ grid-template-columns: repeat(8, 1fr); } }
@media (max-width:768px){ .nr-filters-grid{ grid-template-columns: repeat(4, 1fr); } }

.nr-filters-grid .nr-field{ grid-column: span 1; }            /* 3 par ligne en desktop */
@media (max-width:1024px){ .nr-filters-grid .nr-field{ grid-column: span 4; } } /* 2-3 selon largeur */
@media (max-width:768px){ .nr-filters-grid .nr-field{ grid-column: span 4; } }   /* 1 par ligne en mobile */

.nr-reset{
  padding:.7rem .9rem; border:1px solid var(--nr-c-border); background:#fff; color: var(--nr-c-text);
  border-radius: var(--nr-radius-sm); cursor:pointer;
}
.nr-reset:hover{ background: var(--nr-c-muted); }

/* Cartes de contenu produit/expériences (grille) */
.nr-catalog{
  display:grid; gap: var(--nr-space-4);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.nr-item{
  border:1px solid var(--nr-c-border); border-radius: var(--nr-radius); overflow:hidden; background:#fff;
  display:flex; flex-direction:column;
}
.nr-item .nr-thumb{ aspect-ratio: 4/3; background: var(--nr-c-muted); overflow:hidden; }
.nr-item .nr-thumb img{ width:100%; height:100%; object-fit:cover; }
.nr-item .nr-meta{ padding: var(--nr-space-4); display:flex; flex-direction:column; gap: var(--nr-space-2); }
.nr-item .nr-meta .nr-title{ font-size:1.05rem; font-weight:700; color: var(--nr-c-text); }
.nr-item .nr-meta .nr-desc{ color: var(--nr-c-text-2); font-size:.95rem; }
.nr-item .nr-meta .nr-tags{ display:flex; gap: var(--nr-space-2); flex-wrap:wrap; }
.nr-item .nr-meta .nr-actions{ margin-top:auto; display:flex; gap: var(--nr-space-3); }

/* Formulaire “Mon profil” */
.nr-account-edit .nr-grid{
  display:grid; gap: var(--nr-space-4);
  grid-template-columns: repeat(12, minmax(0,1fr));
}
.nr-account-edit .nr-field{ grid-column: span 6; }
.nr-account-edit .nr-field:nth-child(3){ grid-column: span 12; } /* email full width */
@media (max-width:1024px){ .nr-account-edit .nr-field{ grid-column: span 8; } }
@media (max-width:768px){ .nr-account-edit .nr-field{ grid-column: span 4; } }

/* Messages de page (ex: “Aucun résultat”) */
.nr-empty{
  padding: var(--nr-space-8); text-align:center; color: var(--nr-c-text-2);
  border:1px dashed var(--nr-c-border); border-radius: var(--nr-radius);
}
.nr-empty .nr-emoji{ font-size: 2rem; display:block; margin-bottom: var(--nr-space-2); }

/* ========== Accessibilité & petits détails ========== */
:focus-visible{ outline: 3px solid color-mix(in srgb, var(--nr-c-primary) 35%, transparent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* ========== Impression (utile pour devis) ========== */
@media print{
  .nr-btn,.nr-reset,.nr-filters-form{ display:none !important; }
  .nr-card{ box-shadow:none; border-color:#000; }
  a{ color:#000; text-decoration: underline; }
}


/* === NR Account Edit – hardening & responsive grid === */
form.nr-account-edit { --nr-gap: 16px; --nr-border:#e5e7eb; --nr-text:#111827; --nr-muted:#6b7280; }
form.nr-account-edit .nr-grid{
  display:grid !important;
  grid-template-columns: repeat(12, minmax(0,1fr)) !important;
  gap: var(--nr-gap) !important;
}
form.nr-account-edit .nr-field{
  grid-column: span 6 / span 6 !important;
}
form.nr-account-edit .nr-field.nr-field--full{
  grid-column: span 12 / span 12 !important;
}
@media (max-width: 1024px){
  form.nr-account-edit .nr-field{ grid-column: span 8 / span 8 !important; }
  form.nr-account-edit .nr-field.nr-field--full{ grid-column: span 8 / span 8 !important; }
}
@media (max-width: 768px){
  form.nr-account-edit .nr-field,
  form.nr-account-edit .nr-field.nr-field--full{ grid-column: span 4 / span 4 !important; }
}

/* champs + labels */
form.nr-account-edit .nr-field label{
  display:block; font-weight:600; margin-bottom:8px; color:var(--nr-text);
}
form.nr-account-edit .nr-field input[type="text"],
.nr-field input[type="email"],
.nr-field input[type="password"],
.nr-field input[type="date"],
form.nr-account-edit .nr-field input[type="number"],
form.nr-account-edit .nr-field select,
form.nr-account-edit .nr-field textarea{
  width:100% !important;
  padding:12px 14px !important;
  border:1px solid var(--nr-c-border) !important;
  border-radius:0px !important;
  background:#fff !important;
  color:var(--nr-text) !important;
  line-height:1.4 !important;
}
form.nr-account-edit .nr-field small{ color:var(--nr-muted); display:block; margin-top:6px; }

/* bouton */
form.nr-account-edit .nr-actions{ margin-top:16px; display:flex; gap:12px; flex-wrap:wrap; }
form.nr-account-edit .nr-actions .nr-btn{
  padding:10px 14px; border-radius:8px; background:#111827; color:#fff; border:1px solid #111827;
}
form.nr-account-edit .nr-actions .nr-btn:hover{ background:#000; }

/* notices */
form.nr-account-edit .nr-notice{ 
	padding:10px; 
	border-radius:8px; 
	margin-bottom:10px; 
}
form.nr-account-edit .nr-success{ 
	background:#ecfdf5; 
	color:#065f46; 
	border:1px solid #a7f3d0; 
}
form.nr-account-edit .nr-error{ background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }


form.mo-monetico-form br {
	height: 0px!important;
	display: none;
}

.button.button-primary {
	border: none;
	background-color: var(--nr-c-primary);
	color: white;
	font-weight: 600;
	text-transform: uppercase;
}

.nr-eye {
	position: absolute;
	top: 0;
	right: 0;
	height: 40px;
	padding: 5px;
	border: none;
}

.nr-flex {
	display: flex;
	align-items: end;
}

.nr-align-self-end {
	align-self: end;
}

.nr-self-center {
	align-self: center;
	justify-self: center;
}


.nr-quote-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

@media (max-width: 600px) {
	.nr-grid.mobile\:cols-1 {
		grid-template-columns: 1fr;
	}

	.nr-field.mobile\:col-1 {
		grid-column: span 1;
	}
}


.nr-add-room {
	margin-left: auto;
}

.nr-type_de_chambre-add {
	display: flex;
	flex-direction: column;
}

.btn-remove-room {
	background-color: unset;
	border: 0px solid;
	padding: 5px!important;
	color: red;
}

.nr-type_de_chambre-list li {
	display: flex;
	justify-content: space-between;
	background-color: rgb(223, 223, 223);
	padding: 10px;
}

.nr-type_de_chambre-list {
	padding-left: 0;
}

.gap-20 {
	gap: 20px;
}

.color-yellow {
	color: var(--nr-c-amber)
}

.nr-btn br {
 display: none;
}

.nr-reset {
	background: none!important;
	border: 0px solid!important;
	padding: 0px!important;
	color: black;
	height: 40px;
	margin-top: auto;
	font-size: 16px;
	justify-self: flex-start;
}