/*
 * VinWin Cookie Consent v1.2.1
 * Scoped component styles hardened against Elementor/theme global h2/button rules.
 * No external fonts, external CSS or additional dependencies.
 */

#vinwin-consent-root,
#vinwin-consent-reopen,
.vwc-shortcode-button {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

#vinwin-consent-root *,
#vinwin-consent-root *::before,
#vinwin-consent-root *::after,
#vinwin-consent-reopen *,
#vinwin-consent-reopen *::before,
#vinwin-consent-reopen *::after {
  box-sizing: border-box;
}

#vinwin-consent-root[hidden],
#vinwin-consent-root .vwc-preferences[hidden] {
  display: none !important;
}

#vinwin-consent-root {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 14px !important;
  isolation: isolate;
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.55 !important;
}

#vinwin-consent-root .vwc-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(35, 38, 31, .54) !important;
  -webkit-backdrop-filter: blur(7px) saturate(.79);
  backdrop-filter: blur(7px) saturate(.79);
}

#vinwin-consent-root .vwc-dialog {
  --vwc-ink: #3b2b21;
  --vwc-muted: #6b665d;
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: min(100%, 635px) !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: calc(100dvh - 28px) !important;
  margin: 0 !important;
  padding: 27px 23px 21px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  background: linear-gradient(135deg, rgba(255,255,255,.77), rgba(255,255,255,.07) 65%), var(--vwc-bg, #f8f3ea) !important;
  color: var(--vwc-ink) !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  border-radius: 24px !important;
  box-shadow: 0 30px 105px rgba(27,33,26,.27), 0 3px 17px rgba(42,51,43,.08) !important;
  text-align: left !important;
  font: normal 14px/1.55 Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  scrollbar-width: thin;
  -webkit-font-smoothing: antialiased;
}

#vinwin-consent-root .vwc-dialog::before {
  content: '';
  position: absolute;
  top: 0;
  right: 23px;
  left: 23px;
  height: 3px;
  background: linear-gradient(90deg, #c8ad70, var(--vwc-accent, #2e6d67) 58%, transparent);
  border-radius: 0 0 3px 3px;
}

#vinwin-consent-root .vwc-dialog:focus { outline: none; }

#vinwin-consent-root .vwc-brandline {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--vwc-accent, #2e6d67) !important;
  font: 750 10px/1.2 Arial, Helvetica, sans-serif !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

#vinwin-consent-root .vwc-brand-mark {
  position: relative;
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(43,100,95,.25);
  border-radius: 50%;
  color: var(--vwc-accent, #2e6d67);
  font: italic 700 24px/1 Georgia, serif !important;
  letter-spacing: -.1em;
  text-transform: none;
}

#vinwin-consent-root .vwc-golddot {
  position: absolute;
  top: -7px;
  right: 4px;
  color: #d2aa3e;
  font: 700 24px/1 Arial, Helvetica, sans-serif;
  letter-spacing: 0;
}

/* Two IDs + !important deliberately override Elementor's global h2 rules. */
#vinwin-consent-root #vwc-title {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: 535px !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  margin: 18px 0 15px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--vwc-ink) !important;
  background: transparent !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(29px, 5.6vw, 39px) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -.036em !important;
  text-align: left !important;
  text-indent: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  transform: none !important;
  text-shadow: none !important;
}

#vinwin-consent-root .vwc-dialog p {
  display: block !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  overflow-wrap: anywhere;
}

#vinwin-consent-root #vwc-intro {
  max-width: 535px !important;
  color: var(--vwc-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

#vinwin-consent-root .vwc-main-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

/* Theme button background/border/colors may use !important: override locally. */
#vinwin-consent-root .vwc-dialog .vwc-action {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 49px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 11px 15px !important;
  border: 1px solid var(--vwc-accent, #2e6d67) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: var(--vwc-accent, #2e6d67) !important;
  background-image: none !important;
  box-shadow: none !important;
  font: 700 13px/1.25 Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  cursor: pointer !important;
  transition: transform .16s, filter .16s;
}

#vinwin-consent-root .vwc-dialog .vwc-action:hover {
  transform: translateY(-1px);
  filter: brightness(.92);
}

#vinwin-consent-root .vwc-dialog .vwc-settings-toggle {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 10px 0 0 !important;
  padding: 10px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--vwc-accent, #2e6d67) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font: 700 13px/1.3 Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  text-transform: none !important;
  cursor: pointer !important;
}

#vinwin-consent-root .vwc-settings-toggle .vwc-chevron {
  font-size: 20px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: transform .18s;
}

#vinwin-consent-root .vwc-settings-toggle[aria-expanded="true"] .vwc-chevron {
  transform: rotate(180deg);
}

#vinwin-consent-root .vwc-preferences {
  display: block;
  margin: 9px 0 0 !important;
  padding: 10px 14px 14px !important;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(45,109,103,.18);
  border-radius: 12px;
}

#vinwin-consent-root .vwc-choice {
  position: relative;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 13px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(60,73,63,.15) !important;
  cursor: pointer;
}

#vinwin-consent-root .vwc-choice-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
}

#vinwin-consent-root .vwc-choice-copy strong {
  color: var(--vwc-ink) !important;
  font: 750 13px/1.3 Arial, Helvetica, sans-serif !important;
}

#vinwin-consent-root .vwc-choice-copy small {
  color: var(--vwc-muted) !important;
  font: 400 12px/1.48 Arial, Helvetica, sans-serif !important;
}

#vinwin-consent-root .vwc-toggle {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
}

#vinwin-consent-root .vwc-toggle-visual {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: 43px;
  height: 25px;
  border: 1px solid rgba(45,81,75,.25);
  border-radius: 25px;
  background: #bfc7bf;
  transition: background .16s;
}

#vinwin-consent-root .vwc-toggle-visual::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: white;
  transition: transform .16s;
}

#vinwin-consent-root .vwc-toggle:checked + .vwc-toggle-visual {
  background: var(--vwc-accent, #2e6d67);
}

#vinwin-consent-root .vwc-toggle:checked + .vwc-toggle-visual::after {
  transform: translateX(18px);
}

#vinwin-consent-root .vwc-toggle:disabled + .vwc-toggle-visual {
  opacity: .75;
}

#vinwin-consent-root .vwc-dialog .vwc-save {
  width: 100% !important;
  margin-top: 14px !important;
}

#vinwin-consent-root .vwc-dialog .vwc-disclaimer {
  margin-top: 15px !important;
  color: var(--vwc-muted) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

#vinwin-consent-root .vwc-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 17px !important;
  margin: 15px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid rgba(60,73,63,.15) !important;
}

#vinwin-consent-root .vwc-links a {
  color: var(--vwc-accent, #2e6d67) !important;
  font: 700 12px/1.4 Arial, Helvetica, sans-serif !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  text-transform: none !important;
}

#vinwin-consent-root .vwc-preview-note {
  margin-top: 12px;
  padding: 9px 11px;
  color: var(--vwc-ink);
  background: rgba(211,169,58,.11);
  border: 1px dashed #bda96a;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.5;
}

#vinwin-consent-reopen {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: fixed !important;
  z-index: 2147482990 !important;
  bottom: 14px !important;
  left: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: calc(100vw - 28px) !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(43,100,95,.26) !important;
  border-radius: 999px !important;
  color: #275d58 !important;
  background: rgba(249,247,240,.97) !important;
  background-image: none !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.13) !important;
  font: 700 11px/1.3 Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  cursor: pointer !important;
}

#vinwin-consent-reopen:hover {
  background: #fff !important;
}

.vwc-shortcode-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

#vinwin-consent-root .vwc-action:focus-visible,
#vinwin-consent-root .vwc-settings-toggle:focus-visible,
#vinwin-consent-reopen:focus-visible,
.vwc-shortcode-button:focus-visible,
#vinwin-consent-root .vwc-links a:focus-visible,
#vinwin-consent-root .vwc-toggle:focus-visible + .vwc-toggle-visual {
  outline: 3px solid #be9f5b !important;
  outline-offset: 3px !important;
}

html.vwc-modal-open {
  overflow: hidden !important;
}

@media (min-width: 550px) {
  #vinwin-consent-root .vwc-dialog {
    padding: 36px 42px 29px !important;
    border-radius: 27px !important;
  }
  #vinwin-consent-root .vwc-dialog::before { left: 42px; right: 42px; }
  #vinwin-consent-root .vwc-main-actions {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 11px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #vinwin-consent-root .vwc-action,
  #vinwin-consent-root .vwc-chevron,
  #vinwin-consent-root .vwc-toggle-visual,
  #vinwin-consent-root .vwc-toggle-visual::after {
    transition: none !important;
  }
}
