:root {
  --primary: #C49A6C;
  --primary-dark: #a88255;
  --dark: #313A3F;
  --cream: #F4F4F3;
  --white: #ffffff;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
@page { size: 103mm 103mm; margin: 0; }
html, body {
  margin: 0; padding: 0;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
body {
  font-family: Georgia, "Times New Roman", Times, serif;
  color: var(--dark);
  background: #e8e8e8;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8mm;
}
.wrap { text-align: center; }
.mat {
  width: 103mm;
  height: 103mm;
  background: var(--cream);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 2mm 10mm rgba(0, 0, 0, 0.12);
}

.mat--round { border-radius: 50%; }

.header {
  background: var(--dark);
  padding: 3mm 4mm 2.5mm;
  text-align: center;
  flex-shrink: 0;
}
.header .logo svg {
  width: 38mm;
  height: auto;
  display: block;
  margin: 0 auto;
}
.content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2mm 5mm 3mm;
  text-align: center;
}
h1 {
  font-size: 8.5pt;
  font-weight: normal;
  line-height: 1.2;
  margin-bottom: 1.5mm;
}
.tagline {
  font-size: 6.5pt;
  line-height: 1.3;
  margin-bottom: 2mm;
  opacity: 0.9;
}
.scan {
  font-size: 6pt;
  font-weight: bold;
  color: var(--primary-dark);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1.5mm;
}
.qr-wrap {
  background: var(--white);
  border: 1.5px solid var(--primary);
  border-radius: 2mm;
  padding: 2mm;
  margin-bottom: 2mm;
}
.qr-wrap img {
  display: block;
  width: 32mm;
  height: 32mm;
}
.tripadvisor {
  display: inline-flex;
  align-items: center;
  gap: 1.5mm;
  font-size: 6.5pt;
  margin-bottom: 1.5mm;
}
.tripadvisor .dot {
  width: 3.5mm;
  height: 3.5mm;
  border-radius: 50%;
  background: #00AF87;
  flex-shrink: 0;
}
.facebook {
  display: inline-flex;
  align-items: center;
  gap: 1.2mm;
  font-size: 5.5pt;
  opacity: 0.72;
}
.facebook svg { width: 3.5mm; height: 3.5mm; flex-shrink: 0; }
.footer {
  background: var(--dark);
  color: var(--cream);
  text-align: center;
  padding: 1.8mm 3mm;
  font-size: 5pt;
  flex-shrink: 0;
}
.print-note {
  font-family: system-ui, sans-serif;
  font-size: 9pt;
  color: #666;
  max-width: 103mm;
  margin: 6mm auto 0;
}
@media print {
  body { background: none; padding: 0; }
  .print-note { display: none; }
  .mat { box-shadow: none; }
}
