/* Indostri Directory Manual - UI */
.indostri-mdp-wrap{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:18px;
  background:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
  max-width:100%;
}
.indostri-mdp-wrap *{ box-sizing:border-box; }

.indostri-mdp-head{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.indostri-mdp-title{
  margin:0;
  font-size:22px;
  line-height:1.25;
}
.indostri-mdp-sub{
  margin-top:6px;
  color:#666;
  font-size:13px;
}
.indostri-mdp-head__right{
  display:flex;
  gap:1px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-left:auto; /* keep action buttons on the far right (desktop) */
}

.indostri-mdp-toolbar{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 0.7fr auto;
  gap:10px;
  margin:12px 0 14px;
}
.indostri-mdp-search,
.indostri-mdp-filter{
  width:100%;
  height:40px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:0 12px;
  background:#fff;
  font-size:14px;
  outline:none;
}
.indostri-mdp-search:focus,
.indostri-mdp-filter:focus{
  border-color:rgba(0,0,0,.25);
}



/* ===== Unique emails toggle: iOS-style switch ===== */
.indostri-mdp-toggle{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  height:40px;
  padding:0 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:#fff;
  font-size:13px;
  color:rgba(0,0,0,.75);
  user-select:none;
}
.indostri-mdp-toggle:hover{ border-color: rgba(0,0,0,.18); }
.indostri-mdp-toggle__label{
  flex:1 1 auto;
  text-align:left;
  line-height:1.2;
  margin:0;
  padding:0;
}

/* switch */
.indostri-mdp-ios-switch{
  position:relative;
  width:44px;
  height:26px;
  flex:0 0 auto;
}
.indostri-mdp-ios-switch input{
  position:absolute;
  inset:0;
  width:44px;
  height:26px;
  margin:0;
  opacity:0;
  cursor:pointer;
}
.indostri-mdp-ios-switch__track{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  transition: background .18s ease;
}
.indostri-mdp-ios-switch__track:after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.18);
  transition: transform .18s ease;
}
.indostri-mdp-ios-switch input:focus + .indostri-mdp-ios-switch__track{
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}
.indostri-mdp-ios-switch input:checked + .indostri-mdp-ios-switch__track{
  background:#111;
}
.indostri-mdp-ios-switch input:checked + .indostri-mdp-ios-switch__track:after{
  transform: translateX(18px);
}

@media (max-width: 560px){
  .indostri-mdp-toggle{ height:44px; border-radius:12px; }
  .indostri-mdp-ios-switch{ width:46px; height:28px; }
  .indostri-mdp-ios-switch input{ width:46px; height:28px; }
  .indostri-mdp-ios-switch__track:after{ width:22px; height:22px; top:3px; left:3px; }
  .indostri-mdp-ios-switch input:checked + .indostri-mdp-ios-switch__track:after{ transform: translateX(18px); }
}

.indostri-mdp-tablewrap{
  width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.06);
}
.indostri-mdp-table{
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
  min-width:760px; /* desktop fits, mobile scroll */
}
.indostri-mdp-table thead th{
  background:rgba(0,0,0,.03);
  text-transform:uppercase;
  letter-spacing:.02em;
  font-size:12px;
  color:#444;
}
.indostri-mdp-table th,
.indostri-mdp-table td{
  padding:10px 12px;
  border-bottom:1px solid rgba(0,0,0,.06);
  vertical-align:top;
  white-space:normal;
  word-break:break-word;
}
.indostri-mdp-table tbody tr:hover{
  background:rgba(0,0,0,.02);
}
.indostri-mdp-email{
  font-variant-ligatures:none;
  word-break:break-all;
}

.indostri-mdp-loading{
  padding:16px 12px;
  color:#666;
  text-align:center;
}

.indostri-mdp-footer{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top:12px;
  flex-wrap:wrap;
}

.indostri-mdp-muted{
  color:#666;
  font-size:13px;
}

.indostri-mdp-pager{
  margin-left:auto; /* keep pagination group on the right (desktop) */
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  column-gap:10px;
  min-width: 260px;
}

/* Prev / label / Next alignment */
.indostri-mdp-pager > .indostri-mdp-btn:first-child{ justify-self:start; }
.indostri-mdp-pager > span{ justify-self:center; }
.indostri-mdp-pager > .indostri-mdp-btn:last-child{ justify-self:end; }

.indostri-mdp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.1);
  text-decoration:none !important;
  font-size:14px;
  cursor:pointer;
  background:#a41e1e;
  color:#fff;
}
.indostri-mdp-btn:hover{ opacity:.92; }
.indostri-mdp-btn--ghost{
  background:#fff;
  color:#111;
}
.indostri-mdp-btn--disabled{
  opacity:.45;
  pointer-events:none;
}

.indostri-mdp-note{
  margin-top:12px;
  padding:12px 12px;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:12px;
  background:rgba(0,0,0,.02);
  font-size:13px;
  color:#444;
}
.indostri-mdp-pill{
  display:inline-block;
  font-size:12px;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.18);
  margin-right:8px;
  background:#fff;
}

.indostri-mdp-wrap--seo{
  padding:14px;
}
.indostri-mdp-seo-title{
  margin:0 0 10px;
  font-size:18px;
}
.indostri-mdp-seo-footer{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.indostri-mdp-pager--seo .indostri-mdp-btn{
  height:38px;
  padding:0 12px;
}

.indostri-mdp-cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.indostri-mdp-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.indostri-mdp-card__company{
  font-weight:600;
  margin-bottom:4px;
}
.indostri-mdp-card__meta{
  color:#666;
  font-size:13px;
  margin-bottom:8px;
}
.indostri-mdp-card__kv{
  display:flex;
  justify-content:flex-start;
  gap:10px;
  font-size:13px;
  border-top:1px solid rgba(0,0,0,.06);
  padding-top:8px;
  margin-top:8px;
}
.indostri-mdp-card__kv span:first-child{ color:#666; }

@media (max-width: 980px){
  .indostri-mdp-toolbar{
    grid-template-columns: 1fr 1fr;
  }
  .indostri-mdp-table{ min-width: 720px; }
}

@media (max-width: 560px){
  .indostri-mdp-wrap{ padding:12px; }
  .indostri-mdp-title{ font-size:18px; }
  .indostri-mdp-toolbar{
    grid-template-columns:1fr;
  }
  .indostri-mdp-cards{
    grid-template-columns: 1fr;
  }
}



/* ===== Responsive: cards on mobile (no horizontal scroll) ===== */
.indostri-mdp-seo-cards{display:none;}
.indostri-mdp-seo-table{display:block;}
.indostri-mdp-cards{display:none; margin-top:10px;}
.indostri-mdp-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
  margin-bottom:10px;
}
.indostri-mdp-card__company{font-weight:600; font-size:15px; line-height:1.25; margin:0 0 4px 0;}
.indostri-mdp-card__meta{font-size:12px; opacity:.7; margin:0 0 10px 0;}
.indostri-mdp-card__grid{display:grid; grid-template-columns:1fr; gap:8px;}
.indostri-mdp-kv{display:flex; justify-content:flex-start; gap:10px; font-size:13px;}
.indostri-mdp-kv span:first-child{opacity:.65; white-space:nowrap;}
.indostri-mdp-kv span:last-child{text-align:right; overflow-wrap:anywhere; word-break:break-word;}
.indostri-mdp-email{font-variant-ligatures:none;}

/* Table tightening + prevent vertical stacking */
.indostri-mdp-table{table-layout:auto;}
.indostri-mdp-table th, .indostri-mdp-table td{
  padding:10px 12px;
  font-size:14px;
  vertical-align:top;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.indostri-mdp-table th.col-prov, .indostri-mdp-table td.col-prov{min-width:140px; white-space:nowrap;}
.indostri-mdp-table th.col-kbli, .indostri-mdp-table td.col-kbli{min-width:80px; white-space:nowrap;}
.indostri-mdp-table th.col-email, .indostri-mdp-table td.col-email{min-width:200px;}
.indostri-mdp-table th.col-comp, .indostri-mdp-table td.col-comp{min-width:220px;}
.indostri-mdp-table th.col-ind, .indostri-mdp-table td.col-ind{min-width:260px;}

@media (max-width: 980px){
  /* Main directory */
  .indostri-mdp-tablewrap{display:none;}
  .indostri-mdp-cards{display:block;}
  .indostri-mdp-toolbar{gap:10px;}
  .indostri-mdp-toolbar input, .indostri-mdp-toolbar select{width:100%;}

  /* SEO list */
  .indostri-mdp-seo-table{display:none;}
  .indostri-mdp-seo-cards{display:block;}
}

/* Slightly compact footer note */
.indostri-mdp-note{line-height:1.4;}


/* ===== Responsive: table -> cards ===== */
.indostri-mdp-cards{display:none;margin-top:12px}
.indostri-mdp-card{
  border:1px solid rgba(0,0,0,.06);
  border-radius:12px;
  padding:12px 12px;
  background:#fff;
  margin-bottom:10px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.indostri-mdp-card__row{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-top:1px dashed rgba(0,0,0,.06)}
.indostri-mdp-card__row:first-child{border-top:0;padding-top:0}
.indostri-mdp-card__row .k{min-width:92px;font-size:12px;opacity:.7}
.indostri-mdp-card__row .v{font-size:14px;line-height:1.35;word-break:break-word}
.indostri-mdp-card__empty{opacity:.7;font-size:14px}

/* Table legibility */
.indostri-mdp-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.indostri-mdp-table th{white-space:nowrap;font-size:12px}
.indostri-mdp-table td{word-break:break-word;vertical-align:top}
.indostri-mdp-table th:nth-child(1), .indostri-mdp-table td:nth-child(1){width:18%}
.indostri-mdp-table th:nth-child(2), .indostri-mdp-table td:nth-child(2){width:30%}
.indostri-mdp-table th:nth-child(3), .indostri-mdp-table td:nth-child(3){width:18%}
.indostri-mdp-table th:nth-child(4), .indostri-mdp-table td:nth-child(4){width:10%}
.indostri-mdp-table th:nth-child(5), .indostri-mdp-table td:nth-child(5){width:24%}
.indostri-mdp-email{word-break:break-all}

/* Mobile: show cards, hide table */
@media (max-width: 768px){
  .indostri-mdp-table{display:none}
  .indostri-mdp-cards{display:block}
  .indostri-mdp-head{gap:10px}
  .indostri-mdp-head__right{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-left:auto}
  .indostri-mdp-filters{display:grid;grid-template-columns:1fr;gap:1px}
}


/* v7.0.4 hotfix: ensure mobile cards exist and show */
.indostri-mdp-cards{display:none; margin-top:12px;}
@media (max-width: 980px){
  .indostri-mdp-tablewrap{display:none !important;}
  .indostri-mdp-cards{display:grid !important;}
}


/* v7.0.7 UI polish: mobile header actions stacked & aligned */
@media (max-width: 980px){
  .indostri-mdp-head{flex-direction:column; align-items:stretch;}
  .indostri-mdp-head__left{width:100%;}
  .indostri-mdp-head__right{
    width:100%;
    order:2;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:8px;
    justify-content:stretch;
  }
  .indostri-mdp-head__right .indostri-mdp-btn{
    width:100%;
    text-align:center;
    padding:10px 12px;
    font-size:13px;
    line-height:1.2;
  }
  /* Make the 3rd button full width (PDF/Print) for nicer layout on small screens */
  .indostri-mdp-head__right .indostri-mdp-btn:nth-child(3){
    grid-column:1 / -1;
  }
}


/* ==========================
 * v7.2.0 — Frameless embeds + no horizontal scroll
 * ========================== */

/* Remove outer "card" wrapper (used for SEO list embeds in content pages) */
.indostri-mdp-wrap--frameless{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Desktop/tablet: make table fit container (no horizontal scroll) */
.indostri-mdp-tablewrap{
  overflow-x: hidden !important;
}
.indostri-mdp-table{
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
}
.indostri-mdp-table th,
.indostri-mdp-table td{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* Mobile: always cards (and never horizontal scrolling) */
@media (max-width: 980px){
  .indostri-mdp-tablewrap{ display:none !important; }
  .indostri-mdp-cards{ display:grid !important; }
}
