
/* v1.7.1 — guaranteed premium card appearance */
.grid:has(.ap-premium-card),.ap-luxe-home .grid:has(.ap-premium-card){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
.grid .ap-premium-card,.ap-luxe-home .grid .ap-premium-card{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;background:#101010!important;border:1px solid #4c4333!important;border-radius:15px!important;color:#f7f7f7!important;box-shadow:none!important;padding:0!important}
.grid .ap-premium-card .cimg{position:relative!important;display:block!important;flex:0 0 auto!important;aspect-ratio:4/3!important;width:100%!important;overflow:hidden!important;background:#211c19!important;border:0!important;border-radius:0!important;text-decoration:none!important}
.grid .ap-premium-card .cimg img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.grid .ap-premium-card .cimg .ph{display:block!important;width:100%!important;height:100%!important;background:linear-gradient(135deg,#241d16,#131313)!important}
.grid .ap-premium-card .cimg .ph:before,.grid .ap-premium-card .cimg .ph:after{display:none!important;content:none!important}
.grid .ap-premium-card .cbody{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;gap:10px!important;padding:16px 16px 2px!important;background:#101010!important;color:#fff!important;border:0!important;text-decoration:none!important}
.grid .ap-premium-card .ctitle{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;font-size:17px!important;line-height:1.35!important;font-weight:750!important;color:#fff!important;text-decoration:none!important;min-height:46px!important}
.grid .ap-premium-card .cmeta{display:flex!important;gap:6px!important;align-items:center!important;color:#b8b8b8!important;font-size:14px!important;text-decoration:none!important}
.grid .ap-premium-card .cmeta svg{width:15px!important;height:15px!important}
.grid .ap-premium-card .ap-card-button{display:block!important;margin:16px 15px 15px!important;padding:12px 10px!important;background:#0b0b0b!important;border:1px solid #d4af37!important;border-radius:10px!important;text-align:center!important;text-decoration:none!important;color:#d4af37!important;font-size:15px!important;font-weight:500!important;line-height:1.35!important}
.grid .ap-premium-card .ap-card-button:hover{background:#d4af37!important;color:#0b0b0b!important}
.grid .ap-premium-card .ap-new,.grid .ap-premium-card .ap-category{position:absolute!important;z-index:5!important;left:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;border-radius:50%!important;text-align:center!important;color:#fff!important;font-weight:800!important;line-height:1.02!important;font-size:10px!important;overflow-wrap:anywhere!important;text-decoration:none!important;padding:3px!important;box-sizing:border-box!important}
.grid .ap-premium-card .ap-new{top:12px!important;background:#bd3c47!important}
.grid .ap-premium-card .ap-category{top:62px!important;background:#63318f!important;font-size:9px!important}
.grid .ap-premium-card .cimg:not(:has(.ap-new)) .ap-category{top:12px!important}
.grid .ap-premium-card .ap-ribbon{position:absolute!important;right:-37px!important;top:19px!important;z-index:5!important;width:145px!important;transform:rotate(45deg)!important;background:#b63845!important;color:#fff!important;text-align:center!important;padding:5px 0!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important}
.grid .ap-premium-card .ap-ribbon-top,.grid .ap-premium-card .ap-ribbon-premium{background:#a58031!important}
.grid .ap-premium-card .ap-verified{position:absolute!important;left:-29px!important;bottom:12px!important;z-index:5!important;width:110px!important;transform:rotate(45deg)!important;background:#2577bc!important;color:white!important;text-align:center!important;padding:3px 0!important;font-size:8px!important;font-weight:700!important}
.grid .ap-premium-card .favf{position:absolute!important;right:12px!important;top:64px!important;z-index:8!important;margin:0!important}
.grid .ap-premium-card .favf button{display:grid!important;place-items:center!important;width:39px!important;height:39px!important;background:#ffffffed!important;border-radius:50%!important;border:0!important;color:#222!important;cursor:pointer!important}
@media(max-width:1000px){.grid:has(.ap-premium-card),.ap-luxe-home .grid:has(.ap-premium-card){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.grid:has(.ap-premium-card),.ap-luxe-home .grid:has(.ap-premium-card){grid-template-columns:minmax(0,1fr)!important;gap:15px!important}}

/* v1.7.2 : badges compacts de 35 px inspirés du module TopEscorteGirls */
.grid .ap-premium-card .ap-new,
.grid .ap-premium-card .ap-category{
  left:12px!important;width:35px!important;height:35px!important;
  min-width:35px!important;min-height:35px!important;
  padding:3px!important;box-sizing:border-box!important;
  border-radius:50%!important;line-height:1.04!important;
  font-size:9px!important;font-weight:800!important;
  overflow:hidden!important;word-break:normal!important;
  overflow-wrap:anywhere!important;hyphens:none!important;
}
.grid .ap-premium-card .ap-new{top:12px!important;font-size:9px!important;background:#be404a!important}
.grid .ap-premium-card .ap-category{top:53px!important;background:#622c91!important;font-size:8px!important}
.grid .ap-premium-card .cimg:not(:has(.ap-new)) .ap-category{top:12px!important}
/* Ruban VIP diagonal : largeur du bandeau 35px, toujours au coin haut droit. */
.grid .ap-premium-card .ap-ribbon{
  top:17px!important;right:-38px!important;width:150px!important;
  height:35px!important;min-height:35px!important;
  padding:0!important;display:flex!important;align-items:center!important;
  justify-content:center!important;box-sizing:border-box!important;
  transform:rotate(45deg)!important;transform-origin:center!important;
  font-size:12px!important;line-height:1!important;
}
/* VERIFIED : coin inférieur gauche de la photo, jamais en dessous. */
.grid .ap-premium-card .ap-verified{
  left:-35px!important;bottom:13px!important;width:120px!important;
  height:35px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  transform:rotate(45deg)!important;transform-origin:center!important;
  box-sizing:border-box!important;font-size:8px!important;line-height:1!important;
}
.grid .ap-premium-card .favf{top:68px!important;right:12px!important}

/* v1.7.3 : 4 cartes PC / 2 cartes mobile, sans retour à une seule colonne. */
@media(max-width:700px){
 .grid:has(.ap-premium-card),.ap-luxe-home .grid:has(.ap-premium-card){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .grid .ap-premium-card .cbody{padding:10px 9px 0!important;gap:6px!important}
 .grid .ap-premium-card .ctitle{font-size:13px!important;min-height:36px!important}
 .grid .ap-premium-card .cmeta{font-size:11px!important}
 .grid .ap-premium-card .ap-card-button{margin:10px 8px 9px!important;padding:9px 3px!important;font-size:12px!important}
 .grid .ap-premium-card .ap-new,.grid .ap-premium-card .ap-category{width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important}
 .grid .ap-premium-card .ap-ribbon{height:35px!important}
}
.grid .ap-premium-card .ap-ribbon-urgent{background:#c23b45!important}
.grid .ap-premium-card .ap-ribbon-top-premium{background:#b38c35!important}

/* v1.7.4: VIP badge anchored neatly in top-right photo corner. */
.grid .ap-premium-card .ap-ribbon{
 top:13px!important;right:-37px!important;width:125px!important;
 height:29px!important;min-height:29px!important;
 padding:0!important;font-size:11px!important;
}
/* Country added to hero: allow 5 controls on wide screens. */
.ap-luxe-home .hsearch{display:grid!important;grid-template-columns:minmax(150px,2fr) minmax(130px,1.4fr) minmax(115px,1.2fr) minmax(115px,1.2fr) auto!important;gap:8px!important;align-items:center!important}
.ap-luxe-home .hsearch>*{min-width:0!important;max-width:100%!important}
.ap-luxe-home .hsearch>.sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
@media(max-width:850px){.ap-luxe-home .hsearch{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ap-luxe-home .hsearch>input:first-of-type{grid-column:span 2}.ap-luxe-home .hsearch>button{grid-column:span 2}}
@media(max-width:700px){.grid .ap-premium-card .ap-ribbon{top:9px!important;right:-33px!important;width:110px!important;height:25px!important;min-height:25px!important;font-size:10px!important}}

/* v1.7.5 — cartes compactes de référence TopEscorteGirls. */
.grid .ap-premium-card .favf,.grid .ap-premium-card .fav2,
.grid .ap-premium-card .ap-favorite,.grid .ap-premium-card .favorite-btn,
.grid .ap-premium-card .ap-fav,.grid .ap-premium-card .cimg form.favf{display:none!important}
.grid .ap-premium-card .cimg{aspect-ratio:1.32/1!important}
.grid .ap-premium-card .cbody{padding:12px 13px 0!important;gap:6px!important}
.grid .ap-premium-card .ctitle{font-size:15px!important;line-height:1.28!important;min-height:39px!important;font-weight:750!important}
.grid .ap-premium-card .cmeta{font-size:12px!important}
.grid .ap-premium-card .ap-card-button{margin:12px 12px 12px!important;padding:10px 8px!important;font-size:13px!important}
.grid .ap-premium-card .ap-ribbon{top:11px!important;right:-31px!important;width:110px!important;height:35px!important;min-height:35px!important;font-size:11px!important}
.grid .ap-premium-card .ap-ribbon-top,.grid .ap-premium-card .ap-ribbon-premium,.grid .ap-premium-card .ap-ribbon-top-premium{background:#d4af37!important;color:#101010!important}
.grid .ap-premium-card .ap-ribbon-urgent,.grid .ap-premium-card .ap-ribbon-vip{background:#bd3e49!important;color:white!important}
@media(max-width:700px){
 .grid .ap-premium-card .cimg{aspect-ratio:1.22/1!important}
 .grid .ap-premium-card .cbody{padding:8px 8px 0!important;gap:5px!important}
 .grid .ap-premium-card .ctitle{font-size:12px!important;min-height:32px!important}
 .grid .ap-premium-card .cmeta{font-size:10px!important}
 .grid .ap-premium-card .ap-card-button{margin:8px!important;padding:8px 4px!important;font-size:11px!important}
 .grid .ap-premium-card .ap-ribbon{top:8px!important;right:-28px!important;width:98px!important;height:30px!important;min-height:30px!important;font-size:9px!important}
}

/* v1.7.6 : rubans diagonaux compacts 20px. Ne modifie pas les cartes. */
.grid .ap-premium-card .ap-ribbon {
  top: 10px !important;
  right: -23px !important;
  width: 90px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  padding: 0 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: rotate(45deg) !important;
  box-sizing: border-box !important;
}
@media (max-width: 700px) {
  .grid .ap-premium-card .ap-ribbon {
    top: 8px !important;
    right: -20px !important;
    width: 78px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    font-size: 9px !important;
  }
}

/* v1.7.8 : eliminate the white sliver above the ribbon at the upper right corner. */
.grid .ap-premium-card .cimg {position:relative!important;overflow:hidden!important}
.grid .ap-premium-card .ap-ribbon {--ap-corner:#bd3e49}
.grid .ap-premium-card .ap-ribbon-top,.grid .ap-premium-card .ap-ribbon-top-premium,.grid .ap-premium-card .ap-ribbon-premium {--ap-corner:#d4af37}
.grid .ap-premium-card .ap-ribbon::before {content:""!important;position:absolute!important;top:-40px!important;right:-45px!important;width:70px!important;height:70px!important;background:var(--ap-corner)!important;transform:rotate(-45deg)!important;z-index:-1!important;pointer-events:none!important}

/* v1.7.10 — TopEscortGirls Petites Annonces v2.6.70 triangular badge logic.
   No rotated stripe: the entire upper-right corner is filled. */
.grid .ap-premium-card .cimg > .ap-ribbon {
 position:absolute!important;inset:0 0 auto auto!important;
 top:0!important;right:0!important;bottom:auto!important;left:auto!important;
 display:block!important;width:58px!important;height:58px!important;
 min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
 margin:0!important;padding:0!important;transform:none!important;
 clip-path:polygon(0 0,100% 0,100% 100%)!important;
 background:#cf3545!important;color:#fff!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 z-index:7!important;overflow:hidden!important;text-decoration:none!important;
}
.grid .ap-premium-card .cimg > .ap-ribbon::before,
.grid .ap-premium-card .cimg > .ap-ribbon::after {content:none!important;display:none!important}
.grid .ap-premium-card .cimg > .ap-ribbon b {
 position:absolute!important;top:12px!important;right:2px!important;width:42px!important;
 display:block!important;text-align:center!important;white-space:normal!important;
 font-size:10px!important;font-weight:950!important;line-height:.95!important;
 transform:rotate(45deg)!important;transform-origin:center!important;color:inherit!important;
}
.grid .ap-premium-card .cimg > .ap-ribbon-vip,
.grid .ap-premium-card .cimg > .ap-ribbon-urgent {background:#cf3545!important;color:#fff!important}
.grid .ap-premium-card .cimg > .ap-ribbon-top,
.grid .ap-premium-card .cimg > .ap-ribbon-top-premium,
.grid .ap-premium-card .cimg > .ap-ribbon-premium {
 background:linear-gradient(135deg,#fff0ad 0%,#e2bf55 48%,#a67618 100%)!important;
 color:#090909!important;
}
.grid .ap-premium-card .cimg > .ap-ribbon-top-premium b {
 top:7px!important;right:-1px!important;width:48px!important;font-size:7px!important;line-height:.88!important;
}
.grid .ap-premium-card .cimg > .ap-ribbon-urgent b {font-size:8px!important}
@media(max-width:700px){
 .grid .ap-premium-card .cimg > .ap-ribbon {width:50px!important;height:50px!important}
 .grid .ap-premium-card .cimg > .ap-ribbon b {top:10px!important;right:1px!important;width:37px!important;font-size:8.5px!important}
 .grid .ap-premium-card .cimg > .ap-ribbon-top-premium b {top:6px!important;right:-1px!important;width:42px!important;font-size:6px!important}
}
