/* The Venues page (app/venues/venues-page.js and its parts: filters, profile,
   venue library form fields and register import) and the rooms an event is
   offered from its venue (app/venues/venue-room-picks.js). A dot's colour is
   its room-<colour> class. Badges always carry their meaning in words. */
.venue-dot{display:inline-block;width:10px;height:10px;flex:none;border-radius:50%;background:#d8d6cf;box-shadow:inset 0 0 0 1px rgba(45,45,47,.12)}
.venue-dot-none{background:transparent;box-shadow:inset 0 0 0 1.5px #b8b5ad}
/* The six room colours, the same values as the room boxes in extensions.css. */
.venue-dot.room-green{background:#58d994}.venue-dot.room-blue{background:#8cc6ec}.venue-dot.room-purple{background:#7b0aec}
.venue-dot.room-pink{background:#ff5d91}.venue-dot.room-orange{background:#fe7615}.venue-dot.room-yellow{background:#fed23f}

.venue-requirements{margin:0 0 20px;border:1px solid #d8d6cf;border-radius:15px;background:#fff;overflow:hidden}
.venue-requirements>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.venue-requirements>summary::-webkit-details-marker{display:none}
.venue-requirements>summary>span:first-child{display:grid;gap:3px}
.venue-requirements>summary strong{font:700 13px "Poppins",sans-serif}
.venue-requirements>summary small{color:var(--muted);font-size:9px}
.venue-requirements>summary>span:last-child{font-size:18px;transition:transform .2s}
.venue-requirements[open]>summary>span:last-child{transform:rotate(180deg)}
.venue-requirements-content{padding:0 18px 18px;border-top:1px solid var(--line)}
.venue-requirements-content>p{color:#4d5661;font-size:10px}
.venue-requirements-content ul{display:grid;gap:7px;margin:12px 0;padding:0;list-style:none}
.venue-requirements-content li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#f5f4f0;font-size:10px}
.venue-requirements-content form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}
.venue-requirements-content input{min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font:10px "Poppins",sans-serif}

.venues-intro-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.venues-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 14px}
.venues-toolbar input[type=search]{flex:1 1 220px;min-width:0;max-width:420px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font:10px "Poppins",sans-serif;background:#fff}
.venues-count{color:var(--muted);font-size:9.5px}
.venue-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.venue-filter{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.venue-filter select{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:10px "Poppins",sans-serif;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff}
.venue-filter-actions:empty{display:none}
.venue-city-group{margin:0 0 20px}
.venue-city-group>h3{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font:700 13px "Poppins",sans-serif}
.venue-city-group>h3 small{color:var(--muted);font-size:9.5px;font-weight:400}
.venues-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:15px}
.venues-grid>.empty{grid-column:1/-1}
.venue-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}
.venue-card-image{height:150px;background:#e9e7e0}
.venue-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.venue-card-body{display:grid;gap:10px;padding:16px;align-content:start;flex:1;overflow-wrap:anywhere}
.venue-card h3{margin:0;font:700 15px "Poppins",sans-serif}
.venue-card-title{padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.venue-card-title:hover,.venue-card-title:focus-visible{text-decoration:underline}
.venue-card-place{margin:-4px 0 0;color:#4d5661;font-size:9.5px;line-height:1.5}
.venue-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;color:#4d5661;font-size:9.5px;overflow-wrap:anywhere}
.venue-badges{margin:0 0 4px}
.venue-badge{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:#f5f4f0;color:var(--ink);font-size:8.5px;font-weight:600;line-height:1.4}
.venue-card-empty{margin:0;color:var(--muted);font-size:9.5px}
.venue-room-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.venue-room-list li{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#f5f4f0;font-size:9.5px}
.venue-room-list small{color:var(--muted);font-size:8.5px}
.venue-room-list .venue-room-more{background:transparent;color:var(--muted)}
.venue-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}

.venue-detail .form-actions [data-venue-remove]{margin-right:auto}
.venue-detail h3{margin:18px 0 8px;font:700 12px "Poppins",sans-serif}
.venue-detail-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:12px}
.venue-detail-images img{width:100%;height:90px;border-radius:9px;object-fit:cover}
.venue-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:12px 0 0}
.venue-facts>div{padding:9px;border-radius:9px;background:#f5f4f0}
.venue-facts dt{color:var(--muted);font-size:7.5px;text-transform:uppercase;letter-spacing:.04em}
.venue-facts dd{margin:3px 0 0;font-size:10px;line-height:1.5}
.venue-rooms-scroll{overflow-x:auto}
.venue-rooms-table{width:100%;border-collapse:collapse;font-size:10px}
.venue-rooms-table th,.venue-rooms-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.venue-rooms-table thead th{color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase}
.venue-rooms-table tbody th small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px;font-weight:400}
.venue-colour,.venue-room-uses li{display:inline-flex;align-items:center;gap:6px}
.venue-room-uses{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.venue-events{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.venue-events li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 10px;border-radius:9px;background:#f5f4f0;font-size:10px;overflow-wrap:anywhere}
.venue-events small{color:var(--muted);font-size:9px}
.venue-events .link-button{padding:0;border:0;background:none;color:var(--ink);font:700 10px "Poppins",sans-serif;text-decoration:underline;cursor:pointer}
.venue-events li>a{color:var(--ink);font-size:9px}

/* A venue's contacts, documents and sources in its detail dialog. */
.venue-contacts,.venue-documents,.venue-sources ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.venue-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}
.venue-contacts li,.venue-documents li{display:grid;gap:3px;padding:9px 10px;border-radius:9px;background:#f5f4f0;font-size:10px;overflow-wrap:anywhere}
.venue-contacts .venue-badge{justify-self:start}
.venue-contacts small,.venue-documents small{color:#4d5661;font-size:9px;line-height:1.5}
.venue-contacts a,.venue-documents a,.venue-sources a{color:var(--ink)}
.venue-contact-ways{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:9.5px}
.venue-earlier-notes{margin:8px 0 0;padding:9px 10px;border:1px dashed #cbc8c0;border-radius:9px;font-size:10px;overflow-wrap:anywhere}
.venue-earlier-notes p{margin:3px 0 0;line-height:1.5}
.venue-sources{margin:14px 0 0;color:#4d5661;font-size:9px;overflow-wrap:anywhere}
.venue-sources p{margin:6px 0 0}

.venue-rooms-editor{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}
.venue-rooms-editor legend{padding:0 6px;font:700 11px "Poppins",sans-serif}
.venue-rooms-editor [data-venue-room-rows]{display:grid;gap:6px}
.venue-room-row{display:grid;grid-template-columns:minmax(118px,auto) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.2fr) auto;gap:6px;align-items:center}
.venue-room-row input,.venue-room-row select{min-width:0;width:100%}
.venue-room-colour{display:flex;align-items:center;gap:6px}
.venue-rooms-editor>button{justify-self:start}
.venue-room-suggestions,.venue-room-picks>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.venue-room-suggestions small{color:var(--muted);font-size:9px}
.venue-room-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:600 9.5px "Poppins",sans-serif;cursor:pointer}
.venue-room-chip:hover,.venue-room-chip:focus-visible{border-color:#2d2d2f}
/* The venue library fields in the venue form. */
.venue-crm-note{margin:0;color:var(--muted);font-size:9.5px}
.venue-crm-editor{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}
.venue-crm-editor legend{padding:0 6px;font:700 11px "Poppins",sans-serif}
.venue-crm-editor>button{justify-self:start}
[data-venue-contact-rows],[data-venue-document-rows]{display:grid;gap:8px}
.venue-contact-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:6px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--line)}
.venue-contact-row input,.venue-contact-row textarea{min-width:0;width:100%}
/* Notes keep their lines but start one field high, growing with what they hold. */
.venue-contact-notes textarea{min-height:37px;max-height:160px;resize:vertical;field-sizing:content}
.venue-contact-notes{grid-column:1/4}
.venue-contact-main{display:flex;align-items:center;gap:6px;font-size:9.5px;white-space:nowrap}
.venue-contact-main input{width:auto}
.venue-document-row{border:1px solid var(--line);border-radius:9px;background:#faf9f6}
.venue-document-row>summary{padding:9px 11px;font-size:10px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.venue-document-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 11px 11px}
.venue-document-field{display:grid;gap:3px;min-width:0;font-size:9px;color:#4d5661}
.venue-document-field input,.venue-document-field textarea{min-width:0;width:100%}
.venue-document-wide,.venue-document-fields>button{grid-column:1/-1}
.venue-document-fields>button{justify-self:start}

/* The venue register import's preview. */
.venue-import-summary,.venue-import-notes,.venue-import-list{display:grid;gap:6px;margin:0 0 12px;padding:0;list-style:none;font-size:10px;overflow-wrap:anywhere}
.venue-import-notes{color:#4d5661;font-size:9.5px}
.venue-import-list>li{display:grid;gap:4px;padding:8px 10px;border-radius:9px;background:#f5f4f0}
.venue-import-list ul{margin:0;padding-left:16px;font-size:9.5px}
.venue-import-list small{color:#4d5661}
.venue-import-section{margin:0 0 10px;border:1px solid var(--line);border-radius:12px;padding:0 12px}
.venue-import-section>summary{padding:10px 0;font:700 11px "Poppins",sans-serif;cursor:pointer}
.venue-import-section>p{margin:0 0 8px;color:#4d5661;font-size:9.5px}
.venue-import-choice{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:600}

/* The images field's file input is as wide as its button and file name,
   which is wider than the venue form on a phone. */
#venueForm .field{min-width:0}
#venueForm input[type=file]{width:100%;max-width:100%;min-width:0}
.venue-image-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.venue-image-keep{display:grid;gap:4px;width:96px;font-size:9px}
.venue-image-keep img{width:96px;height:64px;border-radius:8px;object-fit:cover}

.venue-room-picks{display:grid;gap:8px;margin:0 0 12px;padding:12px;border:1px dashed #cbc8c0;border-radius:12px;background:#faf9f6}
.venue-room-picks p{display:grid;gap:2px;margin:0}
.venue-room-picks strong{font:700 11px "Poppins",sans-serif}
.venue-room-picks small{color:var(--muted);font-size:9px}

@media(max-width:1000px){.venues-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}}
@media(max-width:640px){
  /* One column that never grows past the screen, whatever a venue is called. */
  .venues-grid{grid-template-columns:minmax(0,1fr)}
  .venues-page>.view-intro{flex-wrap:wrap;align-items:flex-start}
  /* Phones: search across the top, the filters two to a row below it. */
  .venues-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px}
  .venues-toolbar input[type=search],.venues-count{grid-column:1/-1;max-width:none}
  .venue-filters{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .venue-filter select{width:100%}
  .venue-filter-actions{grid-column:1/-1}
  .venue-contact-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .venue-contact-notes{grid-column:1/-1}
  .venue-document-fields{grid-template-columns:minmax(0,1fr)}
  .venue-requirements-content form{grid-template-columns:1fr}
  .venue-room-row{grid-template-columns:auto minmax(0,1fr) auto}
  .venue-room-row>label:nth-of-type(3),.venue-room-row>label:nth-of-type(4){grid-column:2/3}
}
.venue-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
