/* ===== NOMAD Holidays — «Документы» ===== */

/* categories + search bar */
.doc-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:26px}
.doc-search{flex:1;min-width:240px;position:relative}
.doc-search .ctrl{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:0 14px;height:52px;transition:.2s}
.doc-search .ctrl:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,171,226,.12)}
.doc-search .ctrl svg{width:19px;height:19px;color:var(--gray-mid);flex:0 0 auto}
.doc-search input{border:none;outline:none;flex:1;font:inherit;font-size:14.5px;color:var(--black);background:none}
.doc-search .clr{width:30px;height:30px;border-radius:8px;color:var(--gray-mid);display:none;align-items:center;justify-content:center;flex:0 0 auto}
.doc-search .clr:hover{background:var(--bg-1);color:var(--navy)}.doc-search .clr svg{width:16px;height:16px}
.doc-search.has .clr{display:flex}
.doc-cats{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.doc-cats::-webkit-scrollbar{display:none}
.dcat{flex:0 0 auto;padding:10px 18px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:600;font-size:13.5px;color:var(--gray-dark);transition:.2s;white-space:nowrap}
.dcat:hover{border-color:var(--blue);color:var(--navy)}
.dcat.active{background:var(--navy);color:#fff;border-color:var(--navy)}

/* docs grid */
.docs-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1000px){.docs-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.docs-list{grid-template-columns:1fr}}
.dcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.dcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.dcard .dc-top{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.dcard .dc-ic{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;font-size:11px;font-weight:700}
.dcard .dc-ic svg{width:24px;height:24px}
.dcard .dc-ic.pdf{background:linear-gradient(135deg,#c0392b,#e05a4b)}
.dcard .dc-ic.doc{background:linear-gradient(135deg,#293B8F,#3b56c0)}
.dcard .dc-ic.link{background:linear-gradient(135deg,#2BABE2,#1f93c7)}
.dcard .dc-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-mid)}
.dcard .dc-ft{font-size:12px;color:var(--gray-light);font-weight:600}
.dcard h3{font-size:16px;margin-bottom:8px;text-wrap:pretty}
.dcard p{font-size:13px;color:var(--gray-dark);line-height:1.55;margin-bottom:14px;flex:1}
.dcard .dc-meta{font-size:12px;color:var(--gray-mid);margin-bottom:16px;display:flex;gap:14px;flex-wrap:wrap}
.dcard .dc-meta span{display:flex;align-items:center;gap:6px}.dcard .dc-meta svg{width:13px;height:13px;color:var(--blue)}
.dcard .dc-actions{display:flex;gap:8px}
.dcard .dc-actions .btn{flex:1;padding:9px 12px;font-size:13px}
.dcard .dc-actions .btn svg{width:15px;height:15px}
.docs-empty{display:none;text-align:center;padding:56px 20px;color:var(--gray-mid)}
.docs-empty.show{display:block}
.docs-empty .de-ic{width:66px;height:66px;border-radius:50%;background:var(--bg-1);color:var(--gray-light);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.docs-empty .de-ic svg{width:32px;height:32px}
.docs-empty h3{font-size:18px;color:var(--navy)}

/* requisites */
.req-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-sm);max-width:1000px;margin:0 auto}
.req-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.req-head h3{font-size:20px}
.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border-radius:14px;overflow:hidden}
.req-row{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;transition:background .2s}
.req-row:hover{background:var(--bg-2)}
.req-row.full{grid-column:1/-1}
.req-row .rq-k{font-size:12px;color:var(--gray-mid);font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex:0 0 auto}
.req-row .rq-v{font-size:14px;color:var(--black);font-weight:600;text-align:right;display:flex;align-items:center;gap:10px;min-width:0}
.req-row .rq-v span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.copy-btn{width:32px;height:32px;border-radius:9px;background:var(--bg-1);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.2s}
.copy-btn:hover{background:var(--navy);color:#fff}.copy-btn svg{width:16px;height:16px}
.copy-btn.copied{background:#1f8a4c;color:#fff}
@media(max-width:680px){.req-grid{grid-template-columns:1fr}.req-row{flex-direction:column;align-items:flex-start;gap:6px}.req-row .rq-v{text-align:left;width:100%;justify-content:space-between}}

/* audience split (agents/tourists) */
.aud-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:820px){.aud-split{grid-template-columns:1fr}}
.aud{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,34px);box-shadow:var(--shadow-sm)}
.aud .aud-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.aud .aud-ic{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.aud .aud-ic svg{width:23px;height:23px}
.aud h3{font-size:19px}
.aud-items{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.aud-item{display:flex;align-items:center;gap:11px;background:var(--bg-1);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:500;color:var(--black);transition:.2s;cursor:pointer}
.aud-item:hover{background:#eaf1fb}
.aud-item .ai-ic{width:34px;height:34px;border-radius:9px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:var(--shadow-sm)}
.aud-item .ai-ic svg{width:17px;height:17px}
.aud-item .ai-dl{margin-left:auto;color:var(--gray-mid)}.aud-item .ai-dl svg{width:16px;height:16px}
.aud-item:hover .ai-dl{color:var(--blue)}
.aud-actions{display:flex;gap:10px;flex-wrap:wrap}
.aud-actions .btn{flex:1;min-width:140px}

/* preview modal */
.doc-modal{position:fixed;inset:0;z-index:310;display:none;align-items:center;justify-content:center;padding:20px}
.doc-modal.open{display:flex}
.dm-scrim{position:absolute;inset:0;background:rgba(35,31,32,.5);backdrop-filter:blur(2px);animation:fade .3s}
.dm-card{position:relative;z-index:2;background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);width:min(560px,100%);max-height:88vh;overflow:auto;animation:popin .35s var(--ease)}
.dm-head{display:flex;align-items:center;gap:14px;padding:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.dm-head .dh-ic{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.dm-head .dh-ic svg{width:23px;height:23px}
.dm-head h3{font-size:18px}.dm-head span{font-size:12.5px;color:var(--gray-mid)}
.dm-close{margin-left:auto;width:40px;height:40px;border-radius:11px;background:var(--bg-1);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.dm-close svg{width:21px;height:21px}
.dm-preview{padding:24px}
.dm-page{background:var(--bg-1);border:1px solid var(--line);border-radius:14px;aspect-ratio:1/1.3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray-light);gap:14px;background-image:repeating-linear-gradient(45deg,#eef3f9 0 14px,#f6f9fc 14px 28px)}
.dm-page svg{width:54px;height:54px;color:var(--gray-light)}
.dm-page b{font-size:14px;color:var(--gray-mid);text-align:center;padding:0 20px}
.dm-foot{padding:0 24px 24px;display:flex;gap:10px}
.dm-foot .btn{flex:1;height:46px}
@media(max-width:520px){.dm-preview{padding:16px}}

/* Contract hero link used by the source layout */
.hero-extra-link{display:inline-flex;align-items:center;gap:8px;color:#cdeafb;font-weight:600;font-size:15px;margin-top:4px}
.hero-extra-link:hover{color:#fff}
.hero-extra-link svg{width:17px;height:17px}

/* Keep the three contract audience cards wide, equal and aligned. */
#audGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}
#audGrid .ben{height:100%;min-width:0}
@media(max-width:760px){#audGrid{grid-template-columns:1fr}}

/* The contract page has four steps; keep them evenly inside the container. */
#steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;margin-inline:auto}
#steps .step{min-width:0;padding-inline:8px}
#steps .step h3{overflow-wrap:anywhere}
#steps::before{left:10%;right:10%}
@media(max-width:1100px) and (min-width:921px){
  #steps{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;row-gap:38px}
  #steps::before{display:none}
}
@media(max-width:920px){
  #steps{grid-template-columns:1fr;max-width:460px;gap:14px}
}
