/* Campingonline – Flatsome-safe CSS (2.3.7) */
#co-wrap, #co-wrap * { box-sizing: border-box; }

/* Reset mot tema (Flatsome) */
#co-wrap button, #co-wrap a, #co-wrap .ctr, #co-wrap .chip {
  -webkit-appearance: none; appearance: none;
  font: inherit; line-height: 1.2; text-decoration: none;
}

/* Variabler & bas */
#co-wrap { --co-primary:#1867C0; --co-text:#222; --co-muted:#6b7280; --co-border:#e5e7eb; --co-bg:#fff; --co-icon:#111; --co-maxw:1300px; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; isolation:isolate; }
#co-wrap .bar { position:relative; display:flex; align-items:stretch; justify-content:center; gap:clamp(6px,1.2vw,10px); flex-wrap:wrap; white-space:normal; overflow:visible; padding:clamp(6px,1vw,10px); margin:0 auto; max-width:var(--co-maxw); width:100%; z-index:0; }

/* Kolumn/meny-celler */
#co-wrap .menu { position:relative; flex:1 1 220px; min-width:220px; z-index:1; display:flex; overflow:visible; }
#co-wrap .menu > button, #co-wrap #co-search-menu > a { height:100%; width:100%; position:relative; z-index:1; }
#co-wrap .menu.open { z-index:50; }
#co-wrap #co-search-menu { z-index:1; }

/* Pill-knappar */
#co-wrap .co-pill { background:#fff; color:var(--co-text); border:1px solid var(--co-border); height:clamp(40px,4.3vw,48px); padding:0 clamp(10px,2.2vw,14px); border-radius:12px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; box-shadow:0 2px 4px rgba(0,0,0,.06); width:100%; min-width:0; justify-content:space-between; }
#co-wrap .co-pill.small { height:36px; padding:0 12px; box-shadow:none; }
#co-wrap .co-pill .label { color:var(--co-muted); font-weight:600; font-size:14px; }
#co-wrap .co-pill .value { color:var(--co-text); font-weight:600; font-size:14px; }
#co-wrap .co-pill .dot { opacity:.5; }

/* Primär Sök-knapp */
#co-wrap .co-primary { background:var(--co-primary); color:#fff; border:0; height:clamp(40px,4.3vw,48px); padding:0 clamp(12px,2.6vw,18px); border-radius:12px; display:inline-flex; align-items:center; gap:8px; font-weight:700; box-shadow:0 2px 6px rgba(24,103,192,.35); justify-content:center; width:100%; white-space:nowrap; position:relative; }
#co-wrap .co-primary.small { height:36px; padding:0 12px; }
#co-wrap .co-primary[disabled], #co-wrap .co-primary[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }

/* Paneler (solid vit bakgrund, super-z-index, klickbar) */
#co-wrap .co-panel {
  position:absolute; top:calc(100% + 6px); left:0;
  min-width:520px; width:auto; max-width:min(96vw, 720px);
  background:#fff !important; background-color:#fff !important;
  border:1px solid var(--co-border); border-radius:12px;
  box-shadow:0 12px 24px rgba(0,0,0,.12);
  padding:16px; display:none; z-index:99999;
  pointer-events:auto;
}
#co-wrap .menu.open .co-panel { display:block; animation: co-pop .12s ease-out; }
@keyframes co-pop { from { transform: translateY(-4px); } to { transform:none; } }

/* Panelinnehåll */
#co-wrap .row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; flex-wrap:wrap; }
#co-wrap .counter { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
#co-wrap .ctr { width:32px; height:32px; border-radius:10px; border:1px solid var(--co-border); background:#fff; cursor:pointer; font-weight:700; }

/* Chips */
#co-wrap .chips { display:flex; flex-wrap:wrap; gap:10px; }
#co-wrap .chip { background:#fff; border:1px solid var(--co-border); border-radius:9999px; padding:8px 14px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
#co-wrap .chip.active { border-color:var(--co-primary); box-shadow:inset 0 0 0 2px var(--co-primary); }

/* Datumfält */
#co-wrap input[type="date"]{ height:48px; border:1px solid var(--co-border); border-radius:12px; padding:0 12px; font-size:15px; width:100%; box-sizing:border-box; background:#fff; }

/* Överstyr sektioner som klipper (Flatsome) */
.ux-section #co-wrap, .ux-row #co-wrap { overflow: visible !important; }

/* Breakpoints */
@media (max-width: 1024px){
  #co-wrap .menu{ flex:1 1 48%; min-width:260px; }
}
@media (max-width: 720px){
  #co-wrap .bar{ gap:8px; padding:8px; }
  #co-wrap .co-pill{ height:52px; }
  #co-wrap .co-primary{ height:52px; }
  #co-wrap .menu{ flex:1 1 100%; min-width:100%; }
  #co-wrap .menu.open .co-panel{ left:50%; right:auto; transform:translateX(-50%); min-width:92vw; max-width:92vw; }
}
