
/* Screen-only print format chooser */
#ere-cp-modal{position:fixed;inset:0;z-index:2147483647;display:block;font-family:Poppins,Arial,sans-serif}
#ere-cp-modal .ere-cp-modal-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(20,20,20,.58)}
#ere-cp-modal .ere-cp-modal-box{position:relative;width:min(680px,calc(100vw - 40px));padding:30px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.25);border-radius:8px;color:#202124}
#ere-cp-modal .ere-cp-modal-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#666}
#ere-cp-modal h3{margin:0 36px 22px;font:600 18px/1.2 Poppins,Arial,sans-serif;text-align:center}
#ere-cp-modal .ere-cp-modal-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
#ere-cp-modal .ere-cp-modal-options button{min-height:150px!important;padding:20px 14px!important;border:1px solid #e5e5e5!important;background:#fff!important;color:#202124!important;border-radius:6px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;cursor:pointer!important;font-family:Poppins,Arial,sans-serif!important;font-size:13px!important;line-height:1.25!important;opacity:1!important;visibility:visible!important;transition:transform .12s,box-shadow .12s,border-color .12s}
#ere-cp-modal .ere-cp-modal-options button:hover{transform:translateY(-2px);border-color:var(--ere-cp-primary,#ed0b87);box-shadow:0 8px 24px rgba(0,0,0,.10)}
#ere-cp-modal .ere-cp-icon{font-size:30px;line-height:1}
#ere-cp-modal .ere-cp-modal-options button strong{display:block!important;color:#202124!important;font-size:13px!important;font-weight:600!important;opacity:1!important;visibility:visible!important}
#ere-cp-modal .ere-cp-modal-options button>span:last-child{display:block!important;font-size:11px!important;color:#777!important;font-weight:400!important;opacity:1!important;visibility:visible!important}
@media(max-width:600px){#ere-cp-modal .ere-cp-modal-options{grid-template-columns:1fr}.ere-cp-modal-options button{min-height:90px}}

:root{
  --ere-cp-primary:#ed0b87;
  --ere-cp-ink:#202124;
  --ere-cp-muted:#6d6e73;
  --ere-cp-line:#e7e7e7;
  --ere-cp-soft:#f7f7f7;
  --ere-cp-radius:0;
}
*{box-sizing:border-box}
html,body{margin:0!important;padding:0!important;background:#fff!important}
body.ere-custom-print-page{
  color:var(--ere-cp-ink)!important;
  background:#fff!important;
  font-family:Poppins,Arial,sans-serif!important;
  font-size:8.6pt!important;
  line-height:1.35!important;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.ere-custom-print-page img{max-width:100%;}
.ere-cp-sheet{
  width:210mm;
  min-height:297mm;
  margin:0 auto;
  padding:8mm;
  overflow:hidden;
  background:#fff;
}
.ere-cp-landscape .ere-cp-sheet{
  width:297mm;
  min-height:210mm;
  padding:7mm 9mm;
}
.ere-cp-without_logo .ere-cp-sheet{padding-top:7mm}

/* Brand */
.ere-cp-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:12mm;
  margin:0 0 4mm;
  padding:0 0 3mm;
  border-bottom:1px solid var(--ere-cp-line);
}
.ere-cp-logo img{display:block;width:auto;max-width:var(--ere-cp-logo-width,70mm);max-height:15mm;object-fit:contain;object-position:left center}
.ere-cp-brand-code{font-size:7.5pt;color:var(--ere-cp-muted);font-weight:500}

/* Hero heading */
.ere-cp-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title price" "location price";
  gap:1mm 7mm;
  align-items:end;
  margin-bottom:3.5mm;
}
.ere-cp-title{grid-area:title;margin:0!important;font-size:19pt!important;line-height:1.05!important;font-weight:600!important;letter-spacing:-.45px!important;color:var(--ere-cp-ink)!important}
.ere-cp-location{grid-area:location;margin:0;color:var(--ere-cp-muted);font-size:8.5pt}
.ere-cp-price{grid-area:price;margin:0;min-width:34mm;padding:2.5mm 4mm 2.8mm;color:#fff!important;background:var(--ere-cp-primary);font-size:16pt;font-weight:700;line-height:1;white-space:nowrap;text-align:right;border-radius:1.5mm;align-self:center;box-shadow:none!important}.ere-cp-price *{color:#fff!important}.ere-cp-price-label{color:rgba(255,255,255,.82)!important}
.ere-cp-price-label{display:block!important;font-size:6.8pt!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.7px!important;margin-bottom:1mm!important}

/* Gallery */
.ere-cp-gallery{margin:0 0 4mm!important;break-inside:avoid;page-break-inside:avoid}
.ere-cp-gallery-main{height:72mm;overflow:hidden;background:#eee}
.ere-cp-gallery-main img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.ere-cp-gallery-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:1.5mm!important;margin-top:1.5mm!important}
.ere-cp-gallery-thumbs figure{margin:0!important;height:14mm!important;overflow:hidden!important;background:#eee!important}
.ere-cp-gallery-thumbs img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* Main data */
.ere-cp-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--ere-cp-ink);
  border-bottom:1px solid var(--ere-cp-line);
  margin:0 0 4mm;
  padding:2.2mm 0;
  break-inside:avoid;
  page-break-inside:avoid;
}
.ere-cp-info-item{min-width:0;padding:0 2.5mm;border-right:1px solid var(--ere-cp-line)}
.ere-cp-info-item:first-child{padding-left:0}
.ere-cp-info-item:last-child{border-right:0}
.ere-cp-info-label{display:block;color:var(--ere-cp-muted);font-size:6.6pt;text-transform:uppercase;letter-spacing:.55px;margin-bottom:.7mm}
.ere-cp-info-value{display:block;font-size:10pt;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ERE callbacks: neutralize theme markup */
.ere-cp-content{min-width:0}
.ere-cp-ere-section{
  min-width:0;
  margin:0!important;
  padding:0!important;
  color:var(--ere-cp-ink)!important;
  font-family:Poppins,Arial,sans-serif!important;
  break-inside:avoid;
  page-break-inside:avoid;
}
.ere-cp-ere-section *{font-family:Poppins,Arial,sans-serif!important}
.ere-cp-ere-section h1{font-size:11pt!important;line-height:1.2!important;margin:0 0 2mm!important;font-weight:600!important}
.ere-cp-ere-section h2,.ere-cp-ere-section h3{
  display:flex!important;
  align-items:center!important;
  gap:2mm!important;
  font-size:8.2pt!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.75px!important;
  font-weight:600!important;
  margin:0 0 2mm!important;
  padding:0!important;
  border:0!important;
  color:var(--ere-cp-ink)!important;
}
.ere-cp-ere-section h2:after,.ere-cp-ere-section h3:after{content:"";width:9mm;height:1px;background:var(--ere-cp-primary);display:block;flex:0 0 auto}
.ere-cp-ere-section p{margin:0 0 1.5mm!important}
.ere-cp-ere-section ul,.ere-cp-ere-section ol{margin:0 0 1.5mm!important;padding:0!important;list-style:none!important}.ere-cp-ere-section li{margin:0!important;padding:1mm 1.5mm!important;list-style:none!important;border:0!important}.ere-cp-ere-section li:before{content:'✓';display:inline-block;color:var(--ere-cp-primary);font-weight:600;margin-right:1.2mm}

.ere-cp-ere-section a{color:inherit!important;text-decoration:none!important}
.ere-cp-ere-section table{width:100%!important;border-collapse:collapse!important;font-size:7.6pt!important}
.ere-cp-ere-section td,.ere-cp-ere-section th{padding:1mm 1.2mm!important;border-bottom:1px solid var(--ere-cp-line)!important;text-align:left!important;vertical-align:top!important}

/* Characteristics */
.ere-cp-ere-section .property-info,
.ere-cp-ere-section .ere-property-info{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1.5mm 2mm!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}
.ere-cp-ere-section .property-info>div,
.ere-cp-ere-section .ere-property-info>div{
  min-width:0!important;
  text-align:left!important;
  padding:1.4mm 1.8mm!important;
  background:var(--ere-cp-soft)!important;
  border-left:2px solid var(--ere-cp-primary)!important;
}
.ere-cp-ere-section .property-info label,
.ere-cp-ere-section .ere-property-info label{display:block!important;font-size:6.2pt!important;text-transform:uppercase!important;letter-spacing:.35px!important;color:var(--ere-cp-muted)!important;margin:0 0 .5mm!important}
.ere-cp-ere-section .property-info strong,
.ere-cp-ere-section .ere-property-info strong{display:block!important;font-size:8.5pt!important;line-height:1.15!important;color:var(--ere-cp-ink)!important}

/* Feature lists */
.ere-cp-ere-section .ere-property-feature,
.ere-cp-ere-section .property-feature,
.ere-cp-ere-section .ere-property-features{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1mm 3mm!important}
.ere-cp-ere-section .ere-property-feature li,
.ere-cp-ere-section .property-feature li,
.ere-cp-ere-section .ere-property-features li{margin:0!important;padding:0!important;list-style:none!important}

/* Two-column content for compact A4 */
.ere-cp-body-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:6mm;align-items:start}
.ere-cp-body-grid>.ere-cp-slot{min-width:0}
.ere-cp-slot{margin:0 0 3mm}
.ere-cp-slot:last-child{margin-bottom:0}

/* Address / QR / footer */
.ere-cp-footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:6mm;border-top:1px solid var(--ere-cp-line);padding-top:3mm;margin-top:2mm}
.ere-cp-qr{margin:0!important;padding:0!important;border:0!important;display:block!important;font-size:7.2pt!important}
.ere-cp-qr strong{display:block;font-size:8pt;margin-bottom:1mm}
.ere-cp-qr-url{word-break:break-word!important;color:var(--ere-cp-muted)!important;text-align:left!important}

/* Layout-specific proportions */
.ere-cp-vertical .ere-cp-gallery-main{height:50mm}
.ere-cp-vertical .ere-cp-title{font-size:18pt!important}
.ere-cp-vertical .ere-cp-body-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:5mm}

.ere-cp-landscape .ere-cp-heading{margin-bottom:3mm}
.ere-cp-landscape .ere-cp-title{font-size:17pt!important}
.ere-cp-landscape .ere-cp-gallery{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(0,.9fr);gap:1.5mm;margin-bottom:3mm!important}
.ere-cp-landscape .ere-cp-gallery-main{height:48mm}
.ere-cp-landscape .ere-cp-gallery-thumbs{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(3,1fr);gap:1.5mm!important;margin:0!important}
.ere-cp-landscape .ere-cp-gallery-thumbs figure{height:auto!important;min-height:0!important}
.ere-cp-landscape .ere-cp-info-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:3mm;padding:1.8mm 0}
.ere-cp-landscape .ere-cp-body-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);gap:7mm}
.ere-cp-landscape .ere-cp-footer-grid{margin-top:1mm;padding-top:2.5mm}

/* No-logo: use the extra room, but stay restrained */
.ere-cp-without_logo .ere-cp-gallery-main{height:54mm}
.ere-cp-without_logo .ere-cp-title{font-size:19pt!important}

@page{size:A4 portrait;margin:0}
@page landscape{size:A4 landscape;margin:0}
.ere-cp-landscape{page:landscape}

@media print{
  #ere-cp-modal{display:none!important}
  html,body{width:auto!important;height:auto!important}
  .ere-cp-sheet{margin:0!important;box-shadow:none!important}
  .ere-cp-ere-section,.ere-cp-gallery,.ere-cp-info-grid,.ere-cp-body-grid,.ere-cp-footer-grid{break-inside:avoid!important;page-break-inside:avoid!important}
}
@media screen{
  body.ere-custom-print-page{background:#ececec!important}
  .ere-cp-sheet{margin:12px auto;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.12)}
  .ere-cp-landscape .ere-cp-sheet{max-width:297mm}
}

/* Compact ERE feature/benefit lists */
.ere-cp-feature-section ul,.ere-cp-feature-section ol{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1mm 2mm!important}
.ere-cp-feature-section li{background:var(--ere-cp-soft)!important;border-left:2px solid var(--ere-cp-primary)!important;font-size:7.3pt!important;line-height:1.2!important}
.ere-cp-feature-section li:before{content:'✓'!important}
.ere-cp-overview-section ul,.ere-cp-overview-section ol{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1mm 2mm!important}
.ere-cp-overview-section li{font-size:7.2pt!important;line-height:1.2!important;border-bottom:1px solid var(--ere-cp-line)!important;padding:1mm 0!important}
.ere-cp-overview-section li:before{content:''!important;margin:0!important}
.ere-cp-description-section{font-size:7.5pt!important;line-height:1.35!important}
.ere-cp-description-section p{margin:0 0 1.2mm!important}
/* Never force the entire body grid to a new page. Individual blocks protect themselves. */
@media print{.ere-cp-body-grid{break-inside:auto!important;page-break-inside:auto!important}.ere-cp-slot{break-inside:auto!important;page-break-inside:auto!important}.ere-cp-ere-section{break-inside:avoid!important;page-break-inside:avoid!important}}

/* v2.2.3 refinements: one-page composition, aligned ERE lists and QR */
.ere-cp-heading{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"title price" "location price"!important;align-items:center!important}
.ere-cp-price{min-width:40mm!important;padding:3mm 4.5mm!important;font-size:17pt!important;border-radius:2mm!important;text-align:center!important;justify-self:end!important}
.ere-cp-price-label{font-size:6.5pt!important;letter-spacing:1px!important}

/* Keep ERE-generated list rows aligned instead of letting theme icons occupy a line. */
.ere-cp-ere-section ul,.ere-cp-ere-section ol{width:100%!important;text-align:left!important}
.ere-cp-ere-section li{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;text-align:left!important;box-sizing:border-box!important}
.ere-cp-ere-section li:before{flex:0 0 4mm!important;width:4mm!important;margin:0!important;padding:0!important;text-align:left!important;line-height:1.35!important}
.ere-cp-address-section li:before{content:'✓'!important}
.ere-cp-address-section li{padding:0 0 1.1mm!important}

/* ERE features / services: compact, left-aligned cards in a predictable grid. */
.ere-cp-feature-section{width:100%!important}
.ere-cp-feature-section h4,.ere-cp-feature-section h5{font-size:7.6pt!important;line-height:1.2!important;margin:2mm 0 1.2mm!important;text-transform:uppercase!important;font-weight:600!important;letter-spacing:.5px!important}
.ere-cp-feature-section > ul,.ere-cp-feature-section > ol,
.ere-cp-feature-section .ere-property-feature,
.ere-cp-feature-section .property-feature,
.ere-cp-feature-section .ere-property-features,
.ere-cp-feature-section .property-features{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1mm 2mm!important;width:100%!important;margin:0 0 2mm!important;padding:0!important}
.ere-cp-feature-section > ul > li,.ere-cp-feature-section > ol > li,
.ere-cp-feature-section .ere-property-feature li,
.ere-cp-feature-section .property-feature li,
.ere-cp-feature-section .ere-property-features li{display:block!important;width:auto!important;padding:1.2mm 1.8mm!important;margin:0!important;background:var(--ere-cp-soft)!important;border-left:2px solid var(--ere-cp-primary)!important;font-size:7.2pt!important;line-height:1.2!important}
.ere-cp-feature-section > ul > li:before,.ere-cp-feature-section > ol > li:before,
.ere-cp-feature-section .ere-property-feature li:before,
.ere-cp-feature-section .property-feature li:before,
.ere-cp-feature-section .ere-property-features li:before{content:'✓'!important;display:inline-block!important;width:auto!important;margin:0 1mm 0 0!important;color:var(--ere-cp-primary)!important}

/* Address is a compact two-column list when possible. */
.ere-cp-address-section ul,.ere-cp-address-section ol{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1mm 3mm!important}
.ere-cp-address-section li{display:block!important;background:transparent!important;border:0!important;font-size:7.1pt!important}
.ere-cp-address-section li:before{display:inline!important;width:auto!important;margin-right:1mm!important}

/* QR block */
.ere-cp-footer-grid{align-items:center!important}
.ere-cp-qr{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:3mm!important}
.ere-cp-qr-image{display:block!important;width:22mm!important;height:22mm!important;object-fit:contain!important;flex:0 0 22mm!important}
.ere-cp-qr-url{font-size:6.3pt!important;line-height:1.2!important;max-width:72mm!important}
.ere-cp-contact-note{font-size:7.2pt!important;color:var(--ere-cp-muted)!important}

/* Landscape: use the side column for features as well, preventing the old second page. */
.ere-cp-landscape .ere-cp-sheet{padding:6mm 8mm!important}
.ere-cp-landscape .ere-cp-gallery-main{height:42mm!important}
.ere-cp-landscape .ere-cp-gallery-thumbs figure{height:12.5mm!important}
.ere-cp-landscape .ere-cp-info-grid{margin-bottom:2.5mm!important;padding:1.5mm 0!important}
.ere-cp-landscape .ere-cp-body-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr)!important;gap:6mm!important}
.ere-cp-landscape .ere-cp-description-section{font-size:7.1pt!important;line-height:1.28!important}
.ere-cp-landscape .ere-cp-feature-section > ul,.ere-cp-landscape .ere-cp-feature-section > ol,
.ere-cp-landscape .ere-cp-feature-section .ere-property-feature,
.ere-cp-landscape .ere-cp-feature-section .property-feature,
.ere-cp-landscape .ere-cp-feature-section .ere-property-features{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ere-cp-landscape .ere-cp-footer-grid{margin-top:1.5mm!important;padding-top:2mm!important}

/* Vertical: preserve the one-page result but make the lower blocks orderly. */
.ere-cp-vertical .ere-cp-gallery-main{height:48mm!important}
.ere-cp-vertical .ere-cp-gallery-thumbs figure{height:12mm!important}
.ere-cp-vertical .ere-cp-body-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,.82fr)!important;gap:5mm!important}

/* Do not let one ERE callback reserve an entire page. */
@media print{
  .ere-cp-body-grid,.ere-cp-main-column,.ere-cp-side-column{break-inside:auto!important;page-break-inside:auto!important}
  .ere-cp-ere-section{break-inside:auto!important;page-break-inside:auto!important}
  .ere-cp-feature-section,.ere-cp-address-section,.ere-cp-overview-section{break-inside:auto!important;page-break-inside:auto!important}
  .ere-cp-footer-grid{break-inside:avoid!important;page-break-inside:avoid!important}
}
