/* ============================================================
   hgn-fix.css — REBUILT design repair layer (loaded LAST)
   "Royal Amethyst" edition.
   Keeps every structural fix from the previous version:
   FAQ clipping, empty icons (recoloured to purple/gold),
   card alignment, action buttons, email overflow, full-bleed
   visual break, reveal fallback. Scoped so area/legal pages
   stay untouched.
   ============================================================ */

/* ---------- 1. FAQ accordion (answers were clipped by max-height:0 + padding) */
body:not(.area-page):not(.legal-page) .faq-item .faq-answer{
  max-height:0!important;
  opacity:0!important;
  overflow:hidden!important;
  padding:0 20px!important;
  margin-top:0!important;
  transition:max-height .45s ease,opacity .3s ease,padding .3s ease,margin .3s ease;
}
body:not(.area-page):not(.legal-page) .faq-item.open .faq-answer{
  max-height:900px!important;
  opacity:1!important;
  padding:2px 20px 18px!important;
}
body:not(.area-page):not(.legal-page) .faq-item h3{
  position:relative!important;
  padding-right:52px!important;
  list-style:none;
}
body:not(.area-page):not(.legal-page) .faq-item h3::after{
  content:'+';
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:var(--gold-600,#a97e15)!important;
  font-size:1.3rem;
  font-weight:700;
  line-height:1;
  transition:transform .25s ease;
}
body:not(.area-page):not(.legal-page) .faq-item.open h3::after{
  content:'\2013';
  transform:translateY(-50%) rotate(180deg);
}
body:not(.area-page):not(.legal-page) .faq-item h3:hover{
  background:var(--rp-050,#f6f3fc)!important;
}

/* ---------- 2. Trust badge icons (empty divs -> SVG icons, gold/violet) */
body:not(.area-page):not(.legal-page) .trust-badge .icon{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:52px!important;
  height:52px!important;
  margin:0 auto 14px!important;
  border-radius:14px;
  background-color:rgba(212,167,44,.12)!important;
  background-image:none!important;
  background-size:26px 26px!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
body:not(.area-page):not(.legal-page) .trust-badge:nth-of-type(1) .icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a97e15' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 4v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")!important;
}
body:not(.area-page):not(.legal-page) .trust-badge:nth-of-type(2) .icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a97e15' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 018 0v4'/%3E%3C/svg%3E")!important;
}
body:not(.area-page):not(.legal-page) .trust-badge:nth-of-type(3) .icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23a97e15' stroke='none'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14l-5-4.87 6.91-1.01z'/%3E%3C/svg%3E")!important;
}
body:not(.area-page):not(.legal-page) .trust-badge:nth-of-type(4) .icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a97e15' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-5.5-7-11a7 7 0 0114 0c0 5.5-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")!important;
}

/* ---------- 3. Verified strip check icons (gold) */
body:not(.area-page):not(.legal-page) .verified-strip .vs-icon{
  display:inline-block!important;
  width:17px!important;
  height:17px!important;
  vertical-align:-3px;
  margin-right:7px;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a97e15' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12.5l2.5 2.5L16 9.5'/%3E%3C/svg%3E")!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* ---------- 4. Safety card icons (violet on dark purple cards) */
body:not(.area-page):not(.legal-page) .safety-card .safety-card-icon{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:50px!important;
  height:50px!important;
  border-radius:14px;
  background-color:rgba(212,167,44,.16)!important;
  background-image:none!important;
  background-size:26px 26px!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
body:not(.area-page):not(.legal-page) .safety-card:nth-of-type(1) .safety-card-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9c767' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 19V8a2 2 0 00-2-2h-3.17L16 4h-8L6.17 6H3a2 2 0 00-2 2v11a2 2 0 002 2h18a2 2 0 002-2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E")!important;
}
body:not(.area-page):not(.legal-page) .safety-card:nth-of-type(2) .safety-card-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9c767' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 01-8.5 8.5 8.5 8.5 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 018.5-8.5 8.38 8.38 0 018.5 8.5z'/%3E%3Cpath d='M9.5 12l2 2 3.5-4'/%3E%3C/svg%3E")!important;
}
body:not(.area-page):not(.legal-page) .safety-card:nth-of-type(3) .safety-card-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9c767' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V7l7-4 7 4v14'/%3E%3Cpath d='M9 21v-4h6v4M9 11h.01M15 11h.01'/%3E%3C/svg%3E")!important;
}
body:not(.area-page):not(.legal-page) .safety-card:nth-of-type(4) .safety-card-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9c767' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")!important;
}

/* ---------- 5. Escort card header: keep name + age on one line */
body:not(.area-page):not(.legal-page) .escort-header{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body:not(.area-page):not(.legal-page) .escort-header .escort-age{
  flex-shrink:0;
  white-space:nowrap;
}
body:not(.area-page):not(.legal-page) .escort-name{text-align:left}

/* ---------- 6. Escort card action buttons */
body:not(.area-page):not(.legal-page) .escort-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:auto!important;
}
body:not(.area-page):not(.legal-page) .escort-card .escort-info{
  display:flex;
  flex-direction:column;
  height:100%;
}
body:not(.area-page):not(.legal-page) .escort-actions .call-btn{
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:10px 14px!important;
  border-radius:11px!important;
  font-weight:600!important;
  font-size:.85rem!important;
  text-decoration:none!important;
  background:linear-gradient(135deg,#5b21b6,#8b5cf6)!important;
  color:#fff!important;
  border:0!important;
  transition:filter .25s ease,transform .25s ease,box-shadow .25s ease;
}
body:not(.area-page):not(.legal-page) .escort-actions .call-btn:hover{
  filter:brightness(1.08);
  transform:translateY(-2px);
  color:#fff!important;
  box-shadow:0 10px 22px rgba(91,33,182,.45);
}
body:not(.area-page):not(.legal-page) .escort-actions .whatsapp-btn:hover{color:#fff!important}

/* ---------- 7. Area cards: align CTA buttons to consistent bottom row */
body:not(.area-page):not(.legal-page) .areas-grid{
  display:grid;
  gap:24px;
}
body:not(.area-page):not(.legal-page) .areas-grid .area-card{
  display:flex!important;
  flex-direction:column!important;
}
body:not(.area-page):not(.legal-page) .areas-grid .area-card h3{text-align:left}
body:not(.area-page):not(.legal-page) .areas-grid .area-card p{
  text-align:left;
  flex:1 0 auto;
}
body:not(.area-page):not(.legal-page) .areas-grid .area-card .area-link{
  margin-top:auto!important;
  align-self:flex-start!important;
  min-height:32px;
}

/* ---------- 8. Contact card email: stop ugly mid-word break */
body:not(.area-page):not(.legal-page) .book-card-btn--outline{
  word-break:normal!important;
  overflow-wrap:anywhere;
  font-size:.84rem!important;
  line-height:1.45;
  text-align:center;
}

/* ---------- 9. home-visual-break: keep inside page container */
body:not(.area-page):not(.legal-page) .home-visual-break{
  max-width:1200px!important;
  width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:18px!important;
}
body:not(.area-page):not(.legal-page) .home-visual-break figure img{border-radius:0}

/* ---------- 10. Content list alignment */
body:not(.area-page):not(.legal-page) .content-section ul,
body:not(.area-page):not(.legal-page) .section-copy-inner ul,
body:not(.area-page):not(.legal-page) .booking-guide-section ul{
  list-style-position:outside;
  margin:14px 0 14px 22px;
  padding:0;
  text-align:left;
  max-width:100%;
}
body:not(.area-page):not(.legal-page) .content-section ul li,
body:not(.area-page):not(.legal-page) .section-copy-inner ul li,
body:not(.area-page):not(.legal-page) .booking-guide-section ul li{
  text-align:left;
  margin-bottom:8px;
}

/* ---------- 11. Ratings pill: hide empty star span, keep clean number */
body:not(.area-page):not(.legal-page) .escort-rating .rating-stars{display:none}

/* ---------- 12. Reveal-animation safety net */
body:not(.area-page):not(.legal-page) .service-card,
body:not(.area-page):not(.legal-page) .escort-card,
body:not(.area-page):not(.legal-page) .trust-badge,
body:not(.area-page):not(.legal-page) .testimonial-card,
body:not(.area-page):not(.legal-page) .safety-card,
body:not(.area-page):not(.legal-page) .booking-step,
body:not(.area-page):not(.legal-page) .area-card{
  transition:opacity .5s ease,transform .5s ease,border-color .3s ease,box-shadow .3s ease;
}

/* ---------- 13. Tag pills: consistent underline-free look */
body:not(.area-page):not(.legal-page) .tag{white-space:nowrap}

/* ---------- 14. Testimonial cards: hide unstyled SEO link dumps */
body:not(.area-page):not(.legal-page) .testimonial-card .seo-footer-additions{
  display:none!important;
}

/* ---------- 15. Section CTA buttons: always centred */
body:not(.area-page):not(.legal-page) .section-cta-wrap{
  display:block!important;
  text-align:center!important;
}
