.elementor-489 .elementor-element.elementor-element-54bc6f4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:120px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-489 .elementor-element.elementor-element-ed70e30{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-489 .elementor-element.elementor-element-6b225dd{text-align:center;}.elementor-489 .elementor-element.elementor-element-6b225dd .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:50px;text-transform:uppercase;color:var( --e-global-color-secondary );}.elementor-489 .elementor-element.elementor-element-7854c20{text-align:center;font-family:"Playfair Display", Sans-serif;}.elementor-489 .elementor-element.elementor-element-cac1492{--divider-border-style:solid;--divider-color:var( --e-global-color-secondary );--divider-border-width:1px;}.elementor-489 .elementor-element.elementor-element-cac1492 .elementor-divider-separator{width:10%;margin:0 auto;margin-center:0;}.elementor-489 .elementor-element.elementor-element-cac1492 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-489 .elementor-element.elementor-element-ed70e30{--margin-top:140px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-489 .elementor-element.elementor-element-7854c20{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}/* Start custom CSS for shortcode, class: .elementor-element-50bd640 */@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/jost-v18-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/jost-v18-latin-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/playfair-display-v37-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/playfair-display-v37-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/jost-v18-latin-500.woff2') format('woff2');
}




:root {
  --pp-cream: #f5f0e8;
  --pp-gold: #b5965a;
  --pp-border: #d4c9b5;
  --pp-text: #3a3530;
  --pp-text-light: #7a736b;
}

/* ── SECTION TITLE ── */
.pp-section-title {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #d4c9b5;
  margin: 56px 0 28px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.pp-section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--pp-border);
}

/* ── 2 SPALTEN ROW ── */
.pp-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
  margin-bottom: 0;
}

@media (max-width: 600px) {
  .pp-row {
    grid-template-columns: 1fr;
  }
}

/* ── EINZELNES FELD ── */
.pp-col,
.pp-field {
  margin-bottom: 32px;
}

/* ── LABELS ── */
.pp-col > label,
.pp-field > label {
  display: block;
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--pp-text-light);
  margin-bottom: 10px;
}

.pp-small {
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: none;
}


.wpcf7-radio .wpcf7-list-item label {
  margin-left: 18px;
}


/* ── INPUTS ── */
.wpcf7 .pp-col input[type="text"],
.wpcf7 .pp-col input[type="email"],
.wpcf7 .pp-col input[type="tel"],
.wpcf7 .pp-col input[type="number"],
.wpcf7 .pp-col input[type="date"],
.wpcf7 .pp-field input[type="text"],
.wpcf7 .pp-field input[type="number"],
.wpcf7 .pp-field textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--pp-border);
  border-radius: 0;
  padding: 10px 0;
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  color: var(--pp-text);
  outline: none;
  box-shadow: none;
  transition: border-color 0.3s ease;
}

.wpcf7 .pp-col input:focus,
.wpcf7 .pp-field input:focus,
.wpcf7 .pp-field textarea:focus {
  border-bottom-color: var(--pp-gold);
  box-shadow: none;
}

/* ── PLACEHOLDER ── */
.wpcf7 .pp-col input::placeholder,
.wpcf7 .pp-field input::placeholder,
.wpcf7 .pp-field textarea::placeholder {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 16px;
  color: #c5bdb2;
}

.wpcf7 .pp-field textarea {
  resize: none;
  height: 54px;
  line-height: 1.7;
}

/* ── TEXTAREA HÖHE MOBILE ──
   Auf schmalen Screens bricht der Placeholder-Text zweizeilig um,
   daher hier mehr Platz als am Desktop (54px). */
@media (max-width: 600px) {
  .wpcf7 .pp-field textarea {
    height: 80px;
  }
}



/* ── CHECKBOX GRID 2 SPALTEN ── */
.wpcf7 .pp-field .wpcf7-checkbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 32px;
}

@media (max-width: 500px) {
  .wpcf7 .pp-field .wpcf7-checkbox {
    grid-template-columns: 1fr;
  }
}

/* ── RADIO & CHECKBOX ITEMS ── */
.wpcf7 .wpcf7-radio .wpcf7-list-item,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item {
  margin: 6px 0;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: var(--pp-text);
  cursor: pointer;
  transition: color 0.2s;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label:hover,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item label:hover {
  color: var(--pp-gold);
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  min-width: 15px;
  border: 1px solid var(--pp-border);
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  transition: border-color 0.2s, background 0.2s;
  background: transparent;
}

.wpcf7 input[type="checkbox"] {
  border-radius: 0;
}

.wpcf7 input[type="radio"]:checked,
.wpcf7 input[type="checkbox"]:checked {
  background-color: var(--pp-gold);
  border-color: var(--pp-gold);
}

.wpcf7 input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  width: 5px;
  height: 5px;
  background: white;
  border-radius: 50%;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}

.wpcf7 input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 9px;
  line-height: 1;
}

/* ── SUBMIT ── */
.wpcf7 input[type="submit"] {
  display: block;
  margin: 56px auto 0;
  background: transparent;
  border: 1px solid var(--pp-gold);
  color: #d4c9b5;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  padding: 10px 52px;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.35s ease, color 0.35s ease;
}

.wpcf7 input[type="submit"]:hover {
  background: var(--pp-gold);
  color: var(--pp-cream);
}

/* ── ERFOLGS-/STATUSMELDUNG ──
   Selektor mit "form" ergänzt, damit die Spezifität mindestens
   der von Contact Form 7's eigenem Standard-CSS entspricht
   (.wpcf7 form .wpcf7-response-output) – sonst gewinnt das Plugin-CSS. */
.wpcf7 form .wpcf7-response-output {
  font-family: 'Playfair Display', sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  border: 1px solid var(--pp-border);
  padding: 18px 24px;
  margin: 32px 0 0;
  color: var(--pp-text);
  background: rgba(181, 150, 90, 0.08);
}
 
/* Grüne Variante bei erfolgreichem Versand */
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #4a7c59;
  background: rgba(74, 124, 89, 0.1);
  color: #2f4d38;
  font-weight: 500;
}
 

/* ── FEHLERMELDUNGEN ── */
.wpcf7 .wpcf7-not-valid-tip {
  font-family: 'Playfair Display', sans-serif;
  font-size: 11px;
  color: #c0392b;
  letter-spacing: 0.05em;
  margin-top: 4px;
}

.wpcf7 .wpcf7-response-output {
  font-family: 'Playfair Display', sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  border: 1px solid var(--pp-border);
  padding: 16px 24px;
  margin-top: 32px;
  color: var(--pp-text);
  background: transparent;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Playfair Display';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.paperandpine.at/wp-content/uploads/2026/03/playfair-display-v40-latin-regular-1.woff2') format('woff2');
}
@font-face {
	font-family: 'Playfair Display';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.paperandpine.at/wp-content/uploads/2026/03/playfair-display-v40-latin-italic-2.woff2') format('woff2');
}
/* End Custom Fonts CSS */