@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/manrope.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces.woff2') format('woff2');font-optical-sizing:auto}
img,iframe{max-width:100%;height:auto}
/* QR Real Estate — mini-pagina pubblica
   Estetica: editoriale calda, sobria, fidata. Fraunces (display) + Manrope (testo). */

:root{
	--qre-bg:#f3efe6;
	--qre-ink:#23211c;
	--qre-muted:#6f6a5e;
	--qre-paper:#fffdf8;
	--qre-line:#e4ddcd;
	--qre-accent:#1f6f5c;      /* verde immobiliare, sobrio */
	--qre-accent-ink:#0f3d33;
	--qre-wa:#1faf54;
	--qre-radius:18px;
	--qre-shadow:0 18px 50px -22px rgba(40,35,20,.45);
}

*{box-sizing:border-box}
html,body{margin:0}
.qre-mp{
	font-family:"Manrope",system-ui,sans-serif;
	background:
		radial-gradient(120% 80% at 50% -10%, #faf6ee 0%, var(--qre-bg) 60%);
	color:var(--qre-ink);
	min-height:100vh;
	display:flex;align-items:center;justify-content:center;
	padding:22px;
	-webkit-font-smoothing:antialiased;
}

.qre-card{
	width:100%;max-width:440px;
	background:var(--qre-paper);
	border:1px solid var(--qre-line);
	border-radius:var(--qre-radius);
	box-shadow:var(--qre-shadow);
	padding:26px 24px 18px;
	animation:qre-rise .5s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes qre-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.qre-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.qre-logo{max-height:34px;max-width:160px;object-fit:contain}
.qre-agency{font-weight:700;letter-spacing:.01em}
.qre-badge{
	font-size:11px;text-transform:uppercase;letter-spacing:.12em;
	color:var(--qre-accent-ink);background:#e7f1ec;border:1px solid #cfe5dc;
	padding:5px 10px;border-radius:999px;white-space:nowrap;
}

.qre-address{
	font-family:"Fraunces",Georgia,serif;
	font-weight:600;font-size:30px;line-height:1.12;margin:4px 0 6px;
	letter-spacing:-.01em;overflow-wrap:break-word;word-break:break-word;
}
.qre-city{margin:0 0 2px;color:var(--qre-muted);font-size:15px}
.qre-price{
	font-family:"Fraunces",Georgia,serif;
	font-size:26px;margin:10px 0 20px;color:var(--qre-accent-ink);font-weight:600;
}

.qre-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.qre-label{font-size:13px;color:var(--qre-muted);font-weight:600}
.qre-input{
	width:100%;font:inherit;font-size:16px;color:var(--qre-ink);
	background:#fff;border:1px solid var(--qre-line);border-radius:12px;
	padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s;
}
.qre-input:focus{border-color:var(--qre-accent);box-shadow:0 0 0 3px rgba(31,111,92,.14)}
textarea.qre-input{resize:vertical}

.qre-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	font:inherit;font-weight:700;font-size:16px;
	padding:14px 16px;border-radius:13px;border:0;cursor:pointer;
	text-decoration:none;transition:transform .12s ease,filter .15s ease;
}
.qre-btn:active{transform:translateY(1px) scale(.997)}
.qre-btn-wa{background:var(--qre-wa);color:#fff;box-shadow:0 10px 22px -10px rgba(31,175,84,.7)}
.qre-btn-wa:hover{filter:brightness(1.04)}
.qre-btn-dark{background:var(--qre-accent);color:#fff;width:100%}
.qre-btn-dark:hover{filter:brightness(1.06)}
.qre-btn-ghost{background:transparent;color:var(--qre-accent-ink);border:1px solid var(--qre-accent)}

.qre-details{margin-top:10px}
.qre-details>summary{
	cursor:pointer;list-style:none;
	display:flex;align-items:center;justify-content:center;gap:8px;
	width:100%;padding:13px;border-radius:13px;
	border:1.5px solid var(--qre-accent);background:#fff;color:var(--qre-accent-ink);
	font-weight:700;font-size:15px;
}
.qre-details>summary::-webkit-details-marker{display:none}
.qre-details>summary:hover{background:var(--qre-accent);color:#fff}
.qre-chevron{transition:transform .2s ease}
.qre-details[open]>summary .qre-chevron{transform:rotate(180deg)}
.qre-form{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.qre-hp{position:absolute;left:-9999px;width:1px;height:1px}
.qre-consent{font-size:12px;color:var(--qre-muted);display:flex;gap:7px;align-items:flex-start;line-height:1.4}
.qre-feedback{font-size:13px;color:var(--qre-accent-ink);margin:2px 0 0;min-height:1em}

.qre-zone{
	margin-top:16px;background:#f7f3ea;border:1px dashed var(--qre-line);
	border-radius:14px;padding:13px 14px;
}
.qre-zone-check{display:flex;gap:9px;align-items:flex-start;font-size:14px;cursor:pointer;line-height:1.4}
.qre-zone-fields{display:flex;flex-direction:column;gap:9px;margin-top:11px}

.qre-link{
	display:block;text-align:center;margin:18px 0 4px;
	color:var(--qre-accent-ink);font-weight:600;font-size:14px;text-decoration:none;
}
.qre-link:hover{text-decoration:underline}

.qre-powered{
	text-align:center;margin-top:16px;padding-top:13px;border-top:1px solid var(--qre-line);
	font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--qre-muted);
}
.qre-powered strong{color:var(--qre-ink)}

/* ---- Vedi immobile (hero + bottone) ---- */
.qre-view{display:block;width:100%;border:1px solid var(--qre-line);background:var(--qre-paper);border-radius:14px;overflow:hidden;cursor:pointer;padding:0;margin:0 0 16px;transition:transform .12s ease,box-shadow .15s ease}
.qre-view:hover{transform:translateY(-1px);box-shadow:0 12px 28px -16px rgba(40,35,20,.5)}
.qre-view-photo{display:block;width:100%;height:170px;background-size:cover;background-position:center}
.qre-view-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;font-weight:700;font-size:15px;color:var(--qre-accent-ink)}
/* ---- Chiama ora ---- */
.qre-btn-call{background:#fff;color:var(--qre-accent-ink);border:1.5px solid var(--qre-accent)}
.qre-btn-call:hover{background:var(--qre-accent);color:#fff}
/* ---- Modal scheda immobile ---- */
.qre-modal{position:fixed;inset:0;z-index:9999;background:rgba(25,22,15,.62);display:flex;align-items:center;justify-content:center;padding:18px;animation:qre-fade .2s ease both}
@keyframes qre-fade{from{opacity:0}to{opacity:1}}
.qre-modal[hidden]{display:none}
.qre-modal-box{position:relative;width:100%;max-width:460px;max-height:90vh;overflow:auto;background:var(--qre-paper);border-radius:18px;box-shadow:0 30px 70px -20px rgba(20,15,5,.6);animation:qre-rise .28s cubic-bezier(.2,.7,.2,1) both}
.qre-modal-x{position:absolute;top:10px;right:12px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.qre-modal-x:hover{background:rgba(0,0,0,.65)}
.qre-modal-img{display:block;width:100%;height:230px;object-fit:cover}
.qre-modal-body{padding:20px 22px 22px}
.qre-modal-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:22px;line-height:1.18;margin:0 0 6px;overflow-wrap:break-word;word-break:break-word}
.qre-modal-price{font-family:"Fraunces",Georgia,serif;font-size:22px;color:var(--qre-accent-ink);font-weight:600;margin:0 0 14px}
.qre-modal-desc{color:var(--qre-muted);font-size:15px;line-height:1.55;margin:0 0 18px;white-space:pre-line}
.qre-modal-body .qre-btn{width:100%}

/* ===================== TEMI PRO (Luxury / Minimal) ===================== */
.qre-theme-luxury{
	--qre-bg:#16130f;--qre-paper:#1f1b15;--qre-ink:#f1e9d8;--qre-muted:#b8ac93;
	--qre-line:#33291f;--qre-accent:#c8a24a;--qre-accent-ink:#e8d5a1;--qre-radius:22px;
	--qre-shadow:0 24px 64px -22px rgba(0,0,0,.75);
}
.qre-theme-luxury.qre-mp{background:radial-gradient(120% 80% at 50% -10%,#241f17 0%,var(--qre-bg) 60%)}
.qre-theme-luxury .qre-address,.qre-theme-luxury .qre-price,
.qre-theme-luxury .qre-modal-title,.qre-theme-luxury .qre-modal-price{font-family:"Fraunces",Georgia,serif}
.qre-theme-luxury .qre-price{color:var(--qre-accent);letter-spacing:.04em}
.qre-theme-luxury .qre-modal-price{color:var(--qre-accent)}
.qre-theme-luxury .qre-badge{background:transparent;border:1px solid var(--qre-accent);color:var(--qre-accent);letter-spacing:.18em}
/* Card: sottile alone oro */
.qre-theme-luxury .qre-card{border-color:#302516;box-shadow:var(--qre-shadow),inset 0 0 0 1px rgba(200,162,74,.07)}
/* Separatore header */
.qre-theme-luxury .qre-head{border-bottom:1px solid #302516;padding-bottom:14px}
/* Input scuri (fix: sfondo bianco illeggibile su tema dark) */
.qre-theme-luxury .qre-input{background:#110e08;border-color:#302516;color:var(--qre-ink)}
.qre-theme-luxury .qre-input:focus{border-color:var(--qre-accent);box-shadow:0 0 0 3px rgba(200,162,74,.18)}
/* Toggle accordion: sfondo scuro + bordo oro */
.qre-theme-luxury .qre-details>summary{background:#1f1b15;border-color:var(--qre-accent);color:var(--qre-accent-ink)}
.qre-theme-luxury .qre-details>summary:hover{background:var(--qre-accent);color:#100d07}
/* Hero foto */
.qre-theme-luxury .qre-view{border-color:#302516;background:#15110c}
.qre-theme-luxury .qre-view-label{color:var(--qre-accent);background:#15110c}
/* Pulsanti: oro al posto di verde (coerenza cromatica dark) */
.qre-theme-luxury .qre-btn-wa{background:linear-gradient(135deg,#c8a24a 0%,#a67d28 100%);box-shadow:0 10px 26px -10px rgba(200,162,74,.55);color:#0f0d09}
.qre-theme-luxury .qre-btn-wa:hover{filter:brightness(1.1)}
.qre-theme-luxury .qre-btn-dark{background:var(--qre-accent);color:#0f0d09}
.qre-theme-luxury .qre-btn-dark:hover{filter:brightness(1.1)}
.qre-theme-luxury .qre-btn-call{background:transparent;color:var(--qre-accent-ink);border:1.5px solid var(--qre-accent)}
.qre-theme-luxury .qre-btn-call:hover{background:var(--qre-accent);color:#100d07}
.qre-theme-luxury .qre-btn-ghost{border-color:var(--qre-accent);color:var(--qre-accent)}
.qre-theme-luxury .qre-btn-ghost:hover{background:var(--qre-accent);color:#100d07}
/* Sezione zona alert */
.qre-theme-luxury .qre-zone{background:#15110c;border-color:#302516}
.qre-theme-luxury .qre-zone-info{background:#0f0d09 !important;border-color:#302516 !important;color:var(--qre-muted) !important}
.qre-theme-luxury .qre-slot-hint{color:var(--qre-muted) !important}
/* Modal */
.qre-theme-luxury .qre-modal-box{background:#1a1710}
.qre-theme-luxury .qre-modal-x{background:rgba(0,0,0,.7)}
.qre-theme-luxury .qre-modal-desc{color:var(--qre-muted)}
/* Misc */
.qre-theme-luxury .qre-feedback{color:var(--qre-accent-ink)}
.qre-theme-luxury .qre-consent{color:var(--qre-muted)}
.qre-theme-luxury .qre-powered{border-color:#302516}

.qre-theme-minimal{
	--qre-bg:#f5f5f5; --qre-paper:#ffffff; --qre-ink:#161616; --qre-muted:#6b6b6b;
	--qre-line:#e6e6e6; --qre-accent:#1a1a1a; --qre-accent-ink:#000000; --qre-radius:10px;
	--qre-shadow:0 12px 32px -18px rgba(0,0,0,.2);
}
.qre-theme-minimal.qre-mp{background:#f5f5f5}
.qre-theme-minimal .qre-address{font-family:"Manrope",sans-serif;font-weight:600;letter-spacing:-.01em}
.qre-theme-minimal .qre-badge{background:transparent;border:1px solid var(--qre-line);color:var(--qre-muted);letter-spacing:.12em}
.qre-theme-minimal .qre-btn,.qre-theme-minimal .qre-card,.qre-theme-minimal .qre-view{border-radius:10px}
