/* ==========================================================================
   Page « Location de bureau à Limoges » (location-bureau-limoges.php)
   Complète le thème (style.css) : uniquement ce qui n'existe pas déjà.
   ========================================================================== */

/* Titres de section : balises h2/h3 pour le SEO, à la taille des h5 du thème */
.lb-page h2.lb-title {font-size:32px; line-height:40px; margin-bottom:20px; text-transform:uppercase; font-weight:700}
.lb-page h3.lb-subtitle {font-size:22px; line-height:30px; margin-bottom:12px}

/* Hero : photo + encart rose */
.lb-hero {padding:0}
.lb-hero .lb-hero-row {display:flex; flex-wrap:wrap; margin:0}
.lb-hero .lb-hero-img {flex:0 0 58%; max-width:58%; padding:0; position:relative; min-height:560px; background:#1c1c1c; overflow:hidden}
.lb-hero .lb-hero-img img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.lb-hero .lb-hero-text {flex:0 0 42%; max-width:42%; padding:60px 6%; display:flex; flex-direction:column; justify-content:center}
.lb-hero h1 {font-size:40px; line-height:48px; margin-bottom:20px}
.lb-hero .lb-crumbs {font-size:13px; margin-bottom:18px; color:rgba(255,255,255,.8)}
.lb-hero .lb-crumbs a {color:#fff}
.lb-hero .lb-crumbs a:hover {text-decoration:underline}
.lb-hero .lb-price {font-size:44px; line-height:1; margin:28px 0 6px}
.lb-hero .lb-price small {font-size:18px}
.lb-badge {position:absolute; left:20px; bottom:20px; background:#fff; color:#232323; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:9px 14px}
.lb-badge:before {content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#2f9e5e; margin-right:8px; vertical-align:1px}

/* Chiffres clés */
.lb-facts {padding:40px 0}
.lb-facts .lb-fact-value {font-size:34px; line-height:40px; display:block}

/* Fiche du bureau (même logique que les listes de prestations) */
.lb-sheet {border-top:4px solid #ab404a; background:#fff; padding:10px 30px; box-shadow:0 0 10px rgba(0,0,0,.06)}
.lb-sheet dl {margin:0}
.lb-sheet .lb-sheet-row {display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #e5e5e5}
.lb-sheet .lb-sheet-row:last-child {border-bottom:0}
.lb-sheet dt {font-weight:400}
.lb-sheet dd {margin:0; text-align:right; color:#232323; font-weight:600}

/* Cartes « Pour qui » */
.lb-card {height:100%; border-top:4px solid #9bc9bc}

/* Tout compris */
.lb-include .icon-round-small {display:inline-flex; align-items:center; justify-content:center}

/* Images avec étiquette de capacité */
.lb-tag {display:inline-block; background:#9bc9bc; color:#232323; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 10px; margin-bottom:10px}
.lb-img-cover {width:100%; aspect-ratio:4/3; object-fit:cover}
.lb-img-portrait {width:100%; aspect-ratio:3/4; object-fit:cover}

/* Encadré « À savoir » */
.lb-note {border-left:4px solid #ab404a; padding:20px 26px; margin-top:40px}

/* Tarif */
.lb-big-price {font-size:72px; line-height:1}
.lb-big-price small {font-size:20px; color:#232323}
.lb-table {width:100%; background:#fff; margin-bottom:10px}
.lb-table caption {color:#6f6f6f; padding:0 0 10px; text-align:left}
.lb-table th, .lb-table td {padding:14px 20px; border-bottom:1px solid #e5e5e5}
.lb-table th {font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#ab404a; background:#eef5f3; font-weight:700}
.lb-table td {color:#232323}
.lb-table tr:last-child td {border-bottom:0}
.lb-table th:last-child, .lb-table td:last-child {text-align:right}

/* FAQ : accordéon du thème (accordion-style2) sur fond blanc */
.lb-faq .panel .panel-heading {background:#f7f7f7}
.lb-faq .panel .panel-heading.active-accordion {background:#eef5f3}
.lb-faq .panel-title {display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:16px; line-height:24px}
.lb-faq .panel-title h3 {font-size:16px; line-height:24px; margin:0; font-weight:600; color:#232323}
.lb-faq .panel-body {background:#fff; padding:20px 28px 10px}
.lb-faq .panel-body a {color:#ab404a; text-decoration:underline}

/* Appel final */
.lb-big-tel {font-size:42px; line-height:50px; display:inline-block; margin:10px 0 25px}
.lb-big-tel:hover {text-decoration:underline; color:#fff}

/* Liens internes */
.lb-seo-links {padding:30px 0; border-top:1px solid #e5e5e5}
.lb-seo-links a {color:#ab404a; font-weight:500}
.lb-seo-links a:hover {text-decoration:underline}

/* Barre d'action mobile */
.lb-sticky {display:none}

@media (max-width: 1199px) {
    .lb-hero h1 {font-size:34px; line-height:42px}
    .lb-page h2.lb-title {font-size:27px; line-height:32px}
}
@media (max-width: 991px) {
    .lb-hero {margin-top:0}
    .lb-hero .lb-hero-img, .lb-hero .lb-hero-text {flex:0 0 100%; max-width:100%}
    .lb-hero .lb-hero-img {min-height:0; aspect-ratio:3/2}
    .lb-hero .lb-hero-text {padding:40px 30px}
    .lb-page h2.lb-title {font-size:24px; line-height:30px}
    .lb-big-price {font-size:56px}
    .lb-col-gap > [class*="col-"] {margin-bottom:30px}
    .lb-sticky {display:flex; position:fixed; left:0; right:0; bottom:0; z-index:1000; background:#fff; border-top:1px solid #e5e5e5; padding:8px; gap:8px}
    .lb-sticky .btn {flex:1; margin:0; text-align:center}
    .lb-page-mobile-pad {height:64px}
    .scroll-top-arrow {bottom:80px}
}
@media (max-width: 767px) {
    .lb-hero h1 {font-size:28px; line-height:34px}
    .lb-hero .lb-price {font-size:36px}
    .lb-page h2.lb-title {font-size:20px; line-height:28px}
    .lb-big-tel {font-size:32px; line-height:40px}
    .lb-sheet .lb-sheet-row {flex-direction:column; gap:2px}
    .lb-sheet dd {text-align:left}
    .lb-page .text-large {font-size:16px; line-height:26px}
    .lb-facts .lb-fact-value {font-size:26px; line-height:32px}
}

.lb-page h2.lb-title.lb-title-normal {text-transform:none}
.lb-sticky .lb-sticky-main {background:#9bc9bc}
.lb-page .lb-sep {margin-bottom:30px !important}

/* Mosaïque de photos du bureau (grande photo + 2 petites) */
.lb-mosaic {display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:10px; height:clamp(360px, 44vw, 600px)}
.lb-mosaic figure {margin:0; position:relative; overflow:hidden; background:#f7f7f7}
.lb-mosaic figure:first-child {grid-row:1 / 3}
.lb-mosaic img {width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.lb-mosaic figure:hover img {transform:scale(1.03)}

/* Rangées en flex (colonnes de hauteurs différentes sans décalage) */
.row.lb-flex-row {display:flex; flex-wrap:wrap}
.row.lb-flex-row:before, .row.lb-flex-row:after {display:none}
.row.lb-flex-row > [class*="col-"] {float:none}

/* FAQ : questions plus lisibles (pas de gras simulé sur la police du thème) */
.lb-faq .panel-title h3 {font-size:17px; line-height:26px; font-weight:500; letter-spacing:.2px}

@media (max-width: 991px) {
    .lb-mosaic {grid-template-columns:1fr 1fr; grid-template-rows:auto auto; height:auto}
    .lb-mosaic figure:first-child {grid-column:1 / 3; grid-row:auto; aspect-ratio:3 / 2}
    .lb-mosaic figure:not(:first-child) {aspect-ratio:4 / 3}
    .row.lb-flex-row > [class*="col-"] {width:50%}
}
@media (max-width: 767px) {
    .row.lb-flex-row > [class*="col-"] {width:100%}
    .lb-faq .panel-title h3 {font-size:16px; line-height:24px}
}
