/* ============================================================
   AV Property  –  av-property.css  (prefijo avp-)
   ============================================================ */
.avp-card *, .avp-card *::before, .avp-card *::after { box-sizing: border-box; }

.avp-card {
  --avp-accent:   #2563eb;
  --avp-accent-h: #1d4ed8;
  --avp-bg:       #ffffff;
  --avp-bg-soft:  #f8fafc;
  --avp-border:   #e8ecf0;
  --avp-text:     #0f172a;
  --avp-muted:    #64748b;
  --avp-radius:   18px;
  --avp-shadow:   0 4px 32px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05);

  max-width: 1200px;       /* más ancho */
  width: 100%;
  margin: 0 auto 3.5rem;
  background: var(--avp-bg);
  border-radius: var(--avp-radius);
  box-shadow: var(--avp-shadow);
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif !important;
  color: var(--avp-text) !important;
  line-height: 1.55 !important;
}

/* ── GALERÍA ── */
.avp-gallery {
  position: relative;
  width: 100%;
  height: 480px;           /* más alta */
  background: #e2e8f0;
  overflow: hidden;
}
.avp-slides { position: relative; width: 100%; height: 100%; }
.avp-slide  { position: absolute; inset: 0; opacity: 0; transition: opacity .45s ease; }
.avp-slide--active { opacity: 1; }
.avp-slide img, .avp-single-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.avp-no-img {
  display: flex; align-items: center; justify-content: center;
  height: 100%; color: var(--avp-muted); font-size: .9rem;
  background: var(--avp-bg-soft);
}

/* Flechas SVG */
.avp-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px;
  background: rgba(255,255,255,.9) !important;
  border: none !important; border-radius: 50% !important;
  cursor: pointer; z-index: 10;
  display: flex !important; align-items: center; justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
  transition: background .2s, transform .2s, box-shadow .2s;
  padding: 0 !important; color: var(--avp-text) !important;
}
.avp-arrow:hover {
  background: #fff !important;
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 4px 20px rgba(0,0,0,.22);
}
.avp-arrow--prev { left: 18px; }
.avp-arrow--next { right: 18px; }

.avp-dots {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 7px; z-index: 10;
}
.avp-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.45); cursor: pointer;
  transition: background .2s, transform .2s;
}
.avp-dot--on { background: #fff; transform: scale(1.35); }

.avp-counter {
  position: absolute; top: 16px; right: 16px;
  background: rgba(0,0,0,.42); color: #fff;
  font-size: .72rem; padding: .25rem .65rem;
  border-radius: 20px; z-index: 10;
  letter-spacing: .03em;
}

/* ── BODY ── */
.avp-body {
  display: grid;
  grid-template-columns: 1fr 460px;   /* sidebar un poco más ancho */
}

/* ── COL INFO ── */
.avp-info {
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  border-right: 1px solid var(--avp-border);
}

.avp-name {
  font-size: 1.9rem !important; font-weight: 800 !important;
  margin: 0 0 .5rem !important; line-height: 1.15 !important;
  color: var(--avp-text) !important; letter-spacing: -.02em;
}

.avp-location {
  display: flex; align-items: center; gap: .35rem;
  color: var(--avp-muted) !important; margin: 0 0 1.25rem !important;
  font-size: .9rem !important;
}
.avp-location svg { flex-shrink: 0; color: var(--avp-accent); }

/* Specs pills */
.avp-specs {
  display: flex; flex-wrap: wrap; gap: .5rem;
  margin-bottom: 1.5rem;
}
.avp-specs span {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--avp-bg-soft);
  border: 1px solid var(--avp-border);
  border-radius: 30px;
  padding: .35rem .85rem;
  font-size: .83rem; color: var(--avp-muted);
  white-space: nowrap;
}
.avp-specs svg { color: var(--avp-accent); flex-shrink: 0; }

.avp-desc {
  font-size: .95rem; color: var(--avp-muted); line-height: 1.75;
  margin-bottom: 1.75rem;
}
.avp-desc p { margin: 0 0 .6rem; }

/* Amenidades */
.avp-amenities { margin-bottom: 1.75rem; }
.avp-amenities-title {
  font-size: .72rem !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--avp-muted) !important; margin: 0 0 .75rem !important;
}
.avp-amenities-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.avp-amenity {
  display: inline-flex; align-items: center; gap: .4rem;
  background: #fff;
  border: 1.5px solid var(--avp-border);
  border-radius: 8px;
  padding: .35rem .75rem;
  font-size: .8rem; color: var(--avp-text);
  transition: border-color .15s, background .15s;
}
.avp-amenity svg { color: var(--avp-accent); flex-shrink: 0; }
.avp-amenity:hover { border-color: var(--avp-accent); background: #eff6ff; }

/* Precio */
.avp-price-row {
  display: flex; align-items: baseline; gap: .35rem;
  margin-top: 1.5rem; flex-wrap: wrap;
}
.avp-price-from { font-size: .82rem; color: var(--avp-muted); }
.avp-price-num  {
  font-size: 2.2rem !important; font-weight: 900 !important;
  color: var(--avp-text) !important; line-height: 1; letter-spacing: -.03em;
}
.avp-price-unit { font-size: .88rem; color: var(--avp-muted); }
.avp-price-gbp  { font-size: .8rem; color: var(--avp-muted); margin-left: .15rem; }

/* Trust badges */
.avp-trust {
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem;
  margin-top: .9rem;
}
.avp-trust span {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .78rem; color: var(--avp-muted);
}
.avp-trust svg { color: var(--avp-accent); }

/* ── COL SIDEBAR ── */
.avp-sidebar {
  padding: 2rem 1.75rem;
  background: var(--avp-bg-soft);
  display: flex; flex-direction: column; gap: 1.1rem;
}
.avp-sidebar-title {
  font-size: .82rem !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: .09em;
  color: var(--avp-muted) !important; margin: 0 !important;
}

/* Mini cal */
.avp-mini-cal { width: 100%; }
.avp-cal-loading {
  display: flex; align-items: center; justify-content: center; height: 80px;
}
.avp-cal-loading span {
  width: 22px; height: 22px;
  border: 2.5px solid var(--avp-border);
  border-top-color: var(--avp-accent);
  border-radius: 50%; animation: avp-spin .7s linear infinite; display: block;
}
@keyframes avp-spin { to { transform: rotate(360deg); } }

.avp-mini-cal .avp-month-block {
  background: #fff; border-radius: 12px;
  border: 1px solid var(--avp-border);
  padding: .9rem; margin-bottom: .75rem;
}
.avp-mini-cal .avp-month-name {
  text-align: center; font-size: .78rem; font-weight: 700;
  margin-bottom: .6rem; color: var(--avp-text);
}
.avp-mini-cal .avp-month-nav {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .8rem;
}
.avp-mini-cal .avp-nav-btn {
  background: #fff !important; border: 1.5px solid var(--avp-border) !important;
  border-radius: 7px !important; width: 28px; height: 28px;
  font-size: .82rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--avp-text) !important; padding: 0 !important;
  transition: border-color .15s, background .15s;
}
.avp-mini-cal .avp-nav-btn:hover:not(:disabled) { border-color: var(--avp-accent) !important; background: #eff6ff !important; }
.avp-mini-cal .avp-nav-btn:disabled { opacity: .3; cursor: default; }
.avp-mini-cal .avp-month-label { font-size: .8rem; font-weight: 700; color: var(--avp-text); }

.avp-mini-cal .avp-grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px;
}
.avp-mini-cal .avp-dow {
  font-size: .58rem; font-weight: 600; text-align: center;
  color: var(--avp-muted); padding-bottom: 4px; text-transform: uppercase;
}
.avp-mini-cal .avp-d {
  font-size: .71rem; text-align: center;
  padding: 4px 1px; border-radius: 5px; line-height: 1.1;
}
.avp-mini-cal .avp-d.free    { background: #dcfce7; color: #166534; }
.avp-mini-cal .avp-d.busy    { background: var(--avp-bg-soft); color: #cbd5e1; text-decoration: line-through; }
.avp-mini-cal .avp-d.today   { background: var(--avp-accent); color: #fff; font-weight: 800; border-radius: 50%; }
.avp-mini-cal .avp-d.advance { background: #fef9c3; color: #92400e; }
.avp-mini-cal .avp-d.past    { color: #cbd5e1; }
.avp-mini-cal .avp-d.empty   { background: none; }

/* Leyenda */
.avp-legend { display: flex; gap: .75rem; flex-wrap: wrap; }
.avp-leg {
  display: flex; align-items: center; gap: .3rem;
  font-size: .7rem; color: var(--avp-muted);
}
.avp-leg::before {
  content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 3px;
}
.avp-leg--free::before  { background: #dcfce7; border: 1px solid #86efac; }
.avp-leg--busy::before  { background: var(--avp-bg-soft); border: 1px solid var(--avp-border); }
.avp-leg--today::before { background: var(--avp-accent); }

/* CTA */
.avp-cta { text-align: center; }
.avp-btn-main {
  display: flex !important; align-items: center; justify-content: center;
  gap: .5rem;
  width: 100%; background: var(--avp-accent) !important;
  color: #fff !important; text-align: center;
  padding: 1rem 1.25rem !important; border-radius: 12px !important;
  font-weight: 700 !important; font-size: 1rem !important;
  text-decoration: none !important; border: none !important; cursor: pointer;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 4px 14px rgba(37,99,235,.35);
  line-height: 1.3 !important;
}
.avp-btn-main::after { content: '→'; font-size: 1.1rem; }
.avp-btn-main:hover {
  background: var(--avp-accent-h) !important; color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(37,99,235,.45);
}
.avp-min-note {
  font-size: .73rem !important; color: var(--avp-muted) !important;
  margin: .5rem 0 0 !important; text-align: center;
}

/* Separador + formulario */
.avp-booking-section {
  padding: 2.5rem;
  border-top: 1px solid var(--avp-border);
  background: var(--avp-bg-soft);
}
.avp-booking-section h3 {
  margin: 0 0 1.75rem !important; font-size: 1.25rem !important; font-weight: 700 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .avp-card { overflow: visible; }
  .avp-body {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: nowrap !important;
  }
  .avp-info {
    border-right: none;
    border-bottom: 1px solid var(--avp-border);
    padding: 1.75rem;
    order: 2;
    width: 100%;
  }
  .avp-sidebar {
    padding: 1.5rem 1.75rem;
    order: 1;
    width: 100%;
    position: static !important;
  }
  .avp-gallery { height: 300px; }
}
@media (max-width: 520px) {
  .avp-gallery { height: 240px; }
  .avp-name { font-size: 1.4rem !important; }
  .avp-info, .avp-sidebar, .avp-booking-section { padding: 1.25rem; }
}

/* ── LISTADO ── */
.avp-listing {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.75rem;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.avp-listing-card {
  background: #fff; border-radius: 14px;
  box-shadow: 0 2px 16px rgba(0,0,0,.08);
  overflow: hidden; transition: transform .2s, box-shadow .2s;
}
.avp-listing-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,.13); }
.avp-listing-card img { width: 100%; height: 210px; object-fit: cover; display: block; }
.avp-listing-body { padding: 1.2rem; }
.avp-listing-body h3 { margin: 0 0 .3rem !important; font-size: 1.05rem !important; font-weight: 700 !important; }
.avp-listing-body h3 a { text-decoration: none; color: inherit; }
.avp-listing-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; }
.avp-listing-price { font-size: .88rem; color: var(--avp-muted); }
.avp-listing-price strong { font-size: 1.1rem; color: var(--avp-text); font-weight: 800; }
.avp-btn-sm {
  background: var(--avp-accent) !important; color: #fff !important;
  padding: .45rem 1rem !important; border-radius: 8px !important;
  font-size: .82rem !important; text-decoration: none !important;
  font-weight: 600 !important; transition: opacity .2s !important;
}
.avp-btn-sm:hover { opacity: .85 !important; color: #fff !important; }

/* Booking widget in sidebar — sticky */
.avp-sidebar {
  position: sticky;
  top: 2rem;
  align-self: start;
}
.avp-sidebar .av-booking-box {
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.25rem;
  background: #fff;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}-.wp-block-uagb-separator{text-align:center;box-sizing:border-box;line-height:0}.wp-block-uagb-separator__inner{display:inline-block}.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{border-top-style:solid;-webkit-mask:var(--my-background-image);-webkit-mask-size:38px 100%;-webkit-mask-repeat:repeat-x}.wp-block-uagb-separator--text .wp-block-uagb-separator__inner,.wp-block-uagb-separator--icon .wp-block-uagb-separator__inner{display:flex;justify-content:center;align-items:center;margin:0 auto}.wp-block-uagb-separator--text .wp-block-uagb-separator__inner::before,.wp-block-uagb-separator--icon .wp-block-uagb-separator__inner::before{display:block;content:"";border-bottom:0;flex-grow:1;border-top-color:#333;border-top-style:solid;-webkit-mask:var(--my-background-image);-webkit-mask-size:38px 100%;-webkit-mask-repeat:repeat-x}.wp-block-uagb-separator--text .wp-block-uagb-separator__inner::after,.wp-block-uagb-separator--icon .wp-block-uagb-separator__inner::after{display:block;content:"";border-bottom:0;flex-grow:1;border-top-color:#333;border-top-style:solid;-webkit-mask:var(--my-background-image);-webkit-mask-size:38px 100%;-webkit-mask-repeat:repeat-x}.wp-block-uagb-separator--icon .wp-block-uagb-separator-element svg{font-size:30px;color:#333;fill:#333;width:30px;height:30px;line-height:30px;max-width:none}.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{word-break:initial;margin:0}
.uagb-block-862f73b0.wp-block-uagb-separator{text-align: center;}.uagb-block-862f73b0.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{font-style: normal;line-height: 1em;}.uagb-block-862f73b0 .uagb-separator-spacing-wrapper{margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.uagb-block-862f73b0.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{-webkit-mask-size: 5px 100%;border-top-width: 1px;width: 100%;border-top-color: #b9820b;border-top-style: solid;margin-top: 5px;margin-bottom: 5px;}.uagb-block-862f73b0.wp-block-uagb-separator{text-align: center;}.uagb-block-862f73b0.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{font-style: normal;line-height: 1em;}.uagb-block-862f73b0 .uagb-separator-spacing-wrapper{margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.uagb-block-862f73b0.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{-webkit-mask-size: 5px 100%;border-top-width: 1px;width: 100%;border-top-color: #b9820b;border-top-style: solid;margin-top: 5px;margin-bottom: 5px;}@media only screen and (max-width: 976px) {.uagb-block-862f73b0.wp-block-uagb-separator{text-align: center;}.uagb-block-862f73b0.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{font-style: normal;margin-bottom: initial;line-height: 1em;}.uagb-block-862f73b0.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{-webkit-mask-size: 5px 100%;width: 100%;border-top-color: #b9820b;border-top-style: solid;margin-top: 5px;margin-bottom: 5px;}.uagb-block-862f73b0.wp-block-uagb-separator{text-align: center;}.uagb-block-862f73b0.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{font-style: normal;margin-bottom: initial;line-height: 1em;}.uagb-block-862f73b0.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{-webkit-mask-size: 5px 100%;width: 100%;border-top-color: #b9820b;border-top-style: solid;margin-top: 5px;margin-bottom: 5px;}}@media only screen and (max-width: 767px) {.uagb-block-862f73b0.wp-block-uagb-separator{text-align: center;}.uagb-block-862f73b0.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{font-style: normal;margin-bottom: initial;line-height: 1em;}.uagb-block-862f73b0.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{-webkit-mask-size: 5px 100%;width: 100%;border-top-color: #b9820b;border-top-style: solid;margin-top: 5px;margin-bottom: 5px;}.uagb-block-862f73b0.wp-block-uagb-separator{text-align: center;}.uagb-block-862f73b0.wp-block-uagb-separator--text .wp-block-uagb-separator-element .uagb-html-tag{font-style: normal;margin-bottom: initial;line-height: 1em;}.uagb-block-862f73b0.wp-block-uagb-separator:not(.wp-block-uagb-separator--text):not(.wp-block-uagb-separator--icon) .wp-block-uagb-separator__inner{-webkit-mask-size: 5px 100%;width: 100%;border-top-color: #b9820b;border-top-style: solid;margin-top: 5px;margin-bottom: 5px;}}.uag-blocks-common-selector{z-index:var(--z-index-desktop) !important}@media (max-width: 976px){.uag-blocks-common-selector{z-index:var(--z-index-tablet) !important}}@media (max-width: 767px){.uag-blocks-common-selector{z-index:var(--z-index-mobile) !important}}