/*
Theme Name: TemptCity Directory V28
Author: Custom Build
Description: Mobile-first 18+ profile directory with front-end signup, login, dashboard and profile submission.
Version: 21.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: temptcity
*/

.tc-badge-verified{background:#16a34a!important;color:#fff!important}
.tc-badge-new{background:#ec4899!important;color:#fff!important}
.tc-card-premium,.tc-card.tc-premium{border:1px solid #d4af37!important}

/* V37 sourcefix */
.tc-profile-description,.profile-description,.tc-profile-content p{color:#2b1335!important;line-height:1.8!important}
footer a,.site-footer a,.footer-menu a{color:#fff!important;opacity:1!important}
footer a:hover,.site-footer a:hover,.footer-menu a:hover{color:#ff5ca8!important}
@media(min-width:992px){
.tc-profile-edit-fab{position:fixed!important;left:24px!important;bottom:24px!important;top:auto!important;left:auto!important;z-index:9999!important}
}


/* V49 badge row */
.tc-card .tc-badge-verified,
.tc-card .badge-verified,
.tc-card .verified{
display:inline-flex!important;
order:1;
margin-left:8px!important;
}
.tc-card .tc-badge-new,
.tc-card .badge-new,
.tc-card .new{
display:inline-flex!important;
order:2;
}
.tc-card .tc-badge-verified,
.tc-card .tc-badge-new{
padding:3px 9px!important;
font-size:11px!important;
line-height:1.2!important;
}


/* V54 badge stack */
.tc-profile-card .tc-badge-stack{position:absolute;left:12px;bottom:88px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;z-index:5}
.tc-profile-card .tc-badge-new,
.tc-profile-card .tc-badge-verified{
  display:inline-flex;
}


/* V55 badge/text spacing */
.tc-badge-verified{
  bottom: 118px !important;
  left: 12px !important;
}
.tc-profile-card .tc-card-title,
.tc-profile-card .tc-card-meta,
.tc-profile-card .tc-card-location,
.tc-profile-card .tc-card-content{
  transform: translateY(10px) !important;
}


.tc-badge-new,.badge-new{
 top:42px !important;
 left:10px !important;
}


/* V57 badge stack */
.tc-badge-verified,.tc-badge-new{
display:inline-flex!important;
align-items:center;
height:28px;
padding:0 12px;
border-radius:999px!important;
font-weight:700;
font-size:14px;
}
.tc-badge-new{
position:absolute!important;
left:16px!important;
top:52px!important;
}
.tc-badge-verified{
position:absolute!important;
left:16px!important;
top:124px!important;
}


/* V58 badge layout */
.tc-badge-new{position:absolute;left:16px;top:18px;}
.tc-badge-verified{
position:absolute;
left:16px;
top:56px;
}

/* V59 badge layout override */
.tc-badge-new{left:12px;top:10px!important;}
.tc-badge-verified{left:12px;top:38px!important;right:auto!important;}
.tc-profile-meta,.tc-card-content{padding-top:70px!important;}


/* V60 badge/text polish */
.tc-profile-card .tc-profile-name,
.tc-profile-card .tc-profile-location,
.tc-profile-card .tc-profile-agency{
 position:relative;
 top:12px;
}
.tc-badge-new{top:12px!important;left:12px!important;}
.tc-badge-verified{top:58px!important;left:12px!important;}

/* V61 badge spacing tweak */
.tc-badge-new{top:18px!important;}
.tc-badge-verified{top:70px!important;left:14px!important;}
.tc-profile-card .tc-card-title,.tc-profile-card .tc-card-location{transform:translateY(-6px)!important;}


/* V62 text panel */
.tc-profile-card .tc-card-content,
.tc-profile-card .profile-content,
.tc-profile-card .profile-info{
 background:#fff !important;
 color:#2b1738 !important;
 position:absolute !important;
 left:0;right:0;bottom:0;
 padding:14px 16px !important;
 min-height:88px !important;
 border-top:1px solid rgba(0,0,0,.08);
 border-bottom-left-radius:16px;
 border-bottom-right-radius:16px;
}


/* V63 cleanup overrides */
.tc-card__body{
 position:relative !important;
 bottom:auto !important;
 left:auto !important;
 right:auto !important;
 background:#fff !important;
 padding:14px !important;
 margin-top:0 !important;
}
.tc-card__media{overflow:hidden;}
.tc-card__media::after{display:none!important;}

/* V64 restore text colors */
.tc-card__body,
.tc-card__body *{
 color:#222 !important;
}
.tc-card__title{color:#222!important;font-weight:700!important;}
.tc-card__meta,.tc-card__location,.tc-card__agency{color:#555!important;}


/* V65 badge positioning */
.tc-badges{position:absolute;left:12px;right:12px;bottom:8px;display:block;z-index:5}
.tc-badge-verified{position:absolute;left:0;bottom:4px!important}
.tc-badge-new{position:absolute;left:92px;bottom:4px!important;top:auto!important}


/* V66 fixes */
.tc-card__body h3,.tc-card__body .tc-card__title,.tc-card__body .profile-name{color:#222!important;display:block!important;}
.tc-card__body .tc-location,.tc-card__body .profile-location,.tc-card__body p,.tc-card__body span{color:#555!important;opacity:1!important;}
.tc-badge-new{position:absolute!important;left:16px!important;bottom:72px!important;top:auto!important;}
.tc-badge-verified{position:absolute!important;left:16px!important;bottom:40px!important;top:auto!important;}

/* V67 badge cleanup */
.tc-card__media{position:relative;overflow:hidden}
.tc-badges{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px;z-index:5}
.tc-badge{position:static!important}

/* V68 fix title */
.tc-card__body h2{color:#222!important;font-weight:700!important;display:block!important}.tc-card__body h2 small{color:#666!important}.tc-card__body p{color:#555!important}


/* V70 badge polish */
.tc-badges{position:absolute;left:10px;right:10px;top:10px;display:block;pointer-events:none}
.tc-badge--premium{position:absolute;top:0;left:0;transform:none!important;font-size:.82rem;padding:6px 12px;border-radius:18px}
.tc-badge--verified{position:absolute;left:0;bottom:12px}
.tc-badge--new{position:absolute;left:110px;bottom:12px}


/* V72 badge placement */
.tc-card__media{position:relative;}
.tc-badges{
 position:absolute!important;
 left:12px!important;
 right:auto!important;
 bottom:6px!important;
 top:auto!important;
 display:flex!important;
 flex-direction:column!important;
 gap:4px!important;
 z-index:5!important;
}
.tc-badges .tc-badge-row,.tc-badges .badge-row{
 display:flex!important;
 gap:6px!important;
}


/* V75.2 About section readability */
.about-section p,
.tc-about p,
.home-about p{
  color:#4A4453 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.9 !important;
  letter-spacing:.2px;
}


/* V75.4 Premium card gold border */
.tc-profile-card.premium,
.tc-card-premium,
.profile-card.premium,
.tc-profile-card.is-premium{
 border:2.5px solid #FFD700 !important;
 box-shadow:0 0 0 1px rgba(255,215,0,.35),0 0 16px rgba(255,193,7,.35);
}


/* V75.7.1 input visibility fixes */
input[type="tel"],input[type="number"],input[name*="phone"],input[name*="whatsapp"],
input[type="file"]{
 color:#222 !important;
}
input[type="file"]::file-selector-button{
 color:#222 !important;
}
input[type="file"]{
 background:#fff !important;
}

.tc-video-wrap iframe,.tc-video-wrap video,.tc-video-wrap .wp-video{width:100%;max-width:100%;border-radius:14px;overflow:hidden;aspect-ratio:9/16;}

/* Final profile-card shape: subtle reference curve, image, and body.
 * Keep badges/ribbons independently styled while matching the reference card.
 */
.tc-grid .tc-card,
.tc-grid .tc-card > a,
.tc-grid .tc-card__media,
.tc-grid .tc-card__media img,
.tc-grid .tc-card__body {
  border-radius: 6px !important;
  background: #232220 !important;
}

.tc-grid .tc-card__media {
  aspect-ratio: 1.92 / 3 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.tc-grid .tc-card {
  overflow: hidden !important;
  background: #232220 !important;
}

.tc-grid .tc-card__media,
.tc-grid .tc-card__media img {
  overflow: hidden !important;
}

.tc-grid .tc-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  vertical-align: top !important;
}

.tc-video-icon{font-size:.9em;vertical-align:middle;margin-left:6px;display:inline-block}

.tc-single-post{max-width:860px;margin:40px auto;padding:0 16px}
.tc-single-card{background:#111;color:#fff;border-radius:28px;overflow:hidden}
.tc-single-image img{display:block;width:100%;height:auto}
.tc-single-inner{padding:28px}
.tc-single-card h1{font-size:clamp(34px,5vw,56px);line-height:1.08;margin:0 0 14px;font-weight:800;color:#fff}
.tc-single-meta{color:#b9b9b9;margin-bottom:24px}
.tc-single-content,.tc-single-content p,.tc-single-content li{color:#ececec;font-size:20px;line-height:1.9}
.tc-single-content h2,.tc-single-content h3{color:#fff;margin-top:40px}
.tc-post-nav{display:flex;justify-content:space-between;border-top:1px solid #333;margin-top:40px;padding-top:20px}
.tc-post-nav a,.tc-back-blog{color:#ff5fb5;text-decoration:none;font-weight:700}

.tc-call-me{text-align:left;margin-bottom:8px}.tc-phone{color:#f6a9cb}.tc-contact-on{text-align:center;display:block;width:100%}

.tc-social span img{width:34px;height:34px;display:block;object-fit:contain}
.tc-social span{display:flex;align-items:center;justify-content:center}

.tc-call-center{display:flex;justify-content:center;align-items:center;width:100%;margin:12px 0}
.tc-call-btn{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:14px 28px;border-radius:999px;background:#ff4fa0;color:#fff;font-weight:700;text-decoration:none}
.tc-social-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}


/* ChatGPT fix: compact service checkboxes */
.tc-choice-grid label,
.tc-services label,
.services label{
 display:flex !important;
 align-items:center !important;
 justify-content:flex-start !important;
 gap:8px !important;
 min-height:44px !important;
 padding:8px 12px !important;
 line-height:1.2 !important;
}
.tc-choice-grid input[type="checkbox"],
.tc-services input[type="checkbox"],
.services input[type="checkbox"]{
 width:16px !important;
 height:16px !important;
 margin:0 8px 0 0 !important;
 flex-shrink:0;
}


/* V3 Form gap fix */
.tc-form-section,.tc-card,.tc-panel,fieldset{
  margin-bottom:16px !important;
}
.tc-form-section,.tc-card,.tc-panel{
  padding-bottom:0 !important;
}
form{row-gap:16px !important;}


/* Separate nested Services section */
.tc-form-section > .tc-form-section{margin-top:24px !important;border:1px solid #ff4fb3 !important;display:block;clear:both;}

/* Final verified tag styling — matches the supplied reference */
.tc-card__body .tc-badges{
  top:4px !important;
  right:5px !important;
  left:auto !important;
  bottom:auto !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  gap:0 !important;
  pointer-events:none !important;
}

.tc-card__body .tc-badge-row{
  display:flex !important;
  align-items:flex-start !important;
  gap:0 !important;
}

.tc-card__body .tc-badge-verified{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:18px !important;
  padding:2px 7px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:3px !important;
  background:#00d96b !important;
  color:#07130a !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.25px !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

.tc-card__body .tc-badge-verified::before{
  content:none !important;
  display:none !important;
}

/* Ribbon clipping fix: keep card and media overflow visible so the premium
 * ribbon can extend past the frame like the reference site. */
.tc-card,
.tc-card > a,
.tc-grid .tc-card,
.tc-card__media,
.tc-grid .tc-card__media{
    overflow:visible !important;
}
.tc-card__media img,
.tc-grid .tc-card__media img{
    border-radius:6px !important;
    overflow:hidden !important;
}

/* Compact card body bottom — location text sits 2-5px above the card border. */
.tc-card__body,
.tc-grid .tc-card__body{
    padding-bottom:4px !important;
    min-height:0 !important;
}
.tc-card__body p,
.tc-card__body p:last-child,
.tc-card__body .tc-location{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

/*
 * Row image alignment fix
 *
 * Keep the photo frame independent from the variable-height details panel.
 * The previous absolute/bottom-anchored body allowed a longer profile title
 * or description to visually move the photo frame upward relative to its
 * neighbour. The body now follows the fixed media frame in normal flow, so
 * every card in a row starts its image at the same y-position.
 */
.tc-grid{
    align-items:start !important;
}

.tc-grid .tc-card{
    align-self:start !important;
    height:auto !important;
    /*
     * The base theme uses margin:auto. In a CSS grid that also creates
     * automatic vertical margins, centering shorter cards inside a taller
     * row. Keep only horizontal auto margins so every card stays at row-top.
     */
    margin:0 auto !important;
}

.tc-grid .tc-card > a{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
}

.tc-grid .tc-card__media{
    flex:0 0 auto !important;
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1.92 / 3 !important;
}

.tc-grid .tc-card__media img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.tc-grid .tc-card__body{
    position:relative !important;
    inset:auto !important;
    flex:0 0 auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
}

/* Profile contact bar: 20px above the gallery initially, then sticks to viewport top. */
.tc-profile-contact-bar{
    grid-column:1 / -1;
    position:-webkit-sticky;
    position:sticky;
    top:0;
    z-index:90;
    align-self:start;
    width:fit-content;
    max-width:calc(100% - 32px);
    min-height:54px;
    margin:20px auto;
    padding:6px 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    background:rgba(48,48,48,.96);
    border:1px solid rgba(255,255,255,.16);
    border-radius:14px;
    box-shadow:0 8px 22px rgba(0,0,0,.24);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.tc-profile-contact-bar .tc-contact-icon{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    color:#fff;
    text-decoration:none;
    border-radius:10px;
    transition:transform .18s ease,background-color .18s ease;
}

.tc-profile-contact-bar .tc-contact-icon:hover,
.tc-profile-contact-bar .tc-contact-icon:focus-visible{
    transform:translateY(-2px) scale(1.05);
    background:rgba(255,255,255,.12);
}

.tc-profile-contact-bar .tc-contact-icon:focus-visible{
    outline:2px solid #ff4fa0;
    outline-offset:2px;
}

.tc-profile-contact-bar .tc-contact-icon svg{
    width:29px;
    height:29px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.tc-profile-contact-bar .tc-contact-icon img{
    width:31px;
    height:31px;
    display:block;
    object-fit:contain;
}

@media (max-width:767px){
    .tc-profile-contact-bar{
        top:0;
        gap:14px;
        min-height:52px;
        padding:5px 12px;
    }
    .tc-profile-contact-bar .tc-contact-icon{
        width:40px;
        height:40px;
        flex-basis:40px;
    }
}

@media (min-width:768px){
    .tc-profile-contact-bar{
        gap:20px;
        min-height:58px;
        padding-left:18px;
        padding-right:18px;
    }
}

/* Header must scroll away with the page. */
.tc-header,
header.tc-header,
.site-header{
    position: static !important;
    top: auto !important;
}
