/*
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-grid .tc-card__media .tc-deferred-image:not(.tc-image-loaded) {
  color: transparent !important;
  background: #2b292a !important;
}

.tc-grid .tc-card__media .tc-image-fallback {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  color: #aaa !important;
  background: linear-gradient(145deg, #302d2e, #201f1f) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-align: center !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;
}

/* V28.9.6 archive filter summary, matching the compact selected-filter chips. */
.tc-search-summary{
    margin:10px 0 8px;
    color:inherit;
}
.tc-search-summary-label{
    display:block;
    margin-bottom:6px;
    font-size:15px;
}
.tc-search-chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.tc-search-chip{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:4px 8px;
    border-radius:4px;
    background:#555;
    color:#fff !important;
    text-decoration:none !important;
    font-size:14px;
    line-height:1.25;
}
.tc-search-chip:hover{background:#666;color:#fff!important;}
.tc-search-chip-remove{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#e53935;
    color:#fff;
    font-size:14px;
    font-weight:800;
    line-height:1;
}
.tc-results-count{
    margin:12px 0 14px;
    font-size:15px;
}

/* V28.9.15: match the slim location heading from the reference archive. */
.tc-archive h1{
    font-size:24px!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    font-weight:400!important;
    margin:12px 0 16px!important;
}
@media(max-width:600px){
    .tc-archive h1{
        font-size:24px!important;
        line-height:1.25!important;
        letter-spacing:0!important;
        font-weight:400!important;
    }
}

/* Profile contact bar: one source-of-truth layout. */
.tc-profile-contact-bar{
    grid-column:1 / -1;
    position:-webkit-sticky;
    position:sticky;
    top:0;
    z-index:90;
    align-self:start;
    width:100%;
    max-width:100%;
    min-height:48px;
    margin:0 auto 14px;
    padding:5px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 100%;
    order:0;
    gap:8px;
    box-sizing:border-box;
    overflow-x:auto;
    scrollbar-width:none;
    background:rgba(48,48,48,.96);
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    box-shadow:0 8px 22px rgba(0,0,0,.24);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.tc-profile-contact-bar::-webkit-scrollbar{display:none}

/* V28.9.20: match the reference card typography and badge-to-title spacing. */
.tc-grid .tc-card__body h2,
.tc-grid .tc-card__body h2 small{
    font-family:inherit !important;
    font-size:15px !important;
    font-weight:200 !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
}
.tc-grid .tc-card__body{
    padding-top:27px !important;
}
.tc-grid .tc-card__body h2{
    margin:0 0 4px !important;
}
.tc-grid .tc-card__body > p{
    font-family:inherit !important;
    margin:0 !important;
    padding:0 !important;
    font-size:10px !important;
    font-weight:200 !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
}
.tc-grid .tc-card__body > p .tc-location-icon{
    font-family:inherit !important;
    font-size:10px !important;
    font-weight:200 !important;
}

.tc-profile-contact-bar .tc-contact-icon{
    width:25px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 25px;
    color:#fff;
    text-decoration:none;
    border-radius:0;
    transition:none;
    background:transparent !important;
    -webkit-tap-highlight-color:transparent !important;
    outline:none;
}
.tc-profile-contact-bar .tc-contact-icon:focus,
.tc-profile-contact-bar .tc-contact-icon:active{
    background:transparent !important;
    outline:none;
}
.tc-profile-contact-bar .tc-contact-icon svg{
    width:25px;
    height:25px;
    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:25px;
    height:25px;
    display:block;
    object-fit:contain;
    background:transparent !important;
    -webkit-tap-highlight-color:transparent !important;
}
.tc-profile-contact-bar .tc-contact-number{
    order:2;
    display:inline-block;
    color:#f1f1f1;
    font-size:15px;
    font-weight:300;
    line-height:1;
    letter-spacing:.01em;
    white-space:nowrap;
    margin-left:-12px;
    margin-right:2px;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
}
.tc-profile-contact-bar .tc-contact-phone{order:1}
.tc-profile-contact-bar .tc-contact-whatsapp,
.tc-profile-contact-bar .tc-contact-telegram,
.tc-profile-contact-bar .tc-contact-instagram{order:3}

/* Style the existing WordPress pagination output in-place. */
.tc-pagination{
    display:flex;
    justify-content:center;
    margin:26px auto 8px;
}
.tc-pagination .navigation.pagination{
    display:flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:52px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:#353535;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.tc-pagination .screen-reader-text{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.tc-pagination .nav-links{
    display:flex;
    align-items:center;
    min-height:52px;
}
.tc-pagination .nav-links:not(:has(.page-numbers.prev))::before,
.tc-pagination .nav-links:not(:has(.page-numbers.next))::after{
    min-width:66px;
    height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    color:#8b6f19;
    font-size:35px;
    font-weight:300;
    line-height:1;
    pointer-events:none;
}
.tc-pagination .nav-links:not(:has(.page-numbers.prev))::before{
    content:"\2190";
}
.tc-pagination .nav-links:not(:has(.page-numbers.next))::after{
    content:"\2192";
}
.tc-pagination .nav-links .page-numbers{
    display:none;
}
.tc-pagination .nav-links .page-numbers.prev,
.tc-pagination .nav-links .page-numbers.next,
.tc-pagination .nav-links .page-numbers.current{
    min-width:66px;
    height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}
.tc-pagination .nav-links .page-numbers.prev,
.tc-pagination .nav-links .page-numbers.next{
    color:#ffbf00;
    font-size:35px;
    font-weight:300;
    line-height:1;
    text-decoration:none;
    transition:background-color .18s ease,color .18s ease;
}
.tc-pagination .nav-links .page-numbers.prev:hover,
.tc-pagination .nav-links .page-numbers.prev:focus-visible,
.tc-pagination .nav-links .page-numbers.next:hover,
.tc-pagination .nav-links .page-numbers.next:focus-visible{
    color:#ffd34d;
    background:rgba(255,255,255,.08);
}
.tc-pagination .nav-links .page-numbers.current{
    min-width:128px;
    padding:0 18px;
    border-left:1px solid rgba(255,255,255,.1);
    border-right:1px solid rgba(255,255,255,.1);
    color:#fff;
    font-size:18px;
    font-weight:400;
    white-space:nowrap;
}
.tc-pagination .nav-links .page-numbers.current .tc-pagination-total{
    margin-left:6px;
    color:#e2e2e2;
}
.tc-pagination .nav-links .page-numbers.prev:first-child,
.tc-pagination .nav-links .page-numbers.next:last-child{
    cursor:pointer;
}
@media(max-width:600px){
    .tc-pagination{
        min-height:52px;
        margin-top:24px;
    }
    .tc-pagination .navigation.pagination,
    .tc-pagination .nav-links,
    .tc-pagination .nav-links .page-numbers{
        height:52px;
    }
    .tc-pagination .nav-links .page-numbers.prev,
    .tc-pagination .nav-links .page-numbers.next{
        min-width:66px;
    }
    .tc-pagination .nav-links .page-numbers.current{
        min-width:128px;
        font-size:18px;
    }
}

@media (max-width:767px){
    .tc-profile-contact-bar{
        gap:10px;
        padding-left:10px;
        padding-right:10px;
    }
    .tc-profile-contact-bar .tc-contact-number{
        font-size:14px;
    }
}
/* Social icons: increased margin-top */
.tc-social-row{
    margin-top:28px !important;
}

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