/* StudioBook V3.19 — Showcase and reviews, shared between all public business types. */
.sb-showcase{max-width:1180px;margin:42px auto 0;padding:0 20px 64px;color:#172920;font-family:Montserrat,Arial,sans-serif}.sb-showcase *{box-sizing:border-box}.sb-showcase-head{display:flex;align-items:end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:22px}.sb-showcase-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#287257;text-transform:uppercase}.sb-showcase h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(27px,3vw,39px);line-height:1.2;margin:8px 0}.sb-showcase-sub{margin:5px 0;color:#6b7b71;font-size:13px;line-height:1.7}.sb-showcase-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.sb-showcase-work{min-width:0;background:white;border:1px solid #dde8e1;border-radius:17px;overflow:hidden}.sb-showcase-work img{display:block;width:100%;height:220px;object-fit:cover}.sb-showcase-work-text{padding:14px 16px 17px}.sb-showcase-work h3{font-size:15px;margin:5px 0;color:#182b21}.sb-showcase-work p{font-size:12px;color:#65766b;line-height:1.65;margin:7px 0 0}.sb-showcase-category{color:#267251;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sb-showcase-reviews{margin-top:44px}.sb-showcase-rating{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#48745c}.sb-showcase-stars{color:#c08d3e;letter-spacing:2px;font-size:17px}.sb-showcase-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:15px 0 25px}.sb-showcase-review{padding:20px;background:#fff;border:1px solid #dde8e1;border-radius:17px;min-width:0}.sb-showcase-review blockquote{margin:10px 0 15px;font-size:13px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}.sb-showcase-review footer{font-size:12px;color:#5c7465}.sb-showcase-form{max-width:790px;background:white;border:1px solid #dde8e1;padding:22px;border-radius:18px}.sb-showcase-form h3{margin:0 0 16px;font-size:20px}.sb-showcase-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.sb-showcase-form label{font-size:12px;font-weight:650;display:block}.sb-showcase-form input,.sb-showcase-form select,.sb-showcase-form textarea{display:block;width:100%;border:1px solid #d5e2da;border-radius:10px;padding:12px;background:#fff;color:#182b21;font:inherit;font-size:14px;margin-top:6px;max-width:100%;min-width:0}.sb-showcase-wide{grid-column:1/-1}.sb-showcase-consent{display:flex!important;align-items:flex-start;gap:9px;line-height:1.5;font-weight:500!important;margin:12px 0}.sb-showcase-consent input{width:auto!important;flex:0 0 auto;margin:3px 0!important}.sb-showcase-submit{background:#236f52;border:0;color:white;font:700 13px Montserrat,Arial,sans-serif;padding:13px 22px;border-radius:10px;cursor:pointer}.sb-showcase-submit:disabled{opacity:.6}.sb-showcase-status{margin:10px 0 0;font-size:13px;line-height:1.5}.sb-showcase-empty{font-size:13px;color:#65766b;padding:20px;border:1px dashed #d3e2d7;border-radius:14px;background:#f8fbf9}.sb-showcase-honeypot{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.sb-showcase[hidden]{display:none!important}
/* Authenticated professional dashboard */
.sb-showcase-admin{max-width:1120px;width:100%;overflow-wrap:anywhere}.sb-showcase-admin h1{font-family:'Playfair Display',serif;font-size:clamp(27px,3vw,37px);margin:8px 0 10px}.sb-showcase-admin .sb-admin-summary{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 22px}.sb-showcase-admin .sb-admin-summary span{padding:10px 14px;border:1px solid #dce8e0;background:#fff;border-radius:11px;font-size:12px}.sb-admin-section{border:1px solid #dce8e0;background:#fff;padding:20px;border-radius:18px;margin-bottom:18px}.sb-admin-head{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.sb-admin-head h2{margin:0;font:700 21px 'Playfair Display',serif}.sb-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sb-admin-form label{margin:0;font-size:12px;font-weight:700}.sb-admin-form input,.sb-admin-form select,.sb-admin-form textarea{width:100%;margin-top:7px}.sb-admin-form .sb-admin-wide{grid-column:1/-1}.sb-admin-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sb-admin-upload input{max-width:300px}.sb-admin-upload small{font-size:11px;color:#62796a}.sb-admin-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sb-admin-work{border:1px solid #dce8e0;border-radius:14px;overflow:hidden;min-width:0}.sb-admin-work img{display:block;width:100%;height:155px;object-fit:cover}.sb-admin-work>div{padding:12px;display:grid;gap:7px}.sb-admin-work strong{font-size:13px}.sb-admin-work small{color:#607669}.sb-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.sb-admin-actions button{background:#f2f8f4;border:1px solid #dce8e0;border-radius:9px;padding:8px 10px;cursor:pointer;color:#244f3b;font-size:12px;font-weight:700}.sb-admin-actions button.sb-admin-danger{background:#fff2f2;color:#9b4848}.sb-admin-review{padding:17px;border:1px solid #dce8e0;border-radius:14px;margin:10px 0;overflow-wrap:anywhere}.sb-admin-review blockquote{white-space:pre-wrap;margin:11px 0;font-size:13px;line-height:1.6}.sb-admin-review-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.sb-admin-review-head small{font-size:11px;color:#607669}.sb-admin-review-actions{display:flex;gap:8px;flex-wrap:wrap}.sb-admin-review-actions button{border:1px solid #dce8e0;background:#edf7f0;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:12px}.sb-admin-review-actions button:disabled{opacity:.45}.sb-showcase-status.is-error{color:#af3038}
@media(max-width:800px){.sb-showcase-gallery,.sb-showcase-review-grid,.sb-admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-showcase-work img{height:175px}}@media(max-width:540px){.sb-showcase{padding:0 15px 50px;margin-top:28px}.sb-showcase-gallery,.sb-showcase-review-grid,.sb-admin-gallery,.sb-showcase-fields,.sb-admin-form{grid-template-columns:minmax(0,1fr)}.sb-showcase-wide,.sb-admin-form .sb-admin-wide{grid-column:1}.sb-showcase-work img{height:auto;aspect-ratio:4/3}.sb-showcase-review-grid{gap:9px}.sb-showcase-form{padding:16px}.sb-admin-section{padding:14px}.sb-admin-review-actions button{flex:1}.sb-admin-work img{height:auto;aspect-ratio:4/3}}

.sb33-showcase-links{display:flex;gap:14px;flex-wrap:wrap;margin:15px 0}.sb33-showcase-links a{font:700 12px Montserrat,Arial,sans-serif;text-decoration:none;color:#236f52;border-bottom:1px solid #76b393;padding:4px 0}.sb33-showcase-links a:hover{color:#194b37}.sb-showcase{scroll-margin-top:28px}#nos-realisations,#nos-avis{scroll-margin-top:18px}

/* V3.20 — Verified review invitations and responsive badges */
.sb-invite-list{display:grid;gap:9px;margin:16px 0}.sb-invite-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:12px 15px;border:1px solid #dfebe2;border-radius:13px;background:#f8fbf9}.sb-invite-info{min-width:0;display:grid;gap:4px}.sb-invite-info strong{font-size:13px;overflow-wrap:anywhere}.sb-invite-info small{font-size:11px;color:#67796d}.sb-invite-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sb-invite-controls .ghost{min-height:38px}.sb-invite-state{font-size:10px;color:#6c786f;white-space:nowrap}.sb-invite-state.issued{color:#1c6746;font-weight:700}.sb-invite-state.used{color:#4e685a}.sb-invite-result{padding:15px;background:#edf7f0;border:1px solid #b4d8c1;border-radius:14px;margin:14px 0}.sb-invite-result label{display:block;font-weight:700;font-size:12px;margin:0 0 8px}.sb-invite-copy{display:flex;gap:8px;min-width:0}.sb-invite-copy input{min-width:0;flex:1 1 auto;width:100%;font-size:12px}.sb-invite-copy button{flex-shrink:0}.sb-verified-label,.sb-admin-verified{display:inline-block;border-radius:999px;padding:5px 9px;background:#e4f4e9;color:#226b48;font-size:10px;font-weight:800;line-height:1.3}.sb-verified-hint{border-radius:10px;padding:12px 14px;background:#e4f4e9;color:#205c42;font-size:12px;line-height:1.6}.sb-verified-error{border-radius:10px;padding:12px 14px;background:#fff2ed;color:#9b4d3a;font-size:12px;line-height:1.6}.sb-showcase-review .sb-verified-label{margin-bottom:10px}
@media(max-width:620px){.sb-invite-row{align-items:stretch;flex-direction:column}.sb-invite-controls{justify-content:space-between}.sb-invite-controls button{flex:1}.sb-invite-copy{flex-wrap:wrap}.sb-invite-copy button{flex:1 1 100%}.sb-showcase-review footer{line-height:1.5}}

/* V3.20: portfolio lightbox without altering existing reservation navigation. */
.sb-showcase-zoom{position:relative;display:block;width:100%;padding:0;border:0;text-align:left;background:transparent;cursor:zoom-in}.sb-showcase-zoom img{display:block;width:100%;height:220px;object-fit:cover}.sb-zoom-hint{position:absolute;right:10px;bottom:10px;background:#152e24df;color:white;padding:6px 9px;border-radius:7px;font:700 11px Montserrat,Arial,sans-serif}.sb-showcase-zoom:focus-visible{outline:3px solid #70b88e;outline-offset:-4px}.sb-showcase-lightbox{position:fixed;z-index:9999;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a1a13df;overflow:auto}.sb-showcase-lightbox-card{position:relative;display:flex;flex-direction:column;max-width:min(100%,1050px);max-height:calc(100dvh - 40px);min-width:0;background:#fff;border-radius:16px;overflow:hidden}.sb-showcase-lightbox-card img{object-fit:contain;max-height:calc(100dvh - 165px);max-width:100%;width:auto;align-self:center}.sb-showcase-lightbox-info{padding:12px 18px;color:#183929;font:13px Montserrat,Arial,sans-serif}.sb-showcase-lightbox-info p{margin:6px 0 0;color:#6b7b71;font-size:12px;line-height:1.5}.sb-showcase-lightbox-close{position:absolute;top:10px;right:10px;z-index:1;border:0;border-radius:50%;width:37px;height:37px;background:#fff;color:#172920;box-shadow:0 2px 9px #0003;cursor:pointer}@media(max-width:800px){.sb-showcase-zoom img{height:175px}}@media(max-width:540px){.sb-showcase-zoom img{height:auto;aspect-ratio:4/3}.sb-showcase-lightbox{padding:10px}.sb-showcase-lightbox-card{max-height:calc(100dvh - 20px);width:100%}.sb-showcase-lightbox-card img{max-height:calc(100dvh - 145px)}}


/* V3.21.2 — entire portfolio card clickable + gallery navigation */
.sb-showcase-work-clickable{cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.sb-showcase-work-clickable:hover,.sb-showcase-work-clickable:focus-visible{transform:translateY(-2px);box-shadow:0 12px 24px #0b221514;border-color:#bfd7c7;outline:none}
.sb-showcase-open-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font:700 12px Montserrat,Arial,sans-serif;color:#236f52}
.sb-showcase-lightbox-card{padding-top:8px}
.sb-showcase-lightbox-counter{position:absolute;top:14px;left:16px;z-index:1;background:#ffffffea;color:#163025;border-radius:999px;padding:7px 11px;font:700 12px Montserrat,Arial,sans-serif;box-shadow:0 2px 9px #0002}
.sb-showcase-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:1;border:0;border-radius:50%;width:42px;height:42px;background:#ffffffee;color:#172920;box-shadow:0 2px 9px #0003;cursor:pointer;font:400 28px/1 system-ui,sans-serif;display:grid;place-items:center}
.sb-showcase-lightbox-nav.prev{left:12px}.sb-showcase-lightbox-nav.next{right:12px}
.sb-showcase-lightbox-info strong{display:block;font-size:15px;margin-top:6px}
@media(max-width:540px){.sb-showcase-lightbox-counter{top:10px;left:10px}.sb-showcase-lightbox-nav{width:38px;height:38px}.sb-showcase-lightbox-nav.prev{left:8px}.sb-showcase-lightbox-nav.next{right:8px}.sb-showcase-open-link{margin-top:10px}}
