/*
 * StayIn Partners — single UI layer across registration, staff review,
 * supplier portal and admin marketplace. Built on stayin-shared.css tokens.
 * Scoped to partner areas to avoid global header/booking regressions.
 * Never controls auth, country, legal checks, payments or approval state.
 */
:root{
  --st-partner-ink:var(--st-color-ink,#0b1b36);
  --st-partner-gold:var(--st-color-primary,#c48622);
  --st-partner-tint:var(--st-color-primary-tint,#f5e6c8);
  --st-partner-border:var(--st-color-border,#e8e4de);
  --st-partner-muted:var(--st-color-text-muted,#4c5567);
  --st-partner-panel:var(--st-color-white,#fff);
}
body[data-partner-page]{
  background:var(--st-color-background,#fdf8f0);
  color:var(--st-partner-ink);
  font-family:var(--st-font-family,'Cairo',system-ui,sans-serif);
  min-width:0;
}
body[data-partner-page] :is(button,input,select,textarea){
  font-family:inherit;
}
body[data-partner-page] :is(button,a,input,select,textarea,summary):focus-visible,
body[data-admin-page="marketplace"] :is(button,a,input,select,textarea):focus-visible{
  outline:3px solid var(--st-color-focus-ring,rgba(196,134,34,.45));
  outline-offset:3px;
}
body[data-partner-page] :is(.vr-panel,.vr-side-panel,.pp-card,.pp-form,.pp-stats__item),
body[data-admin-page="marketplace"] :is(.mk-card,.mk-form){
  background:var(--st-partner-panel);
  border:1px solid var(--st-partner-border);
  border-radius:var(--st-radius-md,16px);
  box-shadow:var(--st-shadow-sm,0 1px 2px rgba(11,27,54,.06));
  min-width:0;
  overflow-wrap:anywhere;
}
body[data-partner-page] .vr-hero{
  margin:clamp(18px,3vw,32px) 0 24px;
  padding:clamp(24px,4vw,44px);
  background:linear-gradient(122deg,#0b1b36,#163456);
  color:#fff;
  border:1px solid #273d59;
  border-radius:var(--st-radius-lg,24px);
}
body[data-partner-page] .vr-hero h1{color:#fff;font-size:clamp(22px,2.8vw,35px);line-height:1.5}
body[data-partner-page] .vr-hero p{color:#e1e7ef;max-width:740px}
body[data-partner-page] .vr-eyebrow{color:#e9c98f}
body[data-partner-page] .vr-step-row span{
  background:#fff;border-color:var(--st-partner-border);
  color:var(--st-partner-ink);
}
body[data-partner-page] .vr-rule-note{
  border:1px solid #e9dcc0;
  background:#fcf5e6;
  color:#6b4c18;
  line-height:1.9;
}
body[data-partner-page] :is(.vr-grid input,.vr-grid select,.vr-grid textarea,.vr-review-label textarea,.vr-policy-version input,.pp-filters select,.pp-actions input,.pp-form input),
body[data-admin-page="marketplace"] :is(.mk-filters input,.mk-filters select,.mk-form-grid input,.mk-form-grid select,.mk-form-grid textarea){
  border:1px solid #cbd3de;
  border-radius:var(--st-radius-sm,8px);
  background:#fff;color:var(--st-partner-ink);
  min-height:44px;max-width:100%;
  padding:10px 12px;
  font-size:13px;
}
body[data-partner-page] :is(.vr-grid textarea,.vr-review-label textarea),
body[data-admin-page="marketplace"] textarea{
  min-height:96px;resize:vertical;
}
body[data-partner-page] label,body[data-admin-page="marketplace"] label{
  color:var(--st-partner-ink);
  line-height:1.75;
}
body[data-partner-page] :is(.vr-primary,.vr-outline,.vr-danger,.vr-admin-row button,.vr-policy-version button,.pp-actions button,.pp-tab,.pp-detail-toggle,.st-btn),
body[data-admin-page="marketplace"] :is(.st-btn,.mk-tab,.mk-pagination button,.mk-toggle,.mk-cat-chip button,.st-see-all){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;
  text-align:center;
  min-height:42px;max-width:100%;white-space:normal;
  border-radius:var(--st-radius-sm,8px);
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
body[data-partner-page] :is(.vr-primary,.st-btn--primary),
body[data-admin-page="marketplace"] .st-btn--primary{
  background:var(--st-partner-gold);
  border:1px solid var(--st-partner-gold);
  color:var(--st-partner-ink);
  box-shadow:none;
}
body[data-partner-page] :is(.vr-primary,.st-btn--primary):not(:disabled):hover,
body[data-admin-page="marketplace"] .st-btn--primary:not(:disabled):hover{
  background:var(--st-color-primary-hover,#a86f16);
  border-color:var(--st-color-primary-hover,#a86f16);
  color:#fff;
}
body[data-partner-page] :is(.vr-outline,.vr-admin-row button,.st-btn--secondary),
body[data-admin-page="marketplace"] :is(.st-btn--secondary,.mk-pagination button){
  background:#fff;color:var(--st-partner-ink);
  border:1px solid #c5ced9;
}
body[data-partner-page] :is(.vr-outline,.vr-admin-row button,.st-btn--secondary):not(:disabled):hover,
body[data-admin-page="marketplace"] .st-btn--secondary:not(:disabled):hover{
  background:#fcf5e6;border-color:var(--st-partner-gold);
}
body[data-partner-page] .vr-danger{
  background:#fff2f1;border:1px solid #f0c2be;color:#9c251f;
}
body[data-partner-page] .vr-danger:not(:disabled):hover{
  background:#fce4e2;border-color:#bc4e46;
}
body[data-partner-page] button:disabled,
body[data-admin-page="marketplace"] button:disabled,
body[data-partner-page] button[aria-disabled="true"]{
  opacity:.48;cursor:not-allowed;box-shadow:none;
}
body[data-partner-page] :is(.vr-actions,.pp-actions),
body[data-admin-page="marketplace"] .mk-actions{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
}
body[data-partner-page] :is(.vr-status,.pp-msg,.vr-notice){line-height:1.9;overflow-wrap:anywhere}
body[data-partner-page] .vr-admin-row{
  background:#fff;border:1px solid var(--st-partner-border);
  border-radius:var(--st-radius-sm,8px);
}
body[data-partner-page] :is(.vr-compliance-item,.vr-details>div),
body[data-admin-page="marketplace"] .mk-card{
  border-color:var(--st-partner-border);
}
body[data-partner-page] .vr-footer{
  background:var(--st-partner-ink);
  color:#d4ddea;margin-top:clamp(24px,4vw,48px);
}
body[data-partner-page] .vr-footer a{color:#f0d09b}
/* Legal links need a non-colour cue on navy, including for low-vision users. */
body[data-partner-page] .vr-footer .vr-width > a{
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
body[data-partner-page] .vr-footer .vr-width > a:focus-visible{
  outline:2px solid #f0d09b;
  outline-offset:3px;
}
body[data-partner-page] .vr-footer .st-partner-nav a{
  color:#f0d09b;
  background:transparent;
}
body[data-partner-page] .vr-footer .st-partner-nav a:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
}
body[data-partner-page] .vr-footer a:hover{text-decoration:underline}
/* Header and wordmark from the existing StayIn navbar, not a temporary S icon. */
.st-partner-header,body[data-partner-page] .vr-header{
  background:#fffcf7;color:var(--st-partner-ink);
  border-bottom:1px solid var(--st-partner-border);
}
.st-partner-header__inner,
body[data-partner-page] .vr-header-inner{
  width:min(1180px,calc(100% - 36px));
  min-height:80px;height:auto;margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding-block:12px;
}
.st-partner-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;
  text-decoration:none;color:var(--st-partner-ink)}
.st-partner-brand svg{display:block;width:40px;height:40px;flex-shrink:0}
.st-partner-brand .st-logo__text{display:flex;flex-direction:column;align-items:flex-start;direction:ltr}
.st-partner-brand .st-logo__word{font-size:23px;line-height:1.15;font-family:inherit;font-weight:800;letter-spacing:-.6px;color:var(--st-partner-ink)}
.st-partner-brand .st-logo__word>span{color:var(--st-partner-gold)}
.st-partner-brand .st-logo__tag{font:700 8px/1.4 Arial,sans-serif;letter-spacing:1px;color:#62718a}
.st-partner-nav,body[data-partner-page] .vr-header nav{
  display:flex;align-items:center;justify-content:flex-end;gap:7px;
  flex-wrap:wrap;min-width:0;
}
.st-partner-nav a,body[data-partner-page] .vr-header nav a{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 13px;min-height:42px;border-radius:9px;
  font-size:13px;font-weight:700;color:var(--st-partner-ink);
  text-decoration:none;white-space:normal;
}
.st-partner-nav a:hover,body[data-partner-page] .vr-header nav a:hover{
  background:var(--st-partner-tint);
}
.st-partner-nav a[aria-current="page"],body[data-partner-page] .vr-header nav a[aria-current="page"]{
  background:#f6ead5;color:#805217;
}
.st-partner-nav a.st-partner-nav__action,
body[data-partner-page] .vr-header nav a.st-partner-nav__action{
  background:var(--st-partner-gold);color:var(--st-partner-ink);
  border:1px solid var(--st-partner-gold);
}
.st-partner-nav a.st-partner-nav__action:hover,
body[data-partner-page] .vr-header nav a.st-partner-nav__action:hover{
  background:var(--st-color-primary-hover,#a86f16);color:white;
}
body[data-partner-page] .vr-header a{color:var(--st-partner-ink)}
body[data-partner-page] .vr-header .st-partner-brand{color:var(--st-partner-ink)}
/* Existing supplier portal and marketplace inline styles stay functional. */
body[data-partner-page="supplier-portal"] .pp-wrap{
  width:min(100%,1000px);
  padding-inline:clamp(12px,3vw,30px);
}
body[data-partner-page="supplier-portal"] .pp-header h1{
  font-size:clamp(22px,2.5vw,30px);
}
body[data-partner-page="supplier-portal"] .pp-tabs,
body[data-admin-page="marketplace"] .mk-tabs{
  overflow-x:auto;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
body[data-partner-page="supplier-portal"] .pp-tab,
body[data-admin-page="marketplace"] .mk-tab{
  min-height:46px;flex-shrink:0;
  background:transparent;border:0;
  border-bottom:3px solid transparent;border-radius:0;
}
body[data-partner-page="supplier-portal"] .pp-tab[aria-selected="true"],
body[data-admin-page="marketplace"] .mk-tab[aria-selected="true"]{
  color:var(--st-partner-ink);border-bottom-color:var(--st-partner-gold);
}
body[data-partner-page="supplier-portal"] .pp-tab:not([aria-selected="true"]):hover,
body[data-admin-page="marketplace"] .mk-tab:not([aria-selected="true"]):hover{
  background:#fff8ec;color:var(--st-partner-ink);
}
body[data-partner-page="supplier-portal"] .pp-form h3{color:var(--st-partner-ink)}
body[data-partner-page="supplier-portal"] .pp-stats__item{flex:1 1 105px}
body[data-admin-page="marketplace"] .mk-header h1{font-size:clamp(22px,2.5vw,30px)}
/* Marketplace uses StayIn public navbar. At laptop/desktop widths its
   full public menu plus the staff actions physically overlap; keep the
   same site logo and native accessible drawer before that happens. */
@media (min-width:1024px) and (max-width:1535px){
  body[data-admin-page="marketplace"] .st-navbar .st-nav{display:none}
  body[data-admin-page="marketplace"] .st-navbar .st-nav-toggle{
    /* Reuse native StayIn 3-line hamburger stacking; inline-flex
       makes the ::before/span/::after bars appear side by side. */
    display:block
  }
}
@media(max-width:760px){
  .st-partner-header__inner,body[data-partner-page] .vr-header-inner{
    gap:12px;align-items:flex-start;flex-direction:column;
    width:calc(100% - 28px);
  }
  .st-partner-nav,body[data-partner-page] .vr-header nav{
    width:100%;justify-content:flex-start;gap:4px;
  }
  .st-partner-nav a,body[data-partner-page] .vr-header nav a{
    min-height:40px;padding:7px 10px;font-size:12px;
  }
  body[data-partner-page] .vr-hero{padding:24px 18px;border-radius:16px}
}
@media(max-width:560px){
  body[data-partner-page] :is(.vr-primary,.vr-outline,.vr-danger){
    min-height:44px;
  }
  body[data-partner-page] .vr-panel,
  body[data-partner-page] .vr-side-panel{padding:clamp(14px,4vw,20px)}
  body[data-partner-page="supplier-portal"] .pp-wrap{padding-block:24px}
  body[data-partner-page="supplier-portal"] .pp-card,
  body[data-partner-page="supplier-portal"] .pp-form{padding:16px}
  body[data-partner-page="supplier-portal"] .pp-filters{flex-wrap:wrap}
  body[data-partner-page="supplier-portal"] .pp-filters>*{flex:1 1 180px}
  body[data-partner-page] .vr-actions>*{flex:1 1 170px}
  body[data-partner-page="supplier-portal"] .pp-tabs,
  body[data-admin-page="marketplace"] .mk-tabs{gap:4px}
  body[data-partner-page="supplier-portal"] .pp-tab,
  body[data-admin-page="marketplace"] .mk-tab{padding:9px 13px;font-size:13px}
}
/* On 320px phones a 3+1 navigation wrap creates a dangling CTA.
   Use two equal tap-friendly rows; the full nav stays in RTL order. */
@media(max-width:359px){
  .st-partner-nav,body[data-partner-page] .vr-header nav{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px
  }
  .st-partner-nav a,body[data-partner-page] .vr-header nav a{
    width:100%;min-width:0;min-height:40px;padding:7px 6px;
    text-align:center;font-size:12px
  }
}
@media(prefers-reduced-motion:reduce){
  body[data-partner-page] button,
  body[data-admin-page="marketplace"] button{transition:none!important}
}
