.svarstadhyttene-hyttesok {
    /* Profilfarger: endre disse variablene for hele Hyttesøk-flaten. */
    --sh-background: #eaeaea;
    --sh-card-background: #ffffff;
    --sh-accent: #FFED2D;
    --sh-content-inset: 6px;
    --sh-section-gap: 10px;
    --sh-primary: var(--e-global-color-primary, #254a3d);
    --sh-secondary: var(--e-global-color-secondary, #315646);
    --sh-text: var(--e-global-color-text, #222222);
    --sh-font: var(--e-global-typography-text-font-family, Arial), sans-serif;
    --sh-heading: var(--e-global-typography-primary-font-family, Georgia), serif;
    box-sizing: border-box;
    width: 100%; max-width: 1440px; margin-inline: auto;
    padding: clamp(20px, 4vw, 56px);
    color: var(--sh-text); background: var(--sh-background);
    border-radius: 20px; font-family: var(--sh-font); line-height: 1.6;
}
.svarstadhyttene-hyttesok *, .svarstadhyttene-hyttesok *::before, .svarstadhyttene-hyttesok *::after { box-sizing: border-box; }
.svarstadhyttene-hyttesok .sh-intro { margin: 0 var(--sh-content-inset) var(--sh-section-gap); }
.svarstadhyttene-hyttesok .sh-eyebrow { font-size: 12px; letter-spacing: .18em; font-weight: 700; color: var(--sh-primary); }
.svarstadhyttene-hyttesok .sh-intro h2 { margin: 0 0 12px; font-family: Roboto, var(--sh-font); font-size: clamp(30px, 4vw, 52px); font-weight: 600; line-height: 1.15; color: var(--sh-primary); }
.svarstadhyttene-hyttesok p { margin: 0; }
.svarstadhyttene-hyttesok .sh-keyboard-help { font-size: 12px; margin: 0 0 12px; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form {
    display: flex; flex-wrap: wrap; align-items: end; gap: 16px;
    padding: 24px !important; background: var(--sh-card-background); border: 1px solid #d8ded8; border-radius: 12px;
}
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form::after { display: none; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field,
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field.wpbs_s-search-widget-field-submit {
    float: none; position: static; flex: 1 1 190px; width: auto; min-width: 0; margin: 0;
}
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field label { color: var(--sh-text); font-weight: 600 !important; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field input[type="text"],
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field select {
    height: 52px !important; line-height: 52px !important; border-radius: 6px !important; border-color: #aab9ad !important; color: var(--sh-text) !important;
}
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit {
    width: 100% !important; height: 52px !important; line-height: 1.3 !important;
    border-radius: 6px !important; background: var(--sh-primary) !important; color: #fff !important; letter-spacing: .08em; font-size: 14px !important;
}
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit {
    transition: background-color .25s ease, color .25s ease !important;
}
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit:hover,
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit:focus,
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit:focus-visible {
    background: #000000 !important; color: #FFED2D !important;
}
.svarstadhyttene-hyttesok button:disabled { cursor: wait !important; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget-results-wrap > h2 { font: 400 30px/1.2 var(--sh-heading) !important; color: var(--sh-primary); margin: var(--sh-section-gap) var(--sh-content-inset) 20px !important; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget-results { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 !important; width: 100% !important; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-results .sh-card {
    float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
    background: var(--sh-card-background); border: 1px solid #d8ded8; border-radius: 12px; overflow: hidden; text-align: left;
}
.svarstadhyttene-hyttesok .sh-card__image { aspect-ratio: 16 / 10; background: #dee5da; overflow: hidden; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .sh-card__image img { float: none !important; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; object-fit: cover; display: block; }
.svarstadhyttene-hyttesok .sh-card__placeholder { display: grid; height: 100%; place-items: center; color: #395243; font-size: 11px; letter-spacing: .15em; }
.svarstadhyttene-hyttesok .sh-card__body { padding: 24px; }
.svarstadhyttene-hyttesok .sh-card__available { color: #315b3e; font-size: 13px; font-weight: 600; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .sh-card h3 { margin: 12px 0 !important; font: 400 26px/1.2 var(--sh-heading) !important; color: var(--sh-primary); }
.svarstadhyttene-hyttesok .sh-card__capacity { font-size: 14px; }
.svarstadhyttene-hyttesok .sh-card__button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; margin-top: 24px; padding-top: 12px; border-top: 1px solid #d8ded8; color: var(--sh-primary); text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.svarstadhyttene-hyttesok .sh-card__button:hover { text-decoration: underline; }
.svarstadhyttene-hyttesok .sh-empty { padding: 24px; background: var(--sh-card-background); border: 1px solid #d8ded8; border-radius: 8px; }
.svarstadhyttene-hyttesok .sh-empty h3 { margin: 0 0 8px; }
.svarstadhyttene-hyttesok .sh-status { margin-left: var(--sh-content-inset); margin-right: var(--sh-content-inset); }
.svarstadhyttene-hyttesok .sh-status:not(:empty) { margin-top: 20px; }
.svarstadhyttene-hyttesok .sh-status--error, .svarstadhyttene-hyttesok .wpbs_s-search-widget-error-field { color: #8a241d; }
.svarstadhyttene-hyttesok :is(a, button, input, select):focus-visible,
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field :is(input, button, select):focus-visible {
    outline: 3px solid var(--sh-accent) !important; outline-offset: 3px !important; box-shadow: 0 0 0 2px white !important;
}
#ui-datepicker-div.sh-datepicker :is(a, select, button):focus-visible { outline: 3px solid var(--e-global-color-accent, #8e713e); outline-offset: 2px; }
@media (max-width: 1024px) {
    .svarstadhyttene-hyttesok .wpbs_s-search-widget-results { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 767px) {
    .svarstadhyttene-hyttesok { padding: 20px; border-radius: 8px; }
    .svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form { padding: 16px !important; }
    .svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field { flex-basis: 100%; }
    .svarstadhyttene-hyttesok .wpbs_s-search-widget-results { grid-template-columns: minmax(0, 1fr); }
    .svarstadhyttene-hyttesok .sh-card__body { padding: 20px; }
}
@media (min-width: 1440px) {
    .svarstadhyttene-hyttesok .wpbs_s-search-widget-results { gap: 28px; }
}

/* Override the vendor's inline 250px minimum on narrow screens. */
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-results .sh-card { min-width: 0 !important; }
/* WPBS uses broad, !important card rules and inline sizing. Keep overrides
   scoped to our cards while preserving inline display:none for pagination. */
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-widget-results .wpbs_s-search-widget-result.sh-card {
    display: block; min-width: 0 !important; padding: 0 !important;
}
.svarstadhyttene-hyttesok .sh-card__image { width: 100%; }
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-widget-results .wpbs_s-search-widget-result.sh-card h3 {
    font: 400 26px/1.2 var(--sh-heading) !important; margin: 12px 0 !important; padding: 0 !important; color: var(--sh-primary) !important;
}
.svarstadhyttene-hyttesok .wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-widget-results .wpbs_s-search-widget-result.sh-card img {
    position: static !important; width: 100% !important; height: 100% !important; min-height: 0 !important;
    margin: 0 !important; max-width: none !important; object-fit: cover !important;
}
.svarstadhyttene-hyttesok .sh-card i { font-style: normal; }
