/* Named, bookable cottage from the authorised affiliate catalogue. */
.base-price { margin:20px 0; padding-left:15px; border-left:3px solid #008b57; }
.base-price>strong { display:block; color:#041a2b; font-size:20px; font-weight:500; }
.base-price b { color:#007b4b; font-size:29px; font-weight:650; }
.base-price>small { display:block; color:#4c5d63; font-size:13px; line-height:1.5; margin-top:5px; max-width:500px; }
.base-price details { margin-top:7px; font-size:13px; color:#4c5d63; }
.base-price summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.base-price details p { font-size:13px; line-height:1.5; margin:8px 0 0; }
.base-feature { position: relative; display: block; min-width: 0; min-height: 338px; overflow: hidden; background: #d7dfd3; }
.base-feature .base-photo { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 52%; }
.base-feature-caption { position: absolute; right: 20px; bottom: 20px; max-width: calc(100% - 40px); padding: 12px 16px; color: #fff; background: rgba(4,26,43,.94); border: 1px solid rgba(255,255,255,.3); border-radius: 3px; }
.base-feature-caption strong { display: block; font-size: 16px; font-weight: 500; }
.base-feature-caption small { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; color: #dce6e2; }
.base-feature:hover .base-feature-caption strong { text-decoration: underline; text-underline-offset: 4px; }
.base-feature:focus-visible { outline-offset: -5px; }
@media(min-width:901px) { .base-feature { min-height: clamp(338px,25vw,600px); } }
@media(max-width:560px) {
  .base-feature { min-height: 0; height: 300px; flex: none; }
  .base-feature-caption { right: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 10px 12px; }
  .base-feature-caption small { font-size: 11px; }
}
