@charset "UTF-8";
/* Venue programme (/for-venues/) and the "From the venue" block on place pages. Uses the site tokens of home.css. */
.partners-page{--pv-soft:#e4e7d4;--pv-card:#f7f6ef;--pv-error:#b3261e;--pv-ok:#2d6a3e}
.pv-hero{display:grid;grid-template-columns:1fr 240px;gap:50px;align-items:center;padding-top:60px;padding-bottom:50px}
.pv-hero h1{font-size:clamp(46px,6vw,92px);font-weight:900;letter-spacing:-.07em;line-height:.95;margin:0 0 26px;max-width:14ch}
.pv-hero-edit h1{max-width:none;font-size:clamp(40px,5vw,78px)}
.pv-hero .button{margin-top:18px}
.pv-hero-mark{display:flex;align-items:center;justify-content:center;width:230px;height:230px;border-radius:50%;background:var(--lime,#e9fc82);font-family:Georgia,serif;font-size:150px;letter-spacing:-.09em;transform:rotate(-9deg)}
.pv-quick-hint{display:flex;gap:10px;align-items:center;font-size:14px;margin:18px 0}
.pv-badge{display:inline-block;padding:3px 8px;border-radius:20px;background:var(--lime,#e9fc82);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}
.pv-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line);margin-bottom:70px}
.pv-benefits article{background:var(--paper);padding:30px 26px 34px}
.pv-benefits h2{font-size:22px;letter-spacing:-.03em;line-height:1.15;margin:14px 0 12px}
.pv-benefits p{margin:0;line-height:1.6;color:var(--muted)}
.pv-number{font-family:Georgia,serif;font-style:italic;font-size:28px;color:var(--orange)}
.pv-how{margin-bottom:70px}
.pv-how h2,.pv-faq h2{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.05em;margin:0 0 24px}
.pv-how ol{list-style:none;counter-reset:pv;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:0}
.pv-how li{counter-increment:pv;border-top:3px solid var(--ink);padding-top:16px;line-height:1.55}
.pv-how li::before{content:counter(pv,decimal-leading-zero);display:block;font-weight:900;font-size:13px;letter-spacing:1px;margin-bottom:8px}
.pv-request{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;background:var(--pv-soft);padding:50px;border-radius:3px;margin-bottom:70px;scroll-margin-top:20px}
.pv-request h2{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.05em;line-height:1;margin:0 0 20px}
.pv-request-intro p{line-height:1.6}
.pv-faq{max-width:900px;margin-bottom:80px}
.pv-faq details{border-top:1px solid var(--line);padding:18px 0}
.pv-faq details:last-child{border-bottom:1px solid var(--line)}
.pv-faq summary{cursor:pointer;font-weight:800;font-size:18px;letter-spacing:-.02em}
.pv-faq details p{line-height:1.65;max-width:720px;margin:12px 0 0}
.pv-form{display:grid;gap:18px}
.pv-field{display:grid;gap:7px;margin:0;min-width:0;border:0;padding:0}
.pv-field label,.pv-field legend,.pv-label,.pv-drop>label{font-size:12px;font-weight:800;letter-spacing:.3px}
.pv-field legend{padding:0;margin-bottom:8px}
.pv-form input[type=text],.pv-form input[type=email],.pv-form input[type=url],.pv-form input[type=tel],.pv-form input[type=password],.pv-form input[type=search],.pv-form select,.pv-form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #a9ab9f;border-radius:3px;padding:12px 13px;min-height:48px}
.pv-form textarea{resize:vertical;line-height:1.5}
.pv-form input:focus-visible,.pv-form select:focus-visible,.pv-form textarea:focus-visible{outline:3px solid #2346f4;outline-offset:2px}
.pv-hint{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.pv-error{margin:0;font-size:13px;font-weight:700;color:var(--pv-error)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--pv-error);border-width:2px}
.pv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pv-consent label{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0}
.pv-consent input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--ink)}
.pv-fixed{margin:0;padding:14px;background:#fff;border-radius:3px;line-height:1.5}
.pv-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pv-notice{padding:16px 20px;border-left:5px solid var(--ink);background:var(--pv-card);margin:0 0 16px;line-height:1.55}
.pv-notice p{margin:0}.pv-notice ul{margin:8px 0 0;padding-left:20px}
.pv-notice-ok{border-color:var(--pv-ok)}
.pv-notice-error{border-color:var(--pv-error)}
.pv-status:empty{display:none}
.pv-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px;align-items:start;margin-bottom:80px}
.pv-toc{position:sticky;top:20px;font-size:13px}
.pv-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc;border-left:1px solid var(--line)}
.pv-toc li{counter-increment:toc;padding:6px 0 6px 14px;line-height:1.35}
.pv-toc a{text-decoration:none;font-weight:700}
.pv-toc a:hover{text-decoration:underline}
.pv-section{border-top:3px solid var(--ink);padding:26px 0 36px;scroll-margin-top:20px}
.pv-section-head h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.05em;line-height:1.05;margin:0 0 10px}
.pv-section-head p:not(.eyebrow){margin:0 0 20px;line-height:1.6;max-width:720px;color:var(--muted)}
.pv-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.pv-wide{grid-column:1/-1}
.pv-pills{display:flex;flex-wrap:wrap;gap:8px}
.pv-pill{position:relative;display:inline-flex}
.pv-pill input{position:absolute;opacity:0;width:1px;height:1px}
.pv-pill span{display:inline-block;padding:9px 14px;border:1px solid #a9ab9f;border-radius:30px;background:#fff;font-size:14px;font-weight:400;letter-spacing:0;cursor:pointer;line-height:1.2}
.pv-pill input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pv-pill input:focus-visible+span{outline:3px solid #2346f4;outline-offset:2px}
.pv-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pv-actions .button{cursor:pointer;font:inherit;font-weight:700;font-size:12px}
.pv-uploads{margin-bottom:26px}
.pv-upload-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pv-drop{display:grid;gap:8px;align-content:start;padding:18px;border:2px dashed #a9ab9f;border-radius:4px;background:var(--pv-card)}
.pv-drop input[type=file]{font-size:14px;max-width:100%}
.pv-drop label:not(:first-child){margin-top:6px}
.pv-files-title{font-size:18px;margin:28px 0 12px}
.pv-files{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.pv-file{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid;align-content:start}
.pv-file figure{margin:0}
.pv-file img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--pv-soft)}
.pv-file-icon{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--pv-soft);font-weight:900;font-size:26px;letter-spacing:1px;text-decoration:none}
.pv-file figcaption{display:grid;gap:3px;padding:10px 12px;font-size:12px;line-height:1.4;word-break:break-word}
.pv-file-status{font-weight:800;text-transform:uppercase;letter-spacing:.6px;font-size:10px;color:var(--muted)}
.pv-file-approved .pv-file-status{color:var(--pv-ok)}
.pv-file-fields{display:grid;gap:6px;padding:0 12px 12px;font-size:12px;font-weight:700}
.pv-file-fields input,.pv-file-fields select{min-height:40px!important;padding:8px 10px!important;font-size:14px!important}
.pv-remove{display:flex;gap:8px;align-items:center;font-weight:400;margin-top:4px}
.pv-message{min-height:40vh}
.pv-login{max-width:460px;padding-block:80px}
.pv-login h1{font-size:56px;letter-spacing:-.06em;margin:0 0 24px}
.pv-admin-head{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding-block:22px;border-bottom:1px solid var(--line)}
.pv-admin-head form{margin-left:auto}
.pv-admin-head button{background:none;border:0;cursor:pointer;font:inherit}
.pv-admin-nav{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;font-weight:800}
.pv-admin-nav a{text-decoration:none}
.pv-admin-nav a[aria-current]{border-bottom:3px solid var(--ink)}
.pv-admin-nav b{display:inline-block;min-width:20px;padding:1px 6px;border-radius:20px;background:var(--lime,#e9fc82);text-align:center}
.pv-admin{padding-block:30px 80px;display:grid;gap:24px}
.pv-admin h1{font-size:clamp(36px,4vw,56px);letter-spacing:-.05em;margin:0 0 10px}
.pv-admin-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px;overflow-x:auto}
.pv-admin-card h2{font-size:22px;letter-spacing:-.03em;margin:0 0 16px}
.pv-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pv-admin-stats div{background:var(--pv-soft);padding:20px;border-radius:4px;display:grid}
.pv-admin-stats b{font-size:44px;letter-spacing:-.05em}
.pv-table{width:100%;border-collapse:collapse;font-size:14px}
.pv-table th,.pv-table td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--line)}
.pv-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.6px}
.pv-table .button{padding:10px 14px}
.pv-table form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pv-table button.text-link{background:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:12px}
.pv-review-table td:last-child{min-width:280px}
.pv-review-table input[type=text],.pv-review-table textarea{min-height:40px;font-size:14px;padding:8px}
.pv-review-table input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}
.is-same{opacity:.55}
.is-changed th{box-shadow:inset 4px 0 0 var(--orange)}
.pv-private{background:var(--pv-card);padding:16px 20px;border-radius:4px;margin-top:16px}
.pv-private h2{font-size:16px!important}
.pv-private dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0;font-size:14px}
.pv-private dt{font-weight:700}.pv-private dd{margin:0}
.pv-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}
.pv-inline input{max-width:420px}
.pv-newlink{border:3px solid var(--ink)}
.pv-newlink input[readonly],.pv-newlink textarea[readonly]{font-family:ui-monospace,Consolas,monospace;font-size:13px}
/* Place page block */
.partner-facts{margin:45px 0 10px;padding:30px;background:var(--pv-soft,#e4e7d4);border-radius:3px}
.partner-facts-head{display:flex;gap:22px;align-items:center;margin-bottom:10px}
.partner-facts-head h2{margin:0}
.partner-facts-head .places-editorial{margin-top:6px}
.partner-logo{width:88px;height:88px;object-fit:contain;background:#fff;border-radius:50%;padding:10px;flex:none}
.partner-book{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:20px 0}
.partner-book span{font-size:13px;color:#586151}
.partner-story p,.partner-history p{line-height:1.65;max-width:760px}
.partner-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:24px}
.partner-group{background:#f7f6ef;padding:18px 20px;border-radius:3px}
.partner-group h3,.partner-facts h3{font-size:15px;letter-spacing:-.01em;margin:0 0 12px}
.partner-group dl{display:grid;gap:4px;margin:0;font-size:14px;line-height:1.45}
.partner-group dt{font-weight:700}
.partner-group dd{margin:0 0 8px;color:#39423c}
.partner-recurring,.partner-menus,.partner-photos,.partner-history,.partner-story{margin-top:26px}
.partner-menus ul,.partner-recurring ul{margin:0;padding-left:20px;line-height:1.8}
.partner-menus a{font-weight:700}
.partner-photos figure{flex:0 0 min(360px,80%);margin:0;scroll-snap-align:start}
.partner-photos img{display:block;width:100%;height:auto;border-radius:2px}
.partner-photos figcaption{font-size:11px;padding-top:6px;color:#586151}
.partner-claim{margin:26px 0 0}
@media(max-width:1000px){
.pv-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-how ol{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-request{grid-template-columns:1fr;gap:30px;padding:34px}
.pv-layout{grid-template-columns:1fr}
.pv-toc{position:static}
.pv-toc ol{display:flex;flex-wrap:wrap;gap:6px 14px;border:0}
.pv-toc li{padding:0}
.pv-upload-inputs{grid-template-columns:1fr}
.pv-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
.pv-hero{grid-template-columns:1fr;padding-top:26px;padding-bottom:30px}
.pv-hero-mark{display:none}
.pv-benefits,.pv-how ol,.pv-grid-2,.pv-fields{grid-template-columns:1fr}
.pv-benefits article{padding:24px 4px}
.pv-request{padding:24px 18px}
.partner-facts{padding:22px 18px}
.partner-facts-head{align-items:flex-start}
.partner-logo{width:64px;height:64px}
}
@media(prefers-reduced-motion:reduce){.pv-hero-mark{transform:none}}
