/* ==========================================================================
   Tischlein schmück Dich – Neuaufbau 2026-11
   Gilt NUR für Elemente mit Klassen "tsd-…". Alte Seiten bleiben unberührt.
   Schriften lokal (SIL OFL), keine Google-Server.
   ========================================================================== */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url('fonts/cormorant-garamond-400.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url('fonts/cormorant-garamond-400-italic.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('fonts/jost-400.woff2') format('woff2')}

:root{
  --tsd-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --tsd-sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --tsd-ink:#211f1b;
  --tsd-ink-soft:#4f4840;
  --tsd-muted:#6f665c;
  --tsd-paper:#ffffff;
  --tsd-sand:#f7f4ef;
  --tsd-sand-2:#efe8dc;
  --tsd-rule:#d9d0c4;
  --tsd-gold:#a8844c;        /* Linien, Flächen */
  --tsd-gold-text:#8a6a2f;   /* Gold als Schrift auf Hell (Kontrast AA) */
  --tsd-nav:#e6d4a6;         /* Navigationsleiste: helleres Gelb, schwarze Schrift */
  --tsd-nav-active:#d4bb7f;
  --tsd-dark:#201d1a;
  --tsd-width:1240px;
  --tsd-gutter:clamp(16px,4vw,48px);
}

/* ---------- Grundlagen ---------- */
.tsn,.tsn p,.tsn li{font-family:var(--tsd-sans);font-weight:300;color:var(--tsd-ink);}
.tsn p{line-height:1.65;}
.tsn a{color:inherit;}
.tsn-serif,.tsn h1,.tsn h2,.tsn h3,.tsn .elementor-heading-title{font-family:var(--tsd-serif);font-weight:400;color:var(--tsd-ink);letter-spacing:-.01em;line-height:1.08;}
.tsn .elementor-heading-title em,.tsn h1 em,.tsn h2 em{font-style:italic;}
.tsn-display .elementor-heading-title{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.025em;}
.tsn-h2 .elementor-heading-title{font-size:clamp(2rem,3.4vw,3rem);}
.tsn-h3 .elementor-heading-title{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.15;}
.tsn-eyebrow .elementor-heading-title,.tsn-eyebrow{font-family:var(--tsd-sans)!important;font-size:.72rem!important;font-weight:500!important;letter-spacing:.22em!important;text-transform:uppercase;color:var(--tsd-gold-text)!important;line-height:1.4!important;}
.tsn-lead,.tsn-lead p{font-family:var(--tsd-serif)!important;font-size:clamp(1.15rem,1.6vw,1.45rem)!important;line-height:1.45!important;color:var(--tsd-ink-soft)!important;font-weight:400!important;}
.tsn-small,.tsn-small p{font-size:.85rem!important;color:var(--tsd-muted)!important;}
.tsn-measure{max-width:62ch;}

/* Abschnitte: Inhalt immer auf 1240 px */
.tsn-section{padding-block:clamp(48px,7vw,96px);}
.tsn-section > .e-con-inner{max-width:var(--tsd-width)!important;}
.tsn-sand{background:var(--tsd-sand);}
.tsn-darkband{background:var(--tsd-dark);}
.tsn-darkband,.tsn-darkband p,.tsn-darkband .elementor-heading-title{color:#f4efe8!important;}
.tsn-rule-top{border-top:1px solid var(--tsd-rule);}

/* Textlink mit Goldlinie */
.tsn-link a,.tsn-link .elementor-button,a.tsn-link{
  display:inline-flex;gap:12px;align-items:center;background:none!important;padding:0 0 6px!important;border:0;border-radius:0!important;
  border-bottom:1px solid var(--tsd-gold)!important;color:var(--tsd-gold-text)!important;
  font-family:var(--tsd-sans)!important;font-size:.74rem!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase;text-decoration:none;
}
.tsn-link a:hover,.tsn-link .elementor-button:hover{color:var(--tsd-ink)!important;}

/* Knopf: eckig, dunkel */
.tsn-btn .elementor-button,.tsn .tsn-btn-el{
  background:var(--tsd-ink)!important;color:#fff!important;border-radius:0!important;
  font-family:var(--tsd-sans)!important;font-size:.78rem!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;padding:16px 26px!important;
}
.tsn-btn .elementor-button:hover{background:var(--tsd-gold)!important;}

/* ---------- Header ---------- */
.tsn-header{background:#fff;border-bottom:1px solid var(--tsd-rule);}
.tsn-header .tsn-brand-copy .elementor-heading-title{font-family:var(--tsd-serif);font-size:clamp(.9rem,1.6vw,1.35rem);letter-spacing:.13em;text-transform:uppercase;line-height:1.2;}
.tsn-header .tsn-promise .elementor-heading-title{font-family:var(--tsd-sans);font-size:.62rem;letter-spacing:.24em;color:var(--tsd-muted);text-transform:uppercase;font-weight:400;}
.tsn-header .tsn-tools a,.tsn-header .tsn-tools .elementor-button{font-family:var(--tsd-sans);font-size:.8rem;color:var(--tsd-ink);}
@media (max-width:767px){
  .tsn-header .tsn-brand-copy .elementor-heading-title{font-size:.72rem;letter-spacing:.07em;line-height:1.35;}
  .tsn-header .tsn-promise{display:none;}
  .tsn-header .tsn-tools{gap:4px!important;}
}
.tsn-nav{background:var(--tsd-nav);}
.tsn-nav .elementor-nav-menu--main .elementor-item{font-family:var(--tsd-sans);font-weight:400;font-size:.8rem;letter-spacing:.02em;color:#141210!important;padding:12px 14px!important;}
.tsn-nav .elementor-nav-menu--main .elementor-item:hover,
.tsn-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{background:var(--tsd-nav-active);color:#141210!important;}
.tsn-nav .elementor-nav-menu--main > .elementor-nav-menu > li + li{border-left:1px solid rgba(20,18,16,.18);}
.tsn-nav .elementor-menu-toggle{background:transparent;color:#141210;}
.tsn-nav .elementor-nav-menu--dropdown{background:var(--tsd-nav);}
.tsn-nav .elementor-nav-menu--dropdown a{font-family:var(--tsd-sans);color:#141210!important;border-bottom:1px solid rgba(20,18,16,.12);}
.tsn-nav .elementor-nav-menu--dropdown a.elementor-item-active,.tsn-nav .elementor-nav-menu--dropdown a:hover{background:var(--tsd-nav-active)!important;}

/* ---------- Footer ---------- */
.tsn.tsn-footer{background:var(--tsd-dark);}
.tsn.tsn-footer,.tsn.tsn-footer p,.tsn.tsn-footer a,.tsn.tsn-footer li{color:#c8c0b6!important;font-family:var(--tsd-sans);font-weight:300;}
.tsn.tsn-footer .elementor-heading-title{color:#f4efe8!important;}
.tsn.tsn-footer a:hover{color:#fff!important;}
.tsn.tsn-footer .tsn-footer-logo .elementor-heading-title{font-family:var(--tsd-serif);font-size:1.9rem;color:#f4efe8!important;line-height:1.1;}
.tsn.tsn-footer .tsn-footer-logo em{color:#d8c08a;}
.tsn.tsn-footer .tsn-footer-h .elementor-heading-title{font-family:var(--tsd-sans)!important;font-size:.72rem!important;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#d8c08a!important;}
.tsn.tsn-footer .tsn-footer-col{flex:1 1 0;min-width:0;}
.tsn.tsn-footer .tsn-footer-col p{font-size:.92rem;line-height:1.7;margin:0 0 .8em;}
.tsn.tsn-footer .tsn-footer-nl{flex:1.25 1 0;}
.tsn.tsn-footer .tsn-footer-nl input[type=email],.tsn.tsn-footer .tsn-footer-nl input[type=text]{background:transparent!important;border:0!important;border-bottom:1px solid #6d655c!important;border-radius:0!important;color:#f4efe8!important;padding:10px 0!important;font-family:var(--tsd-sans)!important;}
.tsn.tsn-footer .tsn-footer-nl input[type=submit],.tsn.tsn-footer .tsn-footer-nl button{background:#d8c08a!important;color:#141210!important;border:0!important;border-radius:0!important;font-family:var(--tsd-sans)!important;font-weight:500!important;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem!important;padding:12px 20px!important;}
.tsn.tsn-footer .mailpoet_form,.tsn.tsn-footer .mailpoet_form form,.tsn.tsn-footer .mailpoet_paragraph{background:transparent!important;padding:0!important;}
.tsn.tsn-footer .mailpoet_form form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.tsn.tsn-footer .mailpoet_form .mailpoet_paragraph{flex:1 1 220px;margin:0!important;}
.tsn.tsn-footer .mailpoet_form .mailpoet_paragraph.last,.tsn.tsn-footer .mailpoet_form .mailpoet_submit{flex:0 0 auto;}
.tsn.tsn-footer .mailpoet_message{color:#f4efe8;font-size:.85rem;}
.tsn.tsn-footer .tsn-small a,.tsn.tsn-footer p a{font-size:inherit!important;font-family:inherit!important;text-decoration:underline;text-underline-offset:3px;}
.tsn-footer-bottom{border-top:1px solid #3b3631;}
.tsn.tsn-footer .tsn-legal .elementor-nav-menu--main .elementor-item{padding:4px 14px 4px 0!important;font-size:.8rem;color:#aaa197!important;font-family:var(--tsd-sans);}
.tsn.tsn-footer .tsn-legal .elementor-nav-menu--main .elementor-item:hover{color:#fff!important;}
.tsn.tsn-footer .tsn-small p,.tsn.tsn-footer .tsn-copy{font-size:.78rem!important;color:#8f877d!important;margin:0;}
.tsn.tsn-footer .gm-withdrawal-button,.tsn.tsn-footer a[href*="vertrag-widerrufen"]{display:inline-block;border:1px solid #6d655c;padding:8px 14px;font-size:.78rem;color:#f4efe8!important;text-decoration:none;}
.tsn-trustline{background:var(--tsd-sand-2);}
.tsn-trustline .elementor-heading-title{font-family:var(--tsd-sans)!important;font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--tsd-ink)!important;font-weight:500;}

/* ---------- Produktkarten (Loop) ---------- */
.tsn-card .tsn-origin .elementor-heading-title,.tsn-card .tsn-origin{font-family:var(--tsd-sans)!important;font-size:.68rem!important;letter-spacing:.18em;text-transform:uppercase;color:var(--tsd-gold-text)!important;font-weight:500;}
.tsn-card .tsn-title .elementor-heading-title{font-family:var(--tsd-serif);font-size:1.3rem;line-height:1.15;}
.tsn-card .tsn-price,.tsn-card .price{font-family:var(--tsd-sans)!important;font-size:.9rem!important;color:var(--tsd-ink)!important;}
.tsn-card img{transition:transform .5s ease;}
.tsn-card:hover img{transform:scale(1.03);}
.tsn-card .tsn-imgwrap{overflow:hidden;background:var(--tsd-sand);}

@media (prefers-reduced-motion:reduce){.tsn-card img{transition:none}.tsn-card:hover img{transform:none}}

/* ---------- Startseite ---------- */
.tsn .tsn-h-intro .elementor-heading-title{font-size:clamp(1.6rem,2.3vw,2.1rem);line-height:1.15;}
.tsn .tsn-meta .elementor-heading-title{font-family:var(--tsd-serif);font-size:clamp(1.1rem,1.5vw,1.35rem);color:var(--tsd-gold-text);letter-spacing:.03em;}
.tsn-hero .tsn-hero-img img{width:100%;height:auto;max-height:640px;object-fit:cover;}
.tsn-btn-ghost .elementor-button{background:transparent!important;color:var(--tsd-ink)!important;border:1px solid var(--tsd-ink)!important;}
.tsn-btn-ghost .elementor-button:hover{background:var(--tsd-ink)!important;color:#fff!important;}

/* dunkles Band */
.tsn-darkband .tsn-trust-lead{border-bottom:1px solid #3b3631;}
.tsn-darkband .tsn-trust-item{flex:1 1 200px;min-width:0;}
.tsn-darkband .tsn-small p,.tsn-darkband p{color:#c8c0b6!important;}

/* Kopfzeile von Streifen */
.tsn .tsn-strip-head{gap:16px;}
.tsn .tsn-strip-head .elementor-widget-button{flex:0 0 auto;}

/* Produktraster */
.tsn-grid .tsn-card-img img{width:100%;display:block;}
.tsn-grid-portrait .tsn-card-img img{aspect-ratio:4/5;object-fit:cover;}
.tsn-grid .tsn-origin:has(.elementor-heading-title:empty){display:none;}
.tsn-grid-compact .e-loop-item > .tsn-card{display:grid!important;grid-template-columns:90px minmax(0,1fr);column-gap:14px;row-gap:4px;align-content:start;}
.tsn-grid-compact .tsn-card .tsn-imgwrap{grid-row:1 / span 3;margin:0!important;}
.tsn-grid-compact .tsn-card-img img{aspect-ratio:1;object-fit:cover;}
.tsn-grid-compact .tsn-title .elementor-heading-title{font-size:1.1rem;}

/* Geschichte */
.tsn-journal .tsn-journal-img img{width:100%;aspect-ratio:1;object-fit:cover;}
.tsn .tsn-quote .elementor-heading-title{font-family:var(--tsd-serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.3;color:var(--tsd-ink-soft);border-left:2px solid var(--tsd-gold);padding-left:18px;}

/* Leserbriefe */
.tsn-reviews .tsn-review{flex:1 1 0;min-width:0;}
.tsn-reviews .tsn-review-feature{flex:1.6 1 0;}
.tsn-reviews .tsn-review + .tsn-review{border-left:1px solid var(--tsd-rule);padding-left:32px!important;}
.tsn-reviews .tsn-review-h .elementor-heading-title{font-style:italic;}

/* Räume des Hauses */
.tsn .tsn-rooms{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px!important;}
.tsn .tsn-room-large{grid-row:span 2;}
.tsn .tsn-room{min-width:0;}
.tsn .tsn-room .tsn-room-img{overflow:hidden;}
.tsn .tsn-room .tsn-room-img img{width:100%;height:220px;object-fit:cover;transition:transform .5s ease;}
.tsn .tsn-room-large .tsn-room-img img{height:520px;}
.tsn .tsn-room:hover .tsn-room-img img{transform:scale(1.03);}
.tsn .tsn-room-title .elementor-heading-title{font-style:italic;font-size:clamp(1.6rem,2.4vw,2.2rem);}
.tsn .tsn-room-title a{text-decoration:none;}

/* Blog */
.tsn-blogcards .elementor-post__thumbnail__link{margin-bottom:16px!important;}
.tsn-blogcards .elementor-post__title,.tsn-blogcards .elementor-post__title a{font-family:var(--tsd-serif)!important;font-weight:400!important;font-size:1.55rem!important;line-height:1.15!important;color:var(--tsd-ink)!important;}
.tsn-blogcards .elementor-post__excerpt p{font-family:var(--tsd-sans);font-size:.92rem;color:var(--tsd-ink-soft);line-height:1.6;}
.tsn-blogcards .elementor-post__read-more{font-family:var(--tsd-sans)!important;font-size:.72rem!important;letter-spacing:.16em;text-transform:uppercase;color:var(--tsd-gold-text)!important;border-bottom:1px solid var(--tsd-gold);padding-bottom:4px;}

/* Über mich */
.tsn-about .tsn-portrait img{width:260px;height:260px;border-radius:50%;object-fit:cover;}
.tsn .tsn-signature .elementor-heading-title{font-family:var(--tsd-serif);font-style:italic;font-size:1.6rem;color:var(--tsd-gold-text);}

/* Newsletter */
.tsn-newsletter .mailpoet_form,.tsn-newsletter .mailpoet_form form,.tsn-newsletter .mailpoet_paragraph{background:transparent!important;padding:0!important;}
.tsn-newsletter .mailpoet_form form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.tsn-newsletter .mailpoet_form .mailpoet_paragraph{flex:1 1 260px;margin:0!important;}
.tsn-newsletter input[type=email],.tsn-newsletter input[type=text]{background:#fff!important;border:1px solid var(--tsd-rule)!important;border-radius:0!important;padding:14px!important;font-family:var(--tsd-sans)!important;}
.tsn-newsletter input[type=submit],.tsn-newsletter button{background:var(--tsd-ink)!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:var(--tsd-sans)!important;font-weight:500!important;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem!important;padding:15px 22px!important;}

@media (max-width:1024px){
  .tsn-reviews .tsn-review + .tsn-review{border-left:0;border-top:1px solid var(--tsd-rule);padding-left:0!important;padding-top:24px!important;}
}
@media (max-width:767px){
  .tsn .tsn-rooms{grid-template-columns:1fr 1fr;gap:28px 14px!important;}
  .tsn .tsn-room-large{grid-row:auto;grid-column:1 / -1;}
  .tsn .tsn-room .tsn-room-img img,.tsn .tsn-room-large .tsn-room-img img{height:200px;}
  .tsn .tsn-room-large .tsn-room-img img{height:260px;}
  .tsn-grid-compact .elementor-loop-container{grid-template-columns:1fr!important;}
  .tsn-about .tsn-portrait img{width:180px;height:180px;}
}
@media (prefers-reduced-motion:reduce){.tsn .tsn-room .tsn-room-img img{transition:none}.tsn .tsn-room:hover .tsn-room-img img{transform:none}}

/* Korrekturen 13.11. */
.tsn .elementor-heading-title a{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-style:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-decoration:none;}
.tsn .elementor-widget-image a{display:block;}
.tsn .tsn-small .elementor-heading-title{font-family:var(--tsd-sans)!important;font-size:.85rem!important;color:var(--tsd-muted)!important;font-weight:300!important;letter-spacing:0;line-height:1.5;}
.tsn .tsn-small a{font-size:inherit!important;font-family:inherit!important;color:var(--tsd-ink)!important;text-decoration:underline;text-underline-offset:3px;}
.tsn-newsletter .mailpoet_form form,.tsn.tsn-footer .mailpoet_form form{display:block!important;}
.tsn-newsletter .mailpoet_form_columns_container,.tsn.tsn-footer .mailpoet_form_columns_container{width:100%;}
.tsn-newsletter .mailpoet_form_columns,.tsn.tsn-footer .mailpoet_form_columns{display:flex!important;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.tsn-newsletter .mailpoet_form_column,.tsn.tsn-footer .mailpoet_form_column{flex:1 1 240px!important;margin:0!important;max-width:none!important;}
.tsn-newsletter .mailpoet_form_column:last-child,.tsn.tsn-footer .mailpoet_form_column:last-child{flex:0 0 190px!important;}
.tsn-newsletter .mailpoet_paragraph,.tsn.tsn-footer .mailpoet_paragraph{width:100%;}
.tsn-newsletter input[type=email],.tsn.tsn-footer input[type=email]{width:100%!important;}
.tsn-newsletter .mailpoet_submit,.tsn.tsn-footer .mailpoet_submit{width:100%!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;}
/* Auf Seiten mit eigenem Newsletter-Band (Startseite) keinen zweiten im Footer zeigen */
body:has(.tsn-newsletter) .tsn-footer-nl{display:none!important;}
.tsn-card .tsn-title .elementor-heading-title{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;}
@media (max-width:767px){
  .tsn-hero{padding-top:16px!important;}
  .tsn-hero > .e-con-inner{gap:28px!important;}
  .tsn-card .tsn-title .elementor-heading-title{font-size:1.1rem;}
  .tsn .tsn-strip-head{flex-wrap:wrap;}
}
