/* LG Cookie Consent — frontend styles
   --------------------------------------------------------------- */
:root {
  --lgcc-brand: #009343;
  --lgcc-brand-shade: #00732f;
  --lgcc-ink: #173a25;
  --lgcc-ink-soft: #345140;
  --lgcc-mut: #eff6ef;
  --lgcc-br: #e6efe1;
  --lgcc-radius: 16px;
  --lgcc-shadow: 0 12px 32px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.05);
  --lgcc-mobile-bottom: 90px; /* leave room for floating cart/chat widgets on phones */
}

/* Banner */
.lgcc-banner,
.lgcc-banner * { box-sizing: border-box; }

.lgcc-banner {
  position: fixed; bottom: 16px; z-index: 2147483646;
  max-width: 880px;
  background: #fff; color: var(--lgcc-ink);
  border: 1px solid var(--lgcc-br);
  border-radius: var(--lgcc-radius);
  box-shadow: var(--lgcc-shadow);
  padding: 20px 22px;
  font-family: inherit;
  font-size: 15px; line-height: 1.5;
  display: none;
}
.lgcc-banner[data-open="true"] { display: block; }

/* Position variants */
.lgcc-pos-bottom-center { left: 16px; right: 16px; margin: 0 auto; }
.lgcc-pos-bottom-left   { left: 16px; right: auto; }
.lgcc-pos-bottom-right  { right: 16px; left: auto; }

.lgcc-banner__title {
  margin: 0 0 6px; font-size: 18px; font-weight: 700; color: var(--lgcc-ink); letter-spacing: -0.005em;
}
.lgcc-banner__lede { margin: 0 0 14px; color: var(--lgcc-ink-soft); }
.lgcc-banner__lede a {
  color: var(--lgcc-brand); text-decoration: underline; font-weight: 600;
}
.lgcc-banner__row {
  display: flex; gap: 10px; flex-wrap: wrap;
  justify-content: flex-end; align-items: center; margin-top: 10px;
}

/* Buttons */
.lgcc-btn {
  -webkit-appearance: none; appearance: none;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: inherit; font-weight: 600; font-size: 14.5px;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  height: 42px; padding: 0 20px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .05s ease;
}
.lgcc-btn--primary {
  background: var(--lgcc-brand); color: #fff;
  box-shadow: 0 6px 14px rgba(0,147,67,.18);
}
.lgcc-btn--primary:hover,
.lgcc-btn--primary:focus { background: var(--lgcc-brand-shade); outline: none; }
.lgcc-btn--primary:active { transform: scale(.98); }

.lgcc-btn--ghost {
  background: #fff; color: var(--lgcc-ink); border-color: #cfe3d1;
}
.lgcc-btn--ghost:hover,
.lgcc-btn--ghost:focus { background: var(--lgcc-mut); border-color: var(--lgcc-brand); outline: none; }

.lgcc-btn--text {
  background: transparent; color: var(--lgcc-ink-soft); border: none; padding: 0 12px;
  font-weight: 600; text-decoration: underline;
}
.lgcc-btn--text:hover { color: var(--lgcc-ink); }

/* Customise panel */
.lgcc-panel {
  margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--lgcc-br);
  display: none;
}
.lgcc-panel[data-open="true"] { display: block; }

.lgcc-cat {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 12px 0; border-bottom: 1px dashed var(--lgcc-br);
}
.lgcc-cat:last-of-type { border-bottom: 0; }
.lgcc-cat__body { flex: 1; min-width: 0; }
.lgcc-cat__title {
  margin: 0 0 2px; font-size: 15px; font-weight: 700; color: var(--lgcc-ink);
}
.lgcc-cat__desc { margin: 0; font-size: 13.5px; color: var(--lgcc-ink-soft); }
.lgcc-cat__lock {
  font-size: 12px; font-weight: 700; color: var(--lgcc-brand);
  letter-spacing: .04em; text-transform: uppercase;
  padding: 6px 10px; border-radius: 999px; background: var(--lgcc-mut);
  white-space: nowrap;
}

/* Switch */
.lgcc-switch {
  position: relative; flex: 0 0 auto;
  width: 46px; height: 26px; border-radius: 999px;
  background: #cdd6cf; cursor: pointer; border: 0; padding: 0;
  transition: background .15s ease;
}
.lgcc-switch::after {
  content: ""; position: absolute; top: 3px; left: 3px;
  width: 20px; height: 20px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18);
  transition: transform .18s ease;
}
.lgcc-switch[data-on="true"] { background: var(--lgcc-brand); }
.lgcc-switch[data-on="true"]::after { transform: translateX(20px); }

/* Mobile — leave generous room above floating cart/chat widgets via --lgcc-mobile-bottom. */
@media (max-width: 640px) {
  .lgcc-banner {
    left: 8px !important; right: 8px !important;
    bottom: var(--lgcc-mobile-bottom, 90px);
    max-width: none;
    padding: 16px 16px;
    font-size: 14.5px;
  }
  .lgcc-banner__title { font-size: 17px; }
  .lgcc-banner__row { justify-content: stretch; }
  .lgcc-btn { width: 100%; height: 44px; font-size: 15px; }
  .lgcc-btn--text { width: auto; height: auto; padding: 6px 4px; }
}

/* ---------------- Cookie tables (used on /cookie-policy/) ---------------- */
.lgcc-table-wrap { margin: 8px 0 16px; }
.lgcc-table-heading { margin: 18px 0 4px; color: var(--lgcc-ink); }
.lgcc-table-desc    { margin: 0 0 12px; color: var(--lgcc-ink-soft); }

.lgcc-table {
  width: 100%; border-collapse: collapse; margin: 8px 0 16px;
  font-size: 14px; color: var(--lgcc-ink);
}
.lgcc-table th, .lgcc-table td {
  padding: 10px 12px; border: 1px solid #e6efe1; text-align: left; vertical-align: top;
}
.lgcc-table thead th {
  background: var(--lgcc-ink); color: #fff;
  font-weight: 700; font-size: 13px; letter-spacing: .02em;
}
.lgcc-table tbody tr:nth-child(even) td { background: var(--lgcc-mut); }
.lgcc-table code {
  background: #f1f6f1; padding: 2px 6px; border-radius: 4px;
  font-size: 13px; color: var(--lgcc-brand-shade);
}

/* On narrow screens, let the table scroll horizontally rather than crash the layout. */
@media (max-width: 720px) {
  .lgcc-table-wrap { overflow-x: auto; }
  .lgcc-table { min-width: 640px; }
}
