/*
  Talent Explorer (R12) — migrated verbatim from the canonical mockup
  app/views/mockups/talent/explorer.html.erb (inline <style> block).
  Zero inline CSS: the view body carries only class hooks; dynamic values
  (photo background, gradients) go through data-attrs + Stimulus.
  Future-brick (Brick 3 AI search/match) annotations at the bottom.
*/

/* Reset the talent layout wrapper padding for the full-bleed explorer */
main:has(.te-page){max-width:none;padding:0;padding-top:90px;margin:0;background:#FBFBFB;}

/* === PAGE === */
.te-page{min-height:100vh;background:#FBFBFB;font-family:'Geist',system-ui,sans-serif;color:#000;overflow-x:hidden;}
.te-page ::-webkit-scrollbar{height:5px;width:5px;}
.te-page ::-webkit-scrollbar-thumb{background:#E3E3E3;border-radius:3px;}
.te-page button{cursor:pointer;border:none;background:none;font-family:inherit;}
.te-page a{text-decoration:none;color:inherit;}
.te-page textarea{font-family:inherit;}

/* === HERO === */
.te-hero{max-width:1200px;margin:0 auto;padding:48px 32px 24px;text-align:center;}
.te-hero-title{font-family:'Geist',system-ui,sans-serif;font-size:42px;font-weight:700;color:#1a1a1a;line-height:1.1;margin:0 0 10px;}
.te-hero-title i{font-style:italic;background:linear-gradient(135deg,#C4A559 0%,#D4A832 30%,#EDCA50 55%,#F8E27A 75%,#D4A832 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:400;}
.te-hero-sub{font-size:13px;color:#6B6660;margin-bottom:22px;}
.te-hero-sub b{color:#1a1a1a;font-weight:700;}

/* === TABS === */
.te-tabs{display:inline-flex;gap:0;background:#fff;border:1.5px solid rgba(0,0,0,.06);border-radius:100px;padding:4px;margin-bottom:22px;box-shadow:0 2px 12px rgba(0,0,0,.04);}
.te-tab{padding:9px 22px;border-radius:100px;font-size:12.5px;font-weight:700;color:#6B6660;border:none;background:transparent;cursor:pointer;transition:all .2s;font-family:inherit;display:inline-flex;align-items:center;gap:6px;}
.te-tab:hover{color:#1a1a1a;}
.te-tab.active{color:#fff;background:linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);box-shadow:0 2px 10px rgba(184,145,42,.3);text-shadow:0 1px 2px rgba(0,0,0,.15);}
.te-beta{font-size:8px;font-weight:800;letter-spacing:.8px;padding:2px 6px;border-radius:100px;background:rgba(184,145,42,.15);color:#9A7A28;margin-left:2px;}

/* === FILTER BAR === */
.te-filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:1100px;margin:0 auto;}
.te-sf{position:relative;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;min-width:148px;border-radius:11px;border:1.5px solid rgba(0,0,0,.08);background:#fff;cursor:pointer;transition:all .2s ease;user-select:none;text-align:left;}
.te-sf:hover{border-color:rgba(184,145,42,.4);background:linear-gradient(180deg,#fff,#FBF8F2);}
.te-sf.open{border-color:#C4A559;background:#FBF8F2;box-shadow:0 4px 18px rgba(184,145,42,.15);z-index:30;}
.te-sf.filled{border-color:rgba(184,145,42,.5);background:linear-gradient(180deg,#fff,#FBF8F2);}
.te-sf.disabled{opacity:.5;cursor:not-allowed;background:#F7F6F3;}
.te-sf-label{font-size:11.5px;line-height:1.3;flex:1;min-width:0;}
.te-sf-name{color:#A09A94;font-weight:500;}
.te-sf-value{color:#1a1a1a;font-weight:700;}
.te-sf.filled .te-sf-value{color:#8C6D34;}
.te-sf-arr{font-size:9px;color:#A09A94;flex-shrink:0;transition:transform .2s;}
.te-sf.open .te-sf-arr{transform:rotate(180deg);color:#8C6D34;}
.te-sf-drop{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-width:300px;background:#fff;border:1.5px solid rgba(184,145,42,.2);border-radius:12px;padding:5px;box-shadow:0 12px 36px rgba(0,0,0,.12);z-index:50;max-height:320px;overflow-y:auto;}
.te-sf.open .te-sf-drop{display:block;}
.te-sf-o{padding:9px 12px;border-radius:8px;font-size:12px;font-weight:600;color:#1a1a1a;cursor:pointer;transition:all .15s;text-align:left;display:flex;align-items:center;text-decoration:none;}
.te-sf-o:hover{background:#FBF4E2;color:#8C6D34;}
.te-sf-o.sel{background:linear-gradient(135deg,rgba(248,226,122,.25),rgba(237,202,80,.18));color:#7A5E1E;font-weight:800;}
.te-sf-o.sel::after{content:"\2713";float:right;color:#C4A559;font-weight:900;margin-left:auto;padding-left:8px;}
.te-sf-o-clear{color:#A09A94;font-weight:600;}
.te-page .te-reset-btn{width:42px;height:42px;border-radius:11px;border:1.5px solid rgba(0,0,0,.08);background:#fff;color:#6B6660;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;text-decoration:none;}
.te-page .te-reset-btn:hover{border-color:#C4A559;color:#8C6D34;background:#FBF8F2;transform:rotate(-30deg);}
.te-page .te-search-btn{width:42px;height:42px;border-radius:50%;border:none;background:linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(184,145,42,.4);transition:all .2s;}
.te-page .te-search-btn:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 6px 20px rgba(184,145,42,.5);}

/* === AI PANEL (Brick 3) === */
.te-ai-panel{max-width:760px;margin:0 auto;background:linear-gradient(180deg,#fff,#FBF8F2);border:1.5px solid rgba(184,145,42,.2);border-radius:18px;padding:22px 24px;text-align:left;box-shadow:0 8px 32px rgba(184,145,42,.08);display:none;}
.te-ai-panel.visible{display:block;}
.te-ai-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.te-ai-ico{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#C4A559 0%,#D4A832 30%,#EDCA50 55%,#F8E27A 75%,#D4A832 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700;box-shadow:0 4px 14px rgba(184,145,42,.35);}
.te-ai-lbl{font-size:11px;font-weight:800;letter-spacing:.14em;color:#8C6D34;text-transform:uppercase;}
.te-ai-sub{font-size:13px;color:#6B6660;margin-top:2px;}
.te-ai-quicks-label{font-size:9px;font-weight:800;letter-spacing:.14em;color:#A09A94;text-transform:uppercase;margin-bottom:8px;}
.te-ai-quicks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.te-ai-quick{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:100px;border:1.5px solid rgba(0,0,0,.08);background:#fff;font-size:11.5px;font-weight:600;color:#1a1a1a;cursor:pointer;transition:all .2s;font-family:inherit;}
.te-ai-quick:hover{border-color:#C4A559;background:#FBF4E2;color:#8C6D34;transform:translateY(-1px);box-shadow:0 2px 10px rgba(184,145,42,.15);}
.te-ai-input-wrap{display:flex;gap:8px;align-items:flex-start;}
.te-ai-input{flex:1;padding:13px 14px;border:1.5px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;font-size:13px;font-family:inherit;color:#1a1a1a;line-height:1.5;resize:none;outline:none;transition:all .2s;min-height:60px;}
.te-ai-input::placeholder{color:#A09A94;font-style:italic;}
.te-ai-input:focus{border-color:#C4A559;background:#FBF8F2;box-shadow:0 0 0 3px rgba(184,145,42,.08);}
.te-ai-launch{flex-shrink:0;height:60px;padding:0 22px;border:none;border-radius:12px;font-size:13px;font-weight:800;font-family:inherit;cursor:pointer;background:linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);color:#fff;box-shadow:0 4px 14px rgba(184,145,42,.35);transition:all .2s;text-shadow:0 1px 2px rgba(0,0,0,.15);}
.te-ai-launch:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(184,145,42,.45);}

/* === MAIN CONTENT === */
.te-main{max-width:1380px;margin:0 auto;padding:24px 32px 60px;}
.te-results-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.te-results-count{font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0;}
.te-results-count span{color:#B8975A;}
.te-sort-select{border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;background:#fff;cursor:pointer;outline:none;}

/* === CARDS GRID === */
.te-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;}
.te-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:#9A948C;font-size:14px;}
.te-empty-reset{color:#B8975A;font-weight:700;}

/* === OPPORTUNITY CARD === */
.te-opp-card{background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 14px rgba(0,0,0,.05);overflow:hidden;transition:all .3s;display:flex;flex-direction:column;position:relative;}
.te-opp-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.1);transform:translateY(-3px);}
.te-opp-link{position:absolute;inset:0;z-index:1;}
.te-opp-card>*:not(.te-opp-link){position:relative;z-index:2;}
.te-opp-actions,.te-opp-actions *{position:relative;z-index:3;}
.te-opp-preview{position:relative;z-index:3;}

/* PHOTO */
.te-opp-photo{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:14px 14px 0 0;}
.te-opp-photo-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.te-opp-photo-grad{position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);pointer-events:none;}
.te-opp-estab-type{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 9px 4px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;z-index:5;box-shadow:0 2px 6px rgba(0,0,0,.18);}
.te-opp-photo-badges{position:absolute;top:8px;right:8px;display:flex;gap:5px;z-index:5;}
.te-opp-photo-badge{font-size:7.5px;font-weight:800;padding:2px 7px;border-radius:100px;backdrop-filter:blur(8px);letter-spacing:.4px;}
.te-opp-photo-badge.featured{background:rgba(184,151,90,.92);color:#fff;}
.te-opp-photo-badge.urgent{background:rgba(211,47,47,.9);color:#fff;}
.te-opp-roletag{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);color:#fff;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:6px;font-family:'Geist',system-ui,sans-serif;font-style:italic;z-index:4;}

/* INFO */
.te-opp-info{padding:10px 12px 0;flex:1;display:flex;flex-direction:column;}
.te-opp-name-row{display:flex;align-items:center;gap:8px;}
.te-opp-name-block{display:flex;align-items:center;gap:5px;flex:1;min-width:0;}
.te-opp-name{font-family:'Geist',system-ui,sans-serif;font-size:15px;font-weight:700;color:#18140C;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.te-opp-check{flex-shrink:0;}
.te-opp-logo{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:rgba(255,255,255,.9);flex-shrink:0;}
.te-opp-role{font-size:11.5px;font-weight:600;color:#D4BC7A;margin-top:1px;}
.te-opp-status{display:flex;align-items:center;gap:9px;margin-top:5px;font-size:10.5px;color:#6B6560;flex-wrap:wrap;}
.te-opp-status-item{display:flex;align-items:center;gap:4px;}
.te-opp-dot-green{width:6px;height:6px;border-radius:50%;background:#2E7D32;}
.te-opp-michelin{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:100px;background:#C0392B;text-transform:uppercase;letter-spacing:.3px;}
.te-opp-michelin svg,.te-opp-michelin img{width:9px;height:9px;}
.te-opp-michelin b{font-weight:800;color:#fff;font-size:9px;}
.te-opp-currently{margin-top:4px;font-size:11px;}
.te-opp-currently .te-opp-salary{color:#8C6D34;font-weight:700;}
.te-opp-section-lbl{font-size:8.5px;font-weight:700;letter-spacing:1px;color:#A09890;text-transform:uppercase;margin:8px 0 4px;}
.te-opp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.te-opp-thumb{aspect-ratio:1.4;border-radius:6px;background-size:cover;background-position:center;border:1px solid rgba(0,0,0,.06);transition:all .15s;}
.te-opp-thumb.active{border:1.5px solid #D4BC7A;box-shadow:0 0 0 2px rgba(201,165,74,.15);}
.te-opp-thumb:hover{transform:scale(1.04);}
.te-opp-conds{display:flex;gap:5px;flex-wrap:wrap;}
.te-opp-cond{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#7a5a1f;background:linear-gradient(180deg,#FBF4DC,#F4E6B3);border:1px solid rgba(184,151,90,.32);padding:2px 7px 2px 6px;border-radius:999px;line-height:1;}
.te-opp-cond svg{color:#9E7E3F;flex-shrink:0;}
.te-opp-creds{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap;}
.te-opp-cred{font-size:9.5px;font-weight:500;color:#6B6560;padding:2px 7px;border:1px solid rgba(0,0,0,.08);border-radius:4px;}
.te-page .te-opp-preview{margin-top:9px;width:100%;padding:8px 12px;border-radius:8px;border:1px solid #D4BC7A;background:linear-gradient(135deg,rgba(201,165,74,.10),rgba(232,204,110,.05));color:#7A5E1F;font-size:11.5px;font-weight:700;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;transition:all .15s;text-decoration:none;}
.te-page .te-opp-preview:hover{filter:brightness(1.03);border-color:#C9A84C;}

/* ACTIONS */
.te-opp-actions{padding:8px 12px 12px;display:flex;gap:8px;align-items:stretch;}
/* button_to wraps the toggle in a <form>; make it behave like a flex child */
.te-opp-actions turbo-frame{flex:1;display:flex;}
.te-opp-actions form{flex:1;margin:0;display:flex;}
.te-opp-shortlist{flex:1;padding:9px 0;border-radius:8px;border:1.5px solid rgba(201,165,74,.45);background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:11.5px;font-weight:700;letter-spacing:.3px;color:#9A7A28;font-family:inherit;transition:all .15s;text-transform:uppercase;}
.te-opp-shortlist:hover{background:linear-gradient(135deg,rgba(201,165,74,.10),rgba(232,204,110,.05));border-color:#D4BC7A;}
.te-opp-shortlist.saved{background:linear-gradient(135deg,rgba(201,165,74,.18),rgba(232,204,110,.10));border-color:#D4BC7A;color:#7a5a1f;}
.te-opp-shortlist svg{flex-shrink:0;}
.te-page .te-opp-apply{flex:1;padding:9px 0;border-radius:8px;border:none;background:linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#D4BC7A 100%);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;}
.te-opp-apply:hover{filter:brightness(1.05);}
.te-opp-apply-sent{filter:grayscale(.2);opacity:.85;}

/* === FOOTER === */
.te-footer{text-align:center;padding:40px 32px 24px;font-size:10px;color:#ccc;letter-spacing:1px;}
.te-footer b{color:#B8975A;}

/* === ANIMATIONS === */
@keyframes te-fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.te-anim-1{animation:te-fadeUp .5s ease .05s both;}
.te-anim-2{animation:te-fadeUp .5s ease .15s both;}
.te-anim-3{animation:te-fadeUp .5s ease .25s both;}

/* === FUTURE-BRICK (Brick 3 — AI search + match score) === */
.te-future{position:relative;filter:grayscale(.9);opacity:.55;pointer-events:none;}
.te-future-badge{position:absolute;top:10px;right:12px;z-index:6;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:100px;background:#1C1A17;color:#E8D49A;border:1px solid rgba(196,165,89,.35);box-shadow:0 1px 4px rgba(0,0,0,.15);pointer-events:auto;white-space:nowrap;}
.te-tab.te-future-tab{position:relative;filter:grayscale(.8);opacity:.6;}

/* === RESPONSIVE === */
@media (max-width:760px){
  .te-hero{padding:28px 16px 16px;}
  .te-hero-title{font-size:28px;}
  .te-sf{min-width:46%;flex:1 1 46%;padding:10px 12px;}
  .te-sf-drop{min-width:100%;}
  .te-main{padding:20px 16px 40px;}
  .te-cards-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .te-ai-input-wrap{flex-direction:column;}
  .te-ai-launch{width:100%;height:48px;}
}
@media (max-width:480px){
  .te-cards-grid{grid-template-columns:1fr;}
}

/* =====================================================
 * QUICK PREVIEW SIDE DRAWER (te-ov-*) — ported from the explorer mockup.
 * Loaded into a Turbo frame; bound to a real JobPosition + establishment.
 * ===================================================== */
.te-ov-bd{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(20,18,15,.45);backdrop-filter:blur(5px);z-index:200;display:none;}
.te-ov-bd.open{display:block;}
.te-ov-sl{position:fixed;top:0;right:-560px;width:520px;max-width:94vw;height:100vh;background:#fff;z-index:201;transition:right .35s cubic-bezier(.22,1,.36,1);overflow-y:auto;box-shadow:-12px 0 50px rgba(0,0,0,.18);display:flex;flex-direction:column;}
.te-ov-sl.open{right:0;}
.te-ov-sl turbo-frame{display:flex;flex-direction:column;flex:1;min-height:0;}

.te-ov-topbar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:10px;padding:11px 18px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);}
.te-ov-topbar-label{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:1.4px;color:#8a8378;text-transform:uppercase;}
.te-ov-topbar-label b{color:#B8975A;letter-spacing:1.4px;}
.te-ov-topbar-sep{color:#d4cfc6;}
.te-ov-topbar-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#E5D4A0,#C4A559);box-shadow:0 0 0 3px rgba(184,151,90,.12);}
.te-ov-topbar-counter{margin-left:auto;font-size:11px;font-weight:700;color:#1a1a1a;font-variant-numeric:tabular-nums;padding:4px 10px;border-radius:100px;background:#FAF7F0;border:1px solid rgba(184,151,90,.18);}
.te-ov-topbar-close{width:30px;height:30px;border-radius:8px;border:1px solid rgba(0,0,0,.08);background:#fff;color:#666;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0;line-height:1;}
.te-ov-topbar-close:hover{background:#1a1a1a;color:#E5D4A0;border-color:#1a1a1a;}

.te-page .te-ov-nav{position:fixed;top:50%;transform:translateY(-50%) scale(.85);width:46px;height:46px;border-radius:50%;background:#fff;color:#1a1a1a;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 24px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.08);z-index:202;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.22,1,.36,1);padding:0;text-decoration:none;}
body.te-ov-open .te-ov-nav{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1);}
.te-page .te-ov-nav:hover{background:linear-gradient(135deg,#1a1a1a,#2C2A26);color:#E5D4A0;border-color:#1a1a1a;transform:translateY(-50%) scale(1.08);}
.te-page .te-ov-nav-prev{right:calc(520px + 18px);}
.te-page .te-ov-nav-next{right:calc(520px - 64px);background:linear-gradient(135deg,#E5D4A0,#D4BC7A,#C4A559);color:#fff;border-color:rgba(184,145,42,.45);box-shadow:0 8px 24px rgba(184,145,42,.35);}
.te-page .te-ov-nav-next:hover{background:#1a1a1a;color:#E5D4A0;}

.te-ov-hero{position:relative;height:200px;overflow:hidden;flex-shrink:0;}
.te-ov-hero-bg{width:100%;height:100%;background-size:cover;background-position:center;position:relative;}
.te-ov-hero-bg::after{content:'';position:absolute;bottom:0;left:0;right:0;height:75%;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent);}
.te-ov-hc{position:absolute;bottom:18px;left:22px;right:22px;z-index:4;}
.te-ov-e{font-family:'Geist',system-ui,sans-serif;font-size:21px;font-weight:700;color:#fff;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.te-ov-r{font-size:12px;font-weight:700;color:#E5D4A0;margin-top:3px;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.4);}

.te-ov-body{padding:0;flex:1;}
.te-ov-sec{padding:18px 22px;border-bottom:1px solid rgba(0,0,0,.04);position:relative;}
.te-ov-sec:last-child{border-bottom:none;}
.te-ov-st{font-size:8px;font-weight:800;letter-spacing:1.5px;color:#B8975A;text-transform:uppercase;margin-bottom:8px;}
.te-ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.te-ov-d{display:flex;align-items:center;gap:5px;font-size:10px;color:#555;font-weight:500;}
.te-ov-d span{flex-shrink:0;}
.te-ov-sal-block{margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,.04);}
.te-ov-sal-lbl{font-size:8px;font-weight:800;letter-spacing:1.5px;color:#B8975A;text-transform:uppercase;margin-bottom:6px;}
.te-ov-sal{font-size:18px;font-weight:800;}
.te-ov-sal span{font-size:11px;font-weight:500;color:#999;}
.te-ov-desc{font-size:11px;color:#555;line-height:1.7;}
.te-ov-tags{display:flex;flex-wrap:wrap;gap:4px;}
.te-ov-tag{font-size:8px;font-weight:600;padding:3px 9px;border-radius:100px;background:#FAFAFA;border:1px solid rgba(0,0,0,.05);color:#777;}

.te-ov-gallery{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.te-ov-gallery::-webkit-scrollbar{height:3px;}
.te-ov-gallery-img{width:140px;height:95px;border-radius:10px;flex-shrink:0;scroll-snap-align:start;border:1.5px solid rgba(0,0,0,.04);background-size:cover;background-position:center;}

.te-ov-team-grid{display:flex;gap:8px;flex-wrap:wrap;}
.te-ov-team-member{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#FAFAFA;border:1px solid rgba(0,0,0,.04);flex:0 0 auto;min-width:170px;}
.te-ov-tm-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;color:#DAA520;background:linear-gradient(135deg,#1a1a1a,#333);}
.te-ov-tm-name{font-size:10px;font-weight:700;color:#1a1a1a;}
.te-ov-tm-role{font-size:8px;color:#999;}
.te-ov-team-invite{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:rgba(184,151,90,.03);border:1.5px dashed rgba(184,151,90,.25);min-width:140px;}
.te-ov-ti-icon{width:32px;height:32px;border-radius:50%;border:2px dashed rgba(184,151,90,.3);display:flex;align-items:center;justify-content:center;font-size:14px;color:#B8975A;flex-shrink:0;}
.te-ov-ti-text{font-size:10px;font-weight:700;color:#B8975A;}
.te-ov-ti-sub{font-size:8px;color:#ccc;}
.te-page .te-ov-team-cta{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:8px;font-size:10px;font-weight:700;color:#B8975A;cursor:pointer;transition:all .15s;margin-top:8px;width:100%;background:none;border:none;font-family:inherit;text-decoration:none;}
.te-page .te-ov-team-cta:hover{background:rgba(184,151,90,.04);}

.te-ov-compat-bar{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.te-ov-compat-track{flex:1;height:6px;background:rgba(0,0,0,.04);border-radius:3px;overflow:hidden;}
.te-ov-compat-fill{height:100%;border-radius:3px;}
.te-ov-compat-pct{font-size:16px;font-weight:800;}

.te-ov-actions{position:sticky;bottom:0;padding:14px 22px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:8px;}
.te-ov-actions-row{display:flex;gap:8px;width:100%;}
.te-page .te-btn-gold{padding:12px;border-radius:8px;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 3px 10px rgba(150,120,62,.2);transition:all .2s;text-align:center;position:relative;overflow:hidden;white-space:nowrap;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;letter-spacing:.5px;}
.te-page .te-btn-gold:hover{background:linear-gradient(180deg,#000,#1a1a1a);color:#DAA520;}
.te-page .te-btn-outline{padding:12px 18px;border-radius:8px;font-size:11px;font-weight:700;color:#1a1a1a;background:#fff;border:1px solid rgba(0,0,0,.1);transition:all .2s;cursor:pointer;font-family:inherit;}
.te-page .te-btn-outline:hover{border-color:#B8975A;color:#B8975A;}
.te-page .te-btn-estab{width:100%;padding:11px 14px;border-radius:9999px;background:#fff;border:1.5px solid rgba(184,151,90,.35);color:#A38543;font-weight:600;font-size:12px;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;}
.te-page .te-btn-estab:hover{border-color:#D4BC7A;background:#FBF8F2;}
/* button_to wraps in a form: keep the row layout intact */
.te-ov-actions-row form{flex:1;display:flex;}
.te-ov-actions-row form .te-btn-gold{flex:1;}
.te-ov-actions-row form:first-child{flex:0 0 auto;}

@media (max-width:760px){
  .te-ov-sl{width:100%;right:-100%;}
  .te-page .te-ov-nav{top:auto;bottom:84px;transform:none;}
  body.te-ov-open .te-page .te-ov-nav{transform:none;}
  .te-page .te-ov-nav-prev{left:14px;right:auto;}
  .te-page .te-ov-nav-next{right:14px;}
}
