/* ========== GRIMBA PROFILE ========== */
.grimba-profile-wrap { max-width:1375px; color:#474747; display:flex; gap:32px; align-items:flex-start; }
    .gp-main { display:flex; flex-direction:column; min-width:0; gap:32px; width:100%;  }
    .gp-side { width:375px; flex-shrink:0; display:flex; flex-direction:column; gap:32px; }
    .gp-card { background:#fff; border-radius:16px; padding:24px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
    .gp-hero { display:flex; gap:18px; align-items:center; }
    .gp-hero-left { width:220px; flex-shrink:0; text-align:center; }
    .gp-hero-right { flex:1; min-width:0; width:100%; }
    .gp-avatar { width:220px; height:220px; border-radius:16px; overflow:hidden; }
    .gp-avatar img { width:100%; height:100%; object-fit:cover; display:block;aspect-ratio:1/1!important; }
    .gp-title-row { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; }
    .gp-names { overflow:hidden; min-width:0; }
    .gp-name { font-size:32px; font-weight:700; margin:0; color:#474747; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-family:'Noto sans'; }
    .gp-sub { color:#6b7280; font-size:.95rem; margin-top:6px; }
    .gp-rating-badge { display:flex; align-items:center; gap:0px; font-weight:700; color:#474747; font-size:1rem; }
.gp-rating-badge svg { color:#0ea5a1; margin-right: 8px; }
    .gp-meta-row { display:flex; gap:12px; align-items:center; margin-top:8px; color:#6b7280; font-size:.95rem; }
    .gp-excerpt { margin-top:24px; color:#474747; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:16px; font-family:'Imprima'; }
    .gp-see-more { display:inline-block; margin-top:8px; font-size:16px; color:#DA9591; text-decoration:underline!important; cursor:pointer; text-transform:none!important; }
	.gp-see-more:hover { display:inline-block; margin-top:8px; font-size:16px; color:#DA9591!important; text-decoration:underline; cursor:pointer; text-transform:none!important; }
    .gp-side-ctas { display:flex; gap:10px; justify-content:flex-end; }
    .gp-btn { padding:8px 12px; border-radius:8px; font-size:16px; cursor:pointer; border:0; font-family:'Yantramanav'; font-weight: 400;  }
    .gp-btn-message { background:#E5C1B5; color:#fff; }
    .gp-btn-flag { background:#1f2937; color:#fff; }
    .gp-section { margin-top:20px; }
    .gp-section h3 { margin:0 0 10px 0; font-size:1rem; color:#111; }
    .gp-presentation p { color:#333; line-height:1.55; font-size:.98rem; }
    .gp-reviews-list { margin-top:10px; }
    .gp-review { background:linear-gradient(180deg, #fff, #fff); margin-bottom:12px; }
    .gp-review-head { display:flex; justify-content:space-between; gap:10px; align-items:center; font-weight:700; color:#111; }
    .gp-review-meta { color:#6b7280; font-weight:600; font-size:.9rem; }
    .gp-review-content { margin-top:8px; color:#374151; font-size:.95rem; line-height:1.5; }
    .gp-side .gp-card { padding:24px 16px; }
    .gp-verify-list { width:100%; border-collapse:collapse; font-size:.95rem; color:#374151; }
    .gp-verify-list td { padding:8px 6px; vertical-align:middle; border-bottom:1px solid #f3f4f6; }
    .gp-verify-list td.status { text-align:right; font-weight:700; }
    .gp-stats-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f3f4f6; }
    .gp-stats-row:last-child { border-bottom:0; }
    @media(max-width:980px){
        .grimba-profile-wrap { flex-direction:column; padding:0 18px; }
        .gp-side { width:100%; order:2; }
    }
.stats-name { font-family:'Yantramanav'; font-weight:600; color: #474747; font-size:24px; }
.verif-name { font-family:'Yantramanav'; font-weight:600; color: #474747; font-size:24px; }
.button-section-profil {
    display: flex
;
    flex-direction: row;
    gap: 16px;
}

button.gp-btn{
	width:100%;
}

span.gp-sub {
    display: flex
;
    align-content: center;
    flex-direction: row;
    gap: 8px;
}

.presentation-title { font-family:'Yantramanav'; font-weight:600; color: #474747; font-size:24px; margin-bottom: 8px; }
span.gp-sub {
    font-size: 16px;
    color: #474747;
    font-family: 'Yantramanav';
}
.gp-full-bio {
    color: #474747;
    font-family: 'Imprima';
    font-size: 16px;
}
.review-title { font-family:'Yantramanav'; font-weight:600; color: #474747; font-size:24px; margin-bottom: 8px; }
.map-title { font-family:'Yantramanav'; font-weight:600; color: #474747; font-size:24px; margin-bottom: 8px; }

.gp-rating-badge {
    font-family: 'Noto sans';
    font-size: 32px;
    font-weight: 600;
}

span.on-five-star {
    font-size: 18px;
    font-weight: 300;
	margin-bottom:6px;
}

span.rating-number-head {
    display: flex
;
    flex-direction: row;
    align-items: flex-end;
}

@media(max-width:768px){
	.gp-hero{
		flex-direction: column!important;
	}
	.gp-hero-left{
		width:100%;
	}
	.gp-avatar{
		width: 100%;
		height: auto;
	}
}

div#grimba-map {
    z-index: 0 !important;
}

.gp-data-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Imprima', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #474747;
  margin-bottom:0px;
  border-radius:8px;
	overflow:hidden;

}

.gp-data-table td {
  padding: 10px 8px;
  vertical-align: middle;
  text-align: left; /* tout aligné à gauche */
  border: none;     /* pas de bordures */
}
.gp-data-table tr:nth-child(odd) {
  background-color: #ffffff!important;  /* lignes impaires blanches */
}

.gp-data-table tr:nth-child(even) {
  background-color: #FBFBFB;  /* lignes paires gris très clair */
}

.gp-btn-ico svg { vertical-align:middle; margin-bottom:3px; }

button.gp-btn.gp-btn-flag {
    display: flex
;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    gap: 4px;
}

button.gp-btn.gp-btn-message svg {
    margin-bottom: -4px;
}

button.gp-btn.gp-btn-flag:hover{ background-color: #474747;}
button.gp-btn.gp-btn-message:hover{ background-color:#4DA6A7}
button.gp-btn.gp-btn-flag:active{ background-color: #474747;}
button.gp-btn.gp-btn-message:active{ background-color:#4DA6A7}
button.gp-btn.gp-btn-flag:focus{ background-color: #474747;}
button.gp-btn.gp-btn-message:focus{ background-color:#4DA6A7}


.grimba-prestation-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}


button.grimba-prestation-card {
     padding: 14px 16px;
    border: 1px solid #7FB1CA!important;
    background: #fff;
color:#7FB1CA!important;
    cursor: pointer;
    border-radius: 6px;
}


button.grimba-prestation-card.selected{
    border-color: #7FB1CA!important;;
    background: #7FB1CA;
    color:white!important;
}

button.grimba-prestation-card:hover{
    border-color: #7FB1CA!important;;
    background: #7FB1CA;
    color:white!important;
}


button.grimba-prestation-card.selected{
    border-color: #7FB1CA!important;;
    background: #7FB1CA;
    color:white!important;
}



button.grimba-next {
    border-color: #7FB1CA!important;;
    background: #7FB1CA;
    color:white!important;
    margin-top: 16px;
    width: 100%;
    padding: 12px;
    font-weight: 600;
}

button.grimba-next:hover {
background: #688fa3!important;
}

button.grimba-next:active {
background: #688fa3!important;
}

button.grimba-next:focus {
background: #688fa3!important;
}

button.grimba-next:focus:not {
background: #688fa3!important;
}

.gp-card.gp-presta-buy h3 {
    font-family: 'Yantramanav';
    font-size: 20px !important;
}



button.grimba-prev
 {
    border-color: #7FB1CA!important;;
    background: #7FB1CA;
    color:white!important;
    margin-top: 16px;
    width: 100%;
    padding: 12px;
    font-weight: 600;
}

button.grimba-prev:hover {
background: #688fa3!important;
}

button.grimba-prev:active {
background: #688fa3!important;
}

button.grimba-prev:focus {
background: #688fa3!important;
}

button.grimba-prev:focus:not {
background: #688fa3!important;
}


button.grimba-confirm
 {
    border-color: #7FB1CA!important;;
    background: #7FB1CA;
    color:white!important;
    margin-top: 16px;
    width: 100%;
    padding: 12px;
    font-weight: 600;
}

button.grimba-confirm:hover {
background: #688fa3!important;
}

button.grimba-confirm:active {
background: #688fa3!important;
}

button.grimba-confirm:focus {
background: #688fa3!important;
}

button.grimba-confirm:focus:not {
background: #688fa3!important;
}


.gp-card.gp-presta-buy h3 {
    font-family: 'Yantramanav';
    font-size: 20px !important;
}


.grimba-actions {
    display: flex;
    gap: 8px;
}


input#grimba-end-time {
    width: 100%;
}

input#grimba-start-time {
    width: 100%;
}

.grimba-hours {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.grimba-field {
    margin-bottom: 8px;
}

.grimba-hours {
    margin-bottom: 8px;
}



input#grimba-start-time {
    border-color: #7FB1CA!important;
    border-radius: 4px;
}

input#grimba-end-time {
    border-color: #7FB1CA!important;
    border-radius: 4px;
}

input#grimba-date {
    border-color: #7FB1CA!important;
    border-radius: 4px;
}

select#grimba-people {
    border-color: #7FB1CA!important;
    border-radius: 4px;
}

input#grimba-firstname {
    border-color: #7FB1CA!important;
    border-radius: 4px;
}

input#grimba-lastname {
    border-color: #7FB1CA!important;
    border-radius: 4px;
}

.grimba-unavailable-banner {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-weight: 500;
font-family: 'Imprima';
}

.grimba-step.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

p.no-reservation-found {
    text-align: center;
    padding: 0px !important;
    margin: 0px !important;
    font-family: 'Imprima';
}






/* Réservation pour un tiers (formulaire du profil public) */
.grimba-guest-toggle label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 400;
}

.grimba-guest-toggle input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.grimba-guest-fields[hidden] {
    display: none;
}

