/* The programme cards on /excursions and the reserve panel on an excursion page.
   Loaded after experience.css, which supplies the colours, the grid and the base card. */

/* Card: when, where and the next action are readable without opening the page. */
.slate-card{display:flex;flex-direction:column;scroll-margin-top:96px}
.slate-card .tour-body{display:flex;flex-direction:column;flex:1;padding:20px 0 24px}
.slate-card .tour-body h2{font-size:26px;line-height:1.15;margin:6px 0 4px}
.slate-card .tour-body>p{margin:0 0 8px}
.tour-body>.slate-when{font-size:12px;color:var(--ink);letter-spacing:.01em;margin:0}
.slate-when strong{font-weight:700}
.tour-body>.slate-where{font-size:12px;color:var(--muted);margin:0 0 10px}
.tour-body>.slate-where::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--terracotta);vertical-align:1px}
.slate-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px}
.slate-price{font-weight:600;font-size:16px}
.slate-price small{font-size:11px;font-weight:400;color:var(--muted)}
.slate-action{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.slate-action .button{margin-top:0;min-height:44px;padding:10px 20px}
.slate-more{font-size:12px;color:var(--muted)}
.slate-form{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;width:100%}
.slate-form label{font-size:11px;color:var(--muted)}
.slate-form input,.slate-form select{min-height:44px;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font:400 16px/1.3 var(--body);color:var(--ink)}
.slate-form select{width:auto;min-width:72px;justify-self:start}
.slate-form .button,.slate-form .small{grid-column:1/-1}
.slate-form .button{justify-self:start}
.slate-form .small{margin:0;font-size:11px;color:var(--muted)}
.slate-card .form-error{width:100%;margin:0;font-size:12px;color:var(--terracotta)}

/* Excursion page: title and key facts beside the reserve panel, so booking starts on the first screen. */
.product-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start}
.product-top .product-header h1{font-size:52px;line-height:1.05;margin-bottom:18px}
.product-top .booking-panel{margin:0;max-width:none;padding:28px 32px}
.product-top .booking-panel h2{font-size:26px;margin-top:0}
.product-top .booking-panel .form{margin-top:.5rem}
.book-party{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.book-party label{margin:0}
.book-party input{width:88px;min-height:44px}
.book-companions{margin-top:12px;font-size:13px}
.book-companions summary{cursor:pointer;color:var(--muted)}
.product-keyfacts{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0}
.product-keyfacts dt{font-size:11px;color:var(--muted)}
.product-keyfacts dd{margin:2px 0 0;font-size:14px;font-weight:600;line-height:1.3}
.excursion-product>.lede{font-size:20px;line-height:1.5;max-width:46rem;margin:40px 0 20px}

@media(max-width:960px){
  .product-top{grid-template-columns:1fr;gap:20px}
  .product-top .product-header h1{font-size:32px;margin-bottom:10px}
  .product-keyfacts{gap:8px 20px}
  .product-top .booking-panel{padding:16px 18px}
  .product-top .booking-panel .eyebrow{display:none}
  .product-top .booking-panel h2{font-size:22px;margin-bottom:6px}
  .product-top .booking-panel p{margin:0 0 10px}
  .product-top .booking-panel .button{margin-top:4px}
  .excursion-product>.lede{font-size:17px;margin-top:28px}
}
/* Questions and comments under an excursion: the calendar's conversation styling, scoped to this page. */
.product-conversation{padding:2rem 0;border-top:1px solid var(--line);margin-top:2.5rem;max-width:46rem;scroll-margin-top:110px}.product-conversation h2{margin-top:.25rem}.product-conversation .comment-list{list-style:none;padding:0;margin:1.5rem 0}.product-conversation .comment-list>li{background:#f0ebe5;padding:1.25rem 1.5rem;margin:1rem 0;border-radius:1rem}.product-conversation .comment-list p{overflow-wrap:anywhere;white-space:pre-line;margin:0 0 .5rem}.product-conversation .comment-author{font-size:13px;color:var(--muted)}.product-conversation .comment-list form{margin-top:.75rem}.product-conversation textarea{width:100%;min-height:8rem;box-sizing:border-box}
