/* ============================================
   SEVITONINA - WordPress/Elementor Override CSS
   Makes Elementor pages match the approved mockup
   ============================================ */

:root {
  --sv-gold: #C5A059;
  --sv-gold-light: #d4b06a;
  --sv-cream: #F0ECE3;
  --sv-black: #0a0a0a;
  --sv-dark: #141414;
  --sv-dark2: #1a1a1a;
  --sv-muted: rgba(240,236,227,.6);
  --sv-muted2: rgba(240,236,227,.35);
}

/* === GLOBAL === */
body, body.elementor-page {
  background: var(--sv-black) !important;
  color: var(--sv-cream) !important;
  font-family: 'Montserrat', sans-serif !important;
  line-height: 1.7 !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide theme header/footer */
header.site-header,
header.site-header.dynamic-header,
.site-header,
#masthead,
.page-header,
h1.entry-title,
.entry-header,
footer.site-footer,
.site-footer {
  display: none !important;
}

/* === TYPOGRAPHY === */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'Cinzel', serif !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: var(--sv-cream) !important;
}

.elementor-heading-title em {
  color: var(--sv-gold) !important;
  font-style: italic !important;
}

/* Labels (h6 headings used as labels) */
h6.elementor-heading-title,
.elementor-widget-heading h6 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--sv-gold) !important;
  font-weight: 500 !important;
}

/* === LINKS === */
a {
  text-decoration: none !important;
  transition: all 0.3s !important;
}
/* Buttons with gold background must have black text */
a.btn-gold, .btn-gold {
  color: #000 !important;
}
a.btn-gold:hover, .btn-gold:hover {
  color: #000 !important;
}
/* Outline buttons keep gold text */
a.btn-outline, .btn-outline {
  color: var(--sv-gold) !important;
}
a.btn-outline:hover, .btn-outline:hover {
  color: #000 !important;
}

/* Text in editors */
.elementor-text-editor,
.elementor-text-editor p {
  color: var(--sv-muted) !important;
  font-family: 'Montserrat', sans-serif !important;
  line-height: 1.8 !important;
}
.elementor-text-editor a {
  color: var(--sv-muted) !important;
}
.elementor-text-editor a:hover {
  color: var(--sv-gold) !important;
}

/* === BUTTONS === */
.elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  transition: all 0.3s !important;
  border-radius: 0 !important;
}
.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(197,160,89,0.3) !important;
}

/* Gold button */
.elementor-button-wrapper .elementor-button[style*="background-color: rgb(197, 160, 89)"],
.elementor-button-wrapper .elementor-button[style*="background-color:#C5A059"] {
  background-color: var(--sv-gold) !important;
  color: #000 !important;
}

/* Outline button */
.elementor-button[style*="background-color: transparent"] {
  background: transparent !important;
  color: var(--sv-gold) !important;
  border: 1px solid var(--sv-gold) !important;
}
.elementor-button[style*="background-color: transparent"]:hover {
  background: var(--sv-gold) !important;
  color: #000 !important;
}

/* === CONTAINERS === */
.e-con {
  transition: all 0.3s !important;
}

/* Dark section background */
.e-con[style*="background-color: rgb(20, 20, 20)"],
.e-con[style*="background-color:#141414"] {
  background-color: var(--sv-dark) !important;
}

/* Black section background */
.e-con[style*="background-color: rgb(10, 10, 10)"],
.e-con[style*="background-color:#0a0a0a"] {
  background-color: var(--sv-black) !important;
}

/* Card hover */
.e-con[style*="border"] {
  transition: all 0.3s !important;
}
.e-con[style*="border"]:hover {
  border-color: rgba(197,160,89,0.25) !important;
}

/* === ICON LIST === */
.elementor-icon-list-icon i,
.elementor-icon-list-icon svg {
  color: var(--sv-gold) !important;
  fill: var(--sv-gold) !important;
}
.elementor-icon-list-text {
  color: var(--sv-muted) !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* === DIVIDER === */
.elementor-divider-separator {
  border-color: rgba(197,160,89,0.3) !important;
}

/* === IMAGES === */
.elementor-image img {
  max-width: 100% !important;
  height: auto !important;
}

/* B&W filter for content images (not logo) */
.e-con .elementor-image img:not([src*="Logotipo"]) {
  filter: grayscale(0.8) sepia(0.2) contrast(1.1) !important;
  transition: filter 0.6s !important;
}
.e-con:hover .elementor-image img:not([src*="Logotipo"]) {
  filter: grayscale(0.3) sepia(0.1) contrast(1.05) !important;
}

/* === FORMS === */
.elementor-form .elementor-field-group {
  margin-bottom: 16px !important;
}
.elementor-form .elementor-field {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(197,160,89,0.18) !important;
  color: var(--sv-cream) !important;
  font-family: 'Montserrat', sans-serif !important;
  padding: 14px 16px !important;
  border-radius: 0 !important;
}
.elementor-form .elementor-field:focus {
  border-color: var(--sv-gold) !important;
  outline: none !important;
}
.elementor-form .elementor-field-label {
  color: var(--sv-gold) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
.elementor-form select option {
  background: var(--sv-dark2) !important;
  color: var(--sv-cream) !important;
}
.elementor-form .elementor-button {
  background-color: var(--sv-gold) !important;
  color: #000 !important;
}

/* === CUSTOM NAV (injected by child theme) === */
#sv-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
}

/* Space for fixed nav */
.elementor-page .elementor {
  padding-top: 0 !important;
}

/* First container on page needs top margin for nav */
.elementor > .elementor-element:first-child > .e-con:first-child {
  padding-top: 64px !important;
}

/* === RESPONSIVE === */
@media (max-width: 767px) {
  .elementor-heading-title {
    font-size: 24px !important;
  }

  h1.elementor-heading-title {
    font-size: 26px !important;
  }

  .e-con[style*="flex-direction: row"] {
    flex-direction: column !important;
  }

  .elementor-button {
    font-size: 11px !important;
    padding: 14px 30px !important;
  }
}

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--sv-black); }
::-webkit-scrollbar-thumb { background: rgba(197,160,89,0.25); }
::-webkit-scrollbar-thumb:hover { background: var(--sv-gold); }

/* === SMOOTH SCROLL === */
html { scroll-behavior: smooth !important; }

/* ============================================
   AMELIA BOOKING PLUGIN - DARK THEME OVERRIDE
   ============================================ */
#amelia-app-booking,
.amelia-app-booking-new,
.amelia-booking-wrap,
#amelia-booking-wrapper {
  background: transparent !important;
}
/* Amelia V4 new selectors */
.amelia-booking,
.amelia-booking .am-dialog-el,
.amelia-booking .el-dialog,
.amelia-booking .am-service-card,
.amelia-booking .am-card,
.amelia-booking .am-step-wrapper,
.amelia-booking .am-category-list,
.amelia-booking .am-service-list {
  background: var(--sv-dark) !important;
  border: 1px solid rgba(197,160,89,.12) !important;
  border-radius: 0 !important;
}
/* Amelia text */
.amelia-booking,
.amelia-booking *:not(svg):not(path) {
  color: var(--sv-cream) !important;
  font-family: 'Montserrat', sans-serif !important;
}
.amelia-booking label,
.amelia-booking .am-label {
  color: var(--sv-gold) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
/* Amelia inputs */
.amelia-booking input,
.amelia-booking select,
.amelia-booking textarea,
.amelia-booking .el-input__inner,
.amelia-booking .el-textarea__inner {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(197,160,89,.18) !important;
  color: var(--sv-cream) !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
}
.amelia-booking input:focus,
.amelia-booking .el-input__inner:focus,
.amelia-booking .el-textarea__inner:focus {
  border-color: var(--sv-gold) !important;
  box-shadow: none !important;
}
/* Amelia buttons */
.amelia-booking .am-button,
.amelia-booking .el-button--primary,
.amelia-booking .am-button--primary,
.amelia-booking button[class*="primary"] {
  background: var(--sv-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}
.amelia-booking .am-button:hover,
.amelia-booking .el-button--primary:hover {
  background: var(--sv-gold-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(197,160,89,.3) !important;
}
/* Amelia calendar */
.amelia-booking .am-calendar .is-selected,
.amelia-booking .el-calendar__body td.is-selected {
  background: var(--sv-gold) !important;
  color: #000 !important;
}
.amelia-booking .am-calendar,
.amelia-booking .el-calendar {
  background: var(--sv-dark) !important;
}
.amelia-booking .am-calendar td,
.amelia-booking .el-calendar__body td {
  border-color: rgba(197,160,89,.08) !important;
}
/* Amelia dropdown / popper */
.amelia-booking .el-select-dropdown,
.amelia-booking .el-popper {
  background: var(--sv-dark2) !important;
  border: 1px solid rgba(197,160,89,.18) !important;
}
.amelia-booking .el-select-dropdown__item.hover,
.amelia-booking .el-select-dropdown__item:hover {
  background: rgba(197,160,89,.1) !important;
}
/* Amelia headings */
.amelia-booking h2,
.amelia-booking h3,
.amelia-booking h4 {
  font-family: 'Cinzel', serif !important;
  color: var(--sv-cream) !important;
}
/* Amelia steps indicator */
.amelia-booking .am-step-indicator,
.amelia-booking .am-progress {
  color: var(--sv-gold) !important;
}
.amelia-booking .am-step-indicator .am-step.is-active,
.amelia-booking .am-step-indicator .am-step.is-finish {
  color: var(--sv-gold) !important;
}
/* Amelia scrollbar inside widget */
.amelia-booking ::-webkit-scrollbar { width: 4px; }
.amelia-booking ::-webkit-scrollbar-track { background: var(--sv-dark); }
.amelia-booking ::-webkit-scrollbar-thumb { background: rgba(197,160,89,.25); }

/* ============================================
   CONTACT FORM 7 - DARK THEME OVERRIDE
   ============================================ */
.wpcf7 {
  max-width: 600px;
}
.wpcf7 label {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--sv-gold) !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
  font-family: 'Montserrat', sans-serif !important;
}
.wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.wpcf7 select,
.wpcf7 textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(197,160,89,.18) !important;
  color: var(--sv-cream) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  transition: border-color .3s !important;
  outline: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: var(--sv-gold) !important;
}
.wpcf7 textarea {
  resize: vertical !important;
  min-height: 100px !important;
}
.wpcf7 select {
  appearance: none !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23C5A059' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
}
.wpcf7 select option {
  background: #1a1a1a !important;
  color: var(--sv-cream) !important;
}
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  display: inline-block !important;
  width: 100% !important;
  padding: 16px 40px !important;
  background: var(--sv-gold) !important;
  color: #000 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  transition: all .3s !important;
  border-radius: 0 !important;
}
.wpcf7 input[type="submit"]:hover {
  background: var(--sv-gold-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(197,160,89,.3) !important;
}
/* CF7 form groups spacing */
.wpcf7 p {
  margin-bottom: 20px !important;
}
/* CF7 response messages */
.wpcf7 .wpcf7-response-output {
  border: 1px solid rgba(197,160,89,.3) !important;
  color: var(--sv-cream) !important;
  padding: 16px !important;
  margin-top: 20px !important;
  font-size: 13px !important;
}
.wpcf7 .wpcf7-mail-sent-ok {
  border-color: var(--sv-gold) !important;
}
.wpcf7 .wpcf7-validation-errors {
  border-color: #c0392b !important;
}
.wpcf7 .wpcf7-not-valid-tip {
  color: #e74c3c !important;
  font-size: 11px !important;
}
/* CF7 checkbox (privacy) */
.wpcf7 .wpcf7-acceptance {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.wpcf7 input[type="checkbox"] {
  accent-color: var(--sv-gold) !important;
  width: 16px !important;
  height: 16px !important;
  margin-top: 3px !important;
}
.wpcf7 .wpcf7-list-item-label {
  font-size: 12px !important;
  color: var(--sv-muted) !important;
}
.wpcf7 .wpcf7-list-item-label a {
  color: var(--sv-gold) !important;
}
/* CF7 spinner */
.wpcf7 .wpcf7-spinner {
  border-color: var(--sv-gold) transparent transparent !important;
}
/* reCAPTCHA badge - subtle positioning */
.grecaptcha-badge {
  opacity: 0.15 !important;
  transition: opacity .3s !important;
}
.grecaptcha-badge:hover {
  opacity: 1 !important;
}

/* ============================================
   PASSWORD PROTECT WP (PPWP) - DARK THEME
   ============================================ */
.ppwp-form-container,
.ppwp-container,
.ppwp-password-form,
[class*="ppwp"] form {
  background: transparent !important;
  max-width: 500px !important;
  margin: 0 auto !important;
}
.ppwp-form-container input[type="password"],
.ppwp-password-form input[type="password"] {
  padding: 14px 16px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(197,160,89,.2) !important;
  color: var(--sv-cream) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 2px !important;
  outline: none !important;
  border-radius: 0 !important;
  width: 100% !important;
}
.ppwp-form-container input[type="password"]:focus,
.ppwp-password-form input[type="password"]:focus {
  border-color: var(--sv-gold) !important;
}
.ppwp-form-container input[type="submit"],
.ppwp-password-form input[type="submit"] {
  padding: 14px 24px !important;
  background: var(--sv-gold) !important;
  color: #000 !important;
  border: 1px solid var(--sv-gold) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all .3s !important;
  border-radius: 0 !important;
}
.ppwp-form-container input[type="submit"]:hover,
.ppwp-password-form input[type="submit"]:hover {
  background: var(--sv-gold-light) !important;
}
.ppwp-form-container label,
.ppwp-password-form label {
  color: var(--sv-gold) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.ppwp-error,
.ppwp-form-container .error {
  color: #c0392b !important;
  font-size: 12px !important;
}

/* ============================================
   COMPLIANZ COOKIE BANNER - DARK THEME
   ============================================ */
.cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner {
  background: var(--sv-dark) !important;
  border-top: 1px solid rgba(197,160,89,.12) !important;
  font-family: 'Montserrat', sans-serif !important;
}
.cmplz-message,
.cmplz-cookiebanner .cmplz-message {
  color: var(--sv-cream) !important;
  font-size: 13px !important;
}
.cmplz-message a {
  color: var(--sv-gold) !important;
}
.cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background: var(--sv-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
}
.cmplz-btn.cmplz-accept:hover {
  background: var(--sv-gold-light) !important;
}
.cmplz-btn.cmplz-deny,
.cmplz-btn.cmplz-manage,
.cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept) {
  background: transparent !important;
  border: 1px solid rgba(240,236,227,.2) !important;
  color: var(--sv-cream) !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 10px 24px !important;
}
.cmplz-btn.cmplz-deny:hover,
.cmplz-btn.cmplz-manage:hover {
  border-color: var(--sv-gold) !important;
  color: var(--sv-gold) !important;
}
/* Complianz categories modal */
.cmplz-categories-wrap,
.cmplz-manage-consent {
  background: var(--sv-dark) !important;
  color: var(--sv-cream) !important;
}
.cmplz-category-header {
  color: var(--sv-cream) !important;
  font-family: 'Cinzel', serif !important;
}
.cmplz-toggle input:checked + .cmplz-slider {
  background-color: var(--sv-gold) !important;
}

/* ============================================
   LEGAL PAGES STYLING
   ============================================ */
.legal-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 120px 20px 80px;
}
.legal-content h1 {
  font-family: 'Cinzel', serif;
  font-size: clamp(24px,5vw,36px);
  color: var(--sv-cream);
  margin-bottom: 12px;
  font-weight: 400;
}
.legal-content h2 {
  font-family: 'Cinzel', serif;
  font-size: 20px;
  color: var(--sv-cream);
  margin-top: 40px;
  margin-bottom: 16px;
  font-weight: 400;
}
.legal-content h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  color: var(--sv-gold);
  margin-top: 24px;
  margin-bottom: 12px;
  font-weight: 600;
  letter-spacing: 1px;
}
.legal-content p,
.legal-content li {
  font-size: 14px;
  color: var(--sv-muted);
  line-height: 1.9;
  margin-bottom: 12px;
}
.legal-content ul {
  list-style: none;
  padding-left: 0;
}
.legal-content ul li {
  padding-left: 20px;
  position: relative;
}
.legal-content ul li::before {
  content: '\2726';
  position: absolute;
  left: 0;
  color: var(--sv-gold);
  font-size: 10px;
  top: 3px;
}
.legal-content a {
  color: var(--sv-gold);
}
.legal-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.legal-content th {
  background: rgba(197,160,89,.08);
  color: var(--sv-gold);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 500;
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid rgba(197,160,89,.15);
}
.legal-content td {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--sv-muted);
  border-bottom: 1px solid rgba(197,160,89,.06);
}
.legal-content .last-updated {
  font-size: 11px;
  color: var(--sv-muted2);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 30px;
}
