.vce-header,.vce-footer,.vce-content{--vce-gold:#bd8d51;--vce-ink:#261e18;--vce-paper:#f2e0c8}
.vce-header{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.2rem;padding:1.5rem clamp(1rem,4vw,4rem);background:#201914;color:#f2e0c8}
.vce-brand{font:700 clamp(1.5rem,3vw,2.3rem) Georgia,serif!important;color:#e7c18c!important;text-decoration:none!important}
.vce-header nav{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap;text-align:center}.vce-header nav a{color:#f2e0c8!important;font-size:1rem;text-decoration:none}
.vce-header nav a:hover,.vce-header nav a:focus{color:#e7c18c!important;text-decoration:underline}
.vce-section{padding:clamp(3rem,7vw,7rem) clamp(1.2rem,4vw,4rem);scroll-margin-top:2rem;color:var(--vce-ink);background:rgba(242,224,200,.8)}
.vce-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.vce-content h1,.vce-content h2{margin:0 0 1.5rem;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.12;overflow-wrap:break-word}
.vce-content p{line-height:1.8;margin:0 0 1.2rem}.vce-content .vce-eyebrow{color:#86602d;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.vce-picture img{display:block;width:100%;height:auto;box-shadow:0 15px 35px #24170e25;border:1px solid #bd8d5155}
.vce-dark{background:#211b17;color:#f2e0c8}.vce-dark h2{color:#f2e0c8!important}.vce-dark .vce-eyebrow{color:#e2b677}
.vce-content .vce-button{display:inline-block;padding:.85rem 1.3rem;margin-top:.7rem;border:1px solid #bd8d51;color:inherit!important;text-decoration:none!important;font-weight:700;font-size:.9rem}
.vce-content .vce-button:hover{background:#bd8d4c;color:#1e1915!important}.vce-content a:focus-visible{outline:3px solid #bd8d51;outline-offset:5px}

/* Galerie Basis */
.vce-gallery-section{text-align:center;background:#e8d3b6}
.vce-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;margin-top:2.5rem;text-align:left}
.vce-gallery figure{margin:0;display:flex;flex-direction:column}
.vce-gallery a{display:block;overflow:hidden;border:1px solid rgba(110,75,35,.45);box-shadow:0 8px 20px rgba(74,46,20,.15);cursor:zoom-in}
.vce-gallery img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 35%;transition:transform .3s ease}
.vce-gallery a:hover img,.vce-gallery a:focus img{transform:scale(1.03)}
.vce-gallery figcaption{font-size:.95rem;padding:.8rem 0;color:#44372b}

.vce-craft{border-top:1px solid #bd8d5155}
.vce-closing{text-align:center;background:#d6b17c}
.vce-closing p{max-width:700px;margin-left:auto;margin-right:auto}

/* Footer mit mobilfreundlichen Link-Flächen */
.vce-footer{text-align:center;padding:3rem 1.2rem;background:#201914;color:#f2e0c8}
.vce-footer strong{font:700 2rem Georgia,serif}
.vce-footer a{color:#e7c18c!important;margin:0 .6rem;display:inline-block;padding:.4rem .6rem}
.vce-footer p{margin:1rem 0}
.vce-footer small{opacity:.8}

/* Responsive Anpassungen */
@media(max-width:800px){
  .vce-split{grid-template-columns:1fr}
  .vce-header{justify-content:center;text-align:center}
  .vce-header nav{justify-content:center;gap:1rem}
  .vce-gallery{grid-template-columns:1fr;gap:2rem}
  .vce-gallery img{height:340px}
}
@media(max-width:480px){
  .vce-gallery{grid-template-columns:1fr;gap:2rem}
  .vce-gallery img{height:280px}
  .vce-header nav a{font-size:.9rem}
  .vce-section{padding:2.5rem 1.2rem}
  .vce-footer p{display:flex;flex-direction:column;gap:.6rem;align-items:center}
  .vce-footer a{margin:0;font-size:1.05rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Pergament */
body.vce-pergament-page{background:#dfc28a;isolation:isolate}
body.vce-pergament-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#e5c997 url('villa-castorpe-pergament.webp') center center / cover no-repeat}
body.vce-pergament-page .page_wrap{background:transparent!important}
body.vce-pergament-page .page_content_wrap{background-color:transparent!important;background-image:none!important}
.vce-content{background:transparent}
.vce-content .vce-section{background:linear-gradient(90deg,rgba(247,231,201,.22),rgba(247,231,201,.60) 48%,rgba(247,231,201,.22));border-bottom:1px solid rgba(126,85,38,.16)}
.vce-content .vce-dark{background:linear-gradient(110deg,rgba(39,29,20,.94),rgba(49,35,21,.89));color:#f2e0c8}
.vce-content .vce-gallery-section{background-color:rgba(223,194,138,.26)}
.vce-content .vce-closing{background-color:rgba(214,177,124,.36)}
.vce-content .vce-picture img{border:1px solid rgba(110,75,35,.45);box-shadow:0 12px 32px rgba(74,46,20,.2)}
.vce-content .vce-eyebrow{color:#755023}.vce-content .vce-dark .vce-eyebrow{color:#e2b677}
.vce-content .vce-gallery figcaption{color:#49331e}
.vce-content .vce-gallery figure figcaption{position:static;inset:auto;transform:none;display:block;width:auto;max-width:100%;box-sizing:border-box;background:transparent;color:#49331e;padding:.8rem 0;margin:0;font-size:.95rem;line-height:1.5;text-transform:none;letter-spacing:normal;overflow-wrap:break-word}
@media(max-width:800px){.vce-content .vce-section{background:rgba(247,231,201,.62)}.vce-content .vce-dark{background:rgba(39,29,20,.94)}}

/* WooCommerce Styles */
body.vce-shop-page .page_wrap{background:transparent!important;color:#352617}
body.vce-shop-page .page_content_wrap{background:rgba(249,237,211,.70)!important;padding-top:3rem;padding-bottom:4rem}
body.vce-shop-page .vce-header nav a[aria-current]{color:#e7c18c!important;text-decoration:underline;text-underline-offset:.35em}
body.vce-shop-page ul.products li.product{background:rgba(249,237,211,.82);border:1px solid #b58b50;padding:1.2rem;box-sizing:border-box;box-shadow:0 10px 26px #4a2e1414}
body.vce-shop-page ul.products li.product img{border:1px solid #b58b504d;max-width:100%;height:auto}
body.vce-shop-page .price,body.vce-shop-page ul.products li.product .price{color:#6c451d}
body.vce-shop-page a.button,body.vce-shop-page button.button,body.vce-shop-page input.button,body.vce-shop-page .wc-block-components-button{background:#49301c!important;border:1px solid #77522d!important;border-radius:0!important;color:#fff1d1!important;box-shadow:none;text-decoration:none}
body.vce-shop-page a.button:hover,body.vce-shop-page button.button:hover,body.vce-shop-page .wc-block-components-button:hover{background:#77522d!important;color:#fff9ed!important}
body.vce-shop-page input:not([type=checkbox]):not([type=radio]):not([type=submit]),body.vce-shop-page select,body.vce-shop-page textarea{background-color:#fff7e8!important;color:#352617!important;border-color:#a68252!important;border-radius:0!important}
body.vce-shop-page table.shop_table,body.vce-shop-page .woocommerce-cart-form,body.vce-shop-page .cart_totals,body.vce-shop-page .woocommerce-checkout-review-order,body.vce-shop-page .wc-block-cart,body.vce-shop-page .wc-block-checkout{background-color:rgba(255,247,231,.84);border-color:#b58b5066}
body.vce-shop-page table th,body.vce-shop-page table td{border-color:#b58b5066}
body.vce-shop-page .woocommerce-message,body.vce-shop-page .woocommerce-info{background:#f3e5c9;color:#352617;border-top-color:#9b7038}
body.vce-shop-page .woocommerce-error{background:#f7e5d8;color:#6e261d;border-top-color:#8d3d2e}
body.vce-shop-page #add_payment_method #payment,body.vce-shop-page .woocommerce-checkout #payment{background:#ead7b6}
body.vce-shop-page span.onsale{background:#78502a;color:#fff4d8}
body.vce-shop-page a:focus-visible,body.vce-shop-page button:focus-visible{outline:3px solid #9b7038;outline-offset:4px}
@media(max-width:600px){body.vce-shop-page ul.products li.product{padding:.65rem}}

/* Rechtstexte Popups */
.vce-legal-modal{box-sizing:border-box;width:min(900px,calc(100vw - 2rem));max-height:86vh;max-height:86dvh;margin:auto;padding:0;border:1px solid #8c673d;border-radius:0;background:#f1dfba url('villa-castorpe-pergament.webp') center / cover;color:#2d1c0f;box-shadow:0 25px 100px #0006;font-family:inherit;overflow:auto}
.vce-legal-modal:not([open]){display:none}
.vce-legal-modal::backdrop{background:rgba(10,10,10,.58);backdrop-filter:blur(5px)}
.vce-legal-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#e7c995;border-bottom:1px solid #8c673d}
.vce-legal-head span{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700}.vce-legal-head form{margin:0}
.vce-legal-head button{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid #5d3b1f;background:#f8eacb;color:#2d1c0f;font:32px/1 Georgia,serif;cursor:pointer}
.vce-legal-head button:hover,.vce-legal-head button:focus-visible{background:#3a2718;color:#f8eacb;outline:2px solid #5d3b1f;outline-offset:2px}
.vce-legal-content{padding:clamp(1.25rem,4vw,3rem);background:rgba(249,238,213,.88);line-height:1.75}
.vce-legal-content h2{font-size:2.2rem;line-height:1.15;margin:0 0 1.5rem}.vce-legal-content h2:not(:first-child){font-size:1.35rem;line-height:1.3;margin-top:2rem}.vce-legal-content p{margin:0 0 1rem}.vce-legal-content a{color:#674118;text-decoration:underline;overflow-wrap:anywhere}

/* Header Grid */
@media(min-width:1500px){.vce-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.vce-header .vce-brand{justify-self:start;white-space:nowrap}.vce-header nav{grid-column:2}}
@media(max-width:1499px){.vce-header{display:flex;flex-direction:column;justify-content:center}.vce-header .vce-brand{align-self:center}}

/* Mobile Bild-Lightbox mit Zoom-Funktion */
.vce-lightbox{box-sizing:border-box;width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;padding:0;border:none;background:rgba(15,11,8,.94);backdrop-filter:blur(8px);display:flex;flex-direction:column;overflow:auto;}
.vce-lightbox:not([open]){display:none}
.vce-lightbox-container{margin:auto;display:flex;flex-direction:column;align-items:center;padding:3rem 1rem;min-height:100%;box-sizing:border-box;}
.vce-lightbox img{max-width:92vw;max-height:80vh;object-fit:contain;box-shadow:0 15px 40px rgba(0,0,0,.6);border:1px solid #bd8d5188;cursor:zoom-in;transition:max-width .3s, max-height .3s;}
.vce-lightbox img.vce-zoomed{max-width:250vw;max-height:250vh;width:auto;height:auto;cursor:zoom-out;}
.vce-lightbox-caption{color:#f2e0c8;margin-top:1.2rem;text-align:center;font-size:1rem;line-height:1.4;}
.vce-zoom-hint{color:#bd8d51;font-size:.85rem;margin-top:.4rem;text-transform:uppercase;letter-spacing:1px;}
.vce-lightbox-close{position:fixed;top:1rem;right:1rem;width:44px;height:44px;display:grid;place-items:center;background:#201914;color:#e7c18c;border:1px solid #bd8d51;font-size:28px;line-height:1;cursor:pointer;z-index:10;}

/* 1.0.14: additional market gallery; poster stays visible in full. */
.vce-market-gallery img{object-position:center center}
.vce-market-poster{width:100%;max-width:420px;justify-self:center}
.vce-market-poster figure{margin:0}
.vce-market-poster a{display:block;cursor:zoom-in}
.vce-market-poster img{display:block;width:100%;height:auto;max-height:none;border:1px solid #bd8d5188;box-shadow:0 12px 32px #4a2e1433}
.vce-market-poster figcaption{padding:.8rem 0;font-size:.9rem;line-height:1.5;text-align:center;color:#49331e}
.vce-market-gallery figure{min-width:0}
@media(prefers-reduced-motion:reduce){.vce-gallery img{transition:none}}
