/* TOBY PROPERTIES GROUP — navigation unique, centrée et active par destination — Adéma Afrik */
.tpg-unified-header > .max-w-7xl {
  display:grid!important;
  grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr);
  align-items:center;
  gap:clamp(10px,1.7vw,26px);
  max-width:1280px;
  height:80px;
  margin-inline:auto;
}
.tpg-unified-header > .max-w-7xl > a:first-child { justify-self:start; display:flex; align-items:center; min-width:0; }
.tpg-unified-header .tpg-header-logo { width:auto; max-width:136px; height:58px; object-fit:contain; object-position:left center; }
.tpg-unified-header .tpg-nav {
  display:flex!important; justify-self:center; align-items:center; justify-content:center;
  gap:clamp(13px,1.8vw,28px)!important; margin:0!important;
  min-width:0; white-space:nowrap; font-size:11px; letter-spacing:.08em;
}
.tpg-unified-header .tpg-nav > .tpg-nav-link {
  display:inline-flex; align-items:center; justify-content:center;
  height:58px; padding:2px 0 0; border-bottom:2px solid transparent;
  box-sizing:border-box; color:#292929!important; text-decoration:none!important;
  font-weight:600!important; margin-left:0!important; background:transparent;
  transform:none!important; transition:color .2s ease,border-color .2s ease;
}
.tpg-unified-header .tpg-nav > .tpg-nav-link:hover,
.tpg-unified-header .tpg-nav > .tpg-nav-link:focus-visible { color:#b21425!important; border-bottom-color:#b21425!important; }
.tpg-unified-header .tpg-nav > .tpg-nav-link.is-active,
.tpg-unified-header .tpg-nav > .tpg-nav-link[aria-current="page"] {
  color:#b21425!important; border-bottom-color:#b21425!important; font-weight:700!important;
}
.tpg-unified-header .tpg-header-actions {display:flex!important;align-items:center;justify-self:end;justify-content:flex-end;gap:clamp(12px,1.4vw,22px)!important;margin:0!important;min-width:0;}
.tpg-unified-header .tpg-header-actions > a {margin:0!important;white-space:nowrap;}
.tpg-unified-header .tpg-header-actions > a:hover {color:#b21425!important;}
.tpg-unified-header .tpg-nav-link:focus-visible,
.tpg-unified-header-mobile a:focus-visible,
.tpg-unified-header-mobile button:focus-visible,
.mobile-drawer nav a:focus-visible,
.mobile-drawer-close:focus-visible {outline:2px solid #b21425;outline-offset:4px;}
/* Fix the alignment of the hamburger, centre logo and right-hand icons on narrow displays. */
.tpg-unified-header-mobile {display:grid!important; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center;column-gap:8px; width:100%; z-index:80;}
.tpg-unified-header-mobile > div {min-width:0!important;flex:none!important;gap:10px!important;}
.tpg-unified-header-mobile > div:first-child {display:flex;justify-content:flex-start;align-items:center;}
.tpg-unified-header-mobile > div:nth-child(2) {display:flex;justify-content:center;align-items:center;min-width:0!important;}
.tpg-unified-header-mobile > div:last-child {display:flex;justify-content:flex-end;align-items:center;}
.tpg-unified-header-mobile a, .tpg-unified-header-mobile button{min-width:36px;min-height:42px;flex:0 0 auto; transform:none!important;}
.tpg-unified-header-mobile .tpg-header-logo{width:90px;height:40px;max-width:27vw;object-fit:contain;}
.tpg-unified-header-mobile > div:nth-child(2) a{min-width:0;}
.mobile-drawer{z-index:160!important;visibility:hidden;}
.mobile-drawer.open{visibility:visible;}
.mobile-drawer-panel{overflow-y:auto;overscroll-behavior:contain;max-height:100dvh;}
.mobile-drawer nav a.tpg-drawer-link{display:block;line-height:1.5;color:#242424; padding:14px 11px; font-size:12px; font-weight:600; border-bottom:1px solid #ebebeb; border-left:3px solid transparent;}
.mobile-drawer nav a.tpg-drawer-link:hover,.mobile-drawer nav a.tpg-drawer-link:focus-visible,
.mobile-drawer nav a.tpg-drawer-link.is-active,.mobile-drawer nav a.tpg-drawer-link[aria-current="page"]{color:#b21425!important;background:#fff2f3;border-left-color:#b21425;}
.mobile-drawer nav a.wa{color:#fff!important;}
.mobile-drawer-close{display:inline-flex;align-items:center;justify-content:center;}
body.tpg-menu-open{overflow:hidden!important;}
@media(min-width:768px){.tpg-unified-header-mobile {display:none!important;}}
@media(max-width:767px){.tpg-unified-header-mobile{display:grid!important;}.tpg-unified-header{display:none!important;}}
@media(min-width:768px) and (max-width:1040px){
 .tpg-unified-header > .max-w-7xl{grid-template-columns:minmax(80px,1fr) auto minmax(75px,1fr);gap:12px; padding-inline:16px!important;}
 .tpg-unified-header .tpg-header-logo{max-width:99px;height:44px;}
 .tpg-unified-header .tpg-nav{gap:clamp(8px,1.1vw,15px)!important;font-size:10px;letter-spacing:.03em;}
 .tpg-unified-header .tpg-header-actions{gap:11px!important;}
 .tpg-unified-header .tpg-header-actions a[aria-label="Voir et rechercher nos biens"] span{display:none;}
}
@media(max-width:360px){.tpg-unified-header-mobile{column-gap:3px;padding-inline:9px!important;}.tpg-unified-header-mobile > div{gap:5px!important;}.tpg-unified-header-mobile a,.tpg-unified-header-mobile button{min-width:34px;}.tpg-unified-header-mobile .tpg-header-logo{width:82px;}}
@media(prefers-reduced-motion:reduce){.mobile-drawer,.mobile-drawer-panel,.tpg-unified-header .tpg-nav-link{transition:none!important}}


/* Mise à jour TPG — logo renforcé + fiche villa réelle */
.tpg-unified-header .tpg-header-logo{max-width:158px!important;height:64px!important;}
.tpg-unified-header-mobile .tpg-header-logo{width:104px!important;height:44px!important;max-width:31vw!important;}
.tpg-unified-footer .tpg-footer-logo{width:128px!important;height:72px!important;}
@media(min-width:768px) and (max-width:1040px){.tpg-unified-header .tpg-header-logo{max-width:112px!important;height:50px!important;}}
@media(max-width:360px){.tpg-unified-header-mobile .tpg-header-logo{width:94px!important;height:42px!important;}}
.tpg-property-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:#111;}
.tpg-property-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tpg-property-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.78));}
.tpg-property-hero-content{position:relative;z-index:2;color:#fff;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:90px 0 64px;}
.tpg-property-kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:#eee;}
.tpg-property-title{font-family:Cinzel,serif;font-size:clamp(34px,5vw,68px);line-height:1.06;letter-spacing:.07em;text-transform:uppercase;margin:12px 0 16px;}
.tpg-property-sub{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#eee;}
.tpg-property-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto;}
.tpg-property-summary{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;padding:72px 0;}
.tpg-property-price{font-family:Cinzel,serif;font-size:clamp(28px,4vw,48px);color:#b21425;margin-top:8px;}
.tpg-property-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.tpg-property-pill{border:1px solid #ddd;border-radius:999px;padding:9px 14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.tpg-property-floor{border-top:1px solid #e5e5e5;padding:20px 0}.tpg-property-floor h3{font-family:Cinzel,serif;font-size:18px;letter-spacing:.08em;margin-bottom:8px}.tpg-property-floor p{font-size:14px;line-height:1.8;color:#555;}
.tpg-property-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;padding-bottom:72px}.tpg-property-gallery figure{overflow:hidden;border-radius:12px;background:#eee;min-height:260px}.tpg-property-gallery figure:nth-child(1),.tpg-property-gallery figure:nth-child(6){grid-column:span 7}.tpg-property-gallery figure:nth-child(2),.tpg-property-gallery figure:nth-child(5){grid-column:span 5}.tpg-property-gallery figure:nth-child(3),.tpg-property-gallery figure:nth-child(4),.tpg-property-gallery figure:nth-child(7),.tpg-property-gallery figure:nth-child(8){grid-column:span 6}.tpg-property-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tpg-property-gallery figure:hover img{transform:scale(1.025)}
.tpg-property-cta{background:#111;color:#fff;padding:58px 24px;text-align:center}.tpg-property-cta h2{font-family:Cinzel,serif;letter-spacing:.08em;font-size:clamp(24px,3vw,38px)}.tpg-property-cta a{display:inline-flex;margin-top:24px;padding:13px 26px;border-radius:999px;background:#fff;color:#111;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.tpg-property-cta a:hover{background:#b21425;color:#fff}
@media(max-width:767px){.tpg-property-hero{min-height:62vh}.tpg-property-hero-content{width:calc(100% - 32px);padding:70px 0 34px}.tpg-property-title{font-size:30px;letter-spacing:.05em}.tpg-property-sub{font-size:11px;line-height:1.7}.tpg-property-wrap{width:calc(100% - 32px)}.tpg-property-summary{grid-template-columns:1fr;gap:26px;padding:38px 0}.tpg-property-gallery{grid-template-columns:1fr 1fr;gap:8px;padding-bottom:40px}.tpg-property-gallery figure,.tpg-property-gallery figure:nth-child(n){grid-column:span 1;min-height:160px}.tpg-property-gallery figure:first-child{grid-column:span 2;min-height:240px}.tpg-property-pills{gap:7px}.tpg-property-pill{font-size:9px;padding:8px 10px}}
