/* Vesterhave Vingaard - forside: vine (samme kort som webshoppen) + galleri. Kun på forsiden. */

/* ---------- Basis (samme som webshoppen) ---------- */
.vvs{font-family:Arial,Helvetica,sans-serif;color:var(--vv-ink);background:var(--vv-cream);font-size:16px;line-height:1.6;overflow-x:hidden}
.vvs *{box-sizing:border-box}
.vvs h2,.vvs h3{font-family:"Times New Roman",Georgia,serif;font-weight:400;color:var(--vv-ink);line-height:1.12;padding:0}
.vvs h2{font-size:clamp(28px,3.4vw,42px);margin:0 0 18px}
.vvs p{margin:0 0 14px;padding:0}
.vvs img{max-width:100%;height:auto;display:block}
.vvs a{color:var(--vv-bord)}
.vvs-wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.vvs-eye{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--vv-bord);margin:0 0 10px!important}
.vvs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border-radius:100px;font:700 14px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;text-align:center;border:1px solid transparent;background:var(--vv-bord);color:#fff!important;transition:background .2s,color .2s}
.vvs-btn--line{background:transparent;border-color:var(--vv-ink);color:var(--vv-ink)!important}
.vvs-btn--line:hover{background:var(--vv-ink)!important;color:#fff!important}
.vvs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* ---------- Produktkort (samme som webshoppen) ---------- */
.vvs-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden}
.vvs-card__img{position:relative;display:block;aspect-ratio:4/5;background:var(--vv-sand);overflow:hidden}
.vvs-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.vvs-card.is-out .vvs-card__img img{filter:grayscale(.6);opacity:.7}
.vvs-pts{position:absolute;z-index:2;top:12px;left:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--vv-wine);color:var(--vv-gold-l);font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.vvs-pts b{font-family:"Times New Roman",Georgia,serif;font-weight:400;font-size:22px;letter-spacing:0;color:#fff}
.vvs-tag{position:absolute;z-index:2;top:12px;right:12px;padding:5px 11px;border-radius:100px;background:var(--vv-gold);color:var(--vv-wine);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.vvs-tag--sale{background:var(--vv-bord);color:#fff}
.vvs-tag--out{background:#fff;color:var(--vv-ink);top:auto;bottom:12px;right:auto;left:12px}
.vvs-card__body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.vvs-card__type{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vv-olive)}
.vvs-card__t{font-size:22px!important;margin:4px 0 4px!important;padding:0!important}
.vvs-card__t a{color:var(--vv-ink)!important;text-decoration:none}
.vvs-card__d{font-size:13px;color:var(--vv-muted);line-height:1.45;margin-bottom:10px!important}
.vvs-card__buy{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--vv-sand)}
.vvs-card__price{font-family:"Times New Roman",Georgia,serif;font-size:21px;color:var(--vv-ink)}
.vvs-card__price del{font-size:15px;opacity:.55;margin-right:4px}
.vvs-card__price ins{text-decoration:none;color:var(--vv-bord)}
.vvs .woocommerce-Price-amount{color:inherit!important}
.vvs-add{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:100px;background:var(--vv-bord);color:#fff!important;font:700 12px/1 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s}
.vvs-add:hover{background:var(--vv-bord-d)}
.vvs-add--ghost{background:transparent;border:1.5px solid var(--vv-bord);color:var(--vv-bord)!important}
.vvs-add--ghost:hover{background:var(--vv-bord);color:#fff!important}
.vvs-add.loading{opacity:.6;pointer-events:none}
.vvs-add.added span:after{content:" \2713"}
.vvs .added_to_cart{display:none!important}

/* ---------- Forside: vine ---------- */
.vvhm-shop{padding:96px 0 100px;border-top:1px solid var(--vv-line,rgba(46,31,34,.12))}
.vvhm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}
.vvhm-head h2{margin:0!important}
.vvhm-head p.vvhm-lead{max-width:430px;margin:0!important;color:var(--vv-muted);font-size:16px}
.vvhm-foot{display:flex;justify-content:center;margin-top:56px}
.vvhm-dots{display:none}

/* ---------- Forside: galleri ---------- */
.vvg{position:relative;padding:100px 0 110px;background:var(--vv-wine);background-image:var(--vv-grain,none);color:rgba(255,255,255,.8);font-family:var(--vv-sans,Arial),Arial,sans-serif;line-height:1.6;overflow:hidden}
.vvg *{box-sizing:border-box}
.vvg-wrap{max-width:1320px;margin:0 auto;padding:0 28px}
.vvg-head{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:end;margin-bottom:52px}
.vvg .vvs-eye{color:var(--vv-gold)!important}
.vvg h2{margin:0!important;padding:0!important;color:#fff!important;font-family:var(--vv-serif,"Times New Roman"),Georgia,serif!important;font-weight:500!important;font-size:clamp(36px,4.6vw,62px)!important;line-height:1.04!important}
.vvg-lead{margin:0 0 26px!important;padding:0!important;font-size:16px;color:rgba(255,255,255,.75);max-width:520px}
.vvg-ctas{display:flex;flex-wrap:wrap;gap:12px}
.vvg .vvs-btn{background:var(--vv-gold);border-color:var(--vv-gold);color:var(--vv-wine)!important}
.vvg .vvs-btn:hover{background:transparent!important;color:var(--vv-gold-l)!important}
.vvg .vvs-btn--line{background:transparent;border-color:rgba(255,255,255,.55);color:#fff!important}
.vvg .vvs-btn--line:hover{background:#fff!important;border-color:#fff;color:var(--vv-ink)!important}
.vvg-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;grid-auto-flow:dense;gap:12px}
.vvg-i{position:relative;display:block;margin:0;overflow:hidden;border-radius:2px;background:#2a1d20;cursor:zoom-in;text-decoration:none!important}
.vvg-i img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vvg-i:after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(to top,rgba(20,10,12,.7),rgba(20,10,12,0));opacity:0;transition:opacity .5s}
.vvg-i span{position:absolute;z-index:2;left:18px;right:18px;bottom:14px;color:#fff;font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity .5s,transform .5s}
.vvg-i:hover img{transform:scale(1.045)}
.vvg-i:hover:after,.vvg-i:hover span,.vvg-i:focus-visible span,.vvg-i:focus-visible:after{opacity:1;transform:none}
.vvg-i:focus-visible{outline:2px solid var(--vv-gold);outline-offset:3px}
.vvg-i--big{grid-column:span 2;grid-row:span 2}
.vvg-i--tall{grid-row:span 2}
.vvg-i--wide{grid-column:span 2}
.vvg-all{display:none}

/* Lysboks */
.vvlb{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;background:rgba(14,8,10,.96);-webkit-tap-highlight-color:transparent}
.vvlb.is-on{display:flex}
.vvlb__img{max-width:calc(100vw - 160px);max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5);transition:opacity .25s}
.vvlb__cap{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:rgba(255,255,255,.75);font:400 12px/1.4 var(--vv-sans,Arial),Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:0 70px}
.vvlb button{position:absolute;display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:background .2s}
.vvlb button:hover{background:rgba(255,255,255,.18)}
.vvlb button svg{width:20px;height:20px}
.vvlb__x{top:18px;right:18px}
.vvlb__p{left:22px;top:50%;margin-top:-26px}
.vvlb__n{right:22px;top:50%;margin-top:-26px}
.vvlb__c{position:absolute;top:32px;left:28px;color:rgba(255,255,255,.6);font:400 12px var(--vv-sans,Arial),Arial,sans-serif;letter-spacing:.2em}
html.vvlb-lock,html.vvlb-lock body{overflow:hidden!important}

/* ---------- Forside: scroll-zoom fra rummet til vingården ---------- */
/* Divi sætter overflow-y:hidden på #page-container, hvilket slår position:sticky fra */
body.home #page-container{overflow:visible!important;overflow-x:clip!important}
.vvz{position:relative;height:290vh;background:#000;color:#fff}
.vvz-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#000}
.vvz-v,.vvz-drone,.vvz-drone img,.vvz-shade{position:absolute;inset:0;width:100%;height:100%}
.vvz-v{object-fit:cover;background:#000}
.vvz-drone{opacity:0;transform:scale(1.12);will-change:opacity,transform}
.vvz-drone img{max-width:none;object-fit:cover;object-position:50% 12%}
.vvz-shade{opacity:0;background:radial-gradient(ellipse at center,rgba(10,6,8,.62) 0%,rgba(10,6,8,.25) 55%,rgba(10,6,8,.05) 100%);pointer-events:none}
.vvz-intro{position:absolute;left:0;right:0;top:calc(18% + 40px);margin:0!important;padding:0 24px!important;text-align:center;font:400 13px/1.4 var(--vv-sans,Arial),Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.75);pointer-events:none}
.vvz-intro span{color:var(--vv-gold)}
.vvz-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;text-align:center;opacity:0;visibility:hidden;will-change:opacity,transform}
.vvz-end .vvs-eye{color:var(--vv-gold-l)!important;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.vvz-end h2{margin:6px 0 30px!important;padding:0!important;color:#fff!important;font-family:var(--vv-serif,"Times New Roman"),Georgia,serif!important;font-weight:500!important;font-size:clamp(44px,7.4vw,108px)!important;line-height:1!important;letter-spacing:-.01em;text-shadow:0 2px 30px rgba(0,0,0,.45);max-width:17ch}
.vvz-end .vvs-btn{background:var(--vv-gold);border-color:var(--vv-gold);color:var(--vv-wine)!important}
.vvz-end .vvs-btn:hover{background:#fff!important;border-color:#fff;color:var(--vv-ink)!important}
.vvz-hint{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:400 10px var(--vv-sans,Arial),Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.6);pointer-events:none}
.vvz-hint i{display:block;width:1px;height:38px;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,0));animation:vvzHint 1.8s ease-in-out infinite}
@keyframes vvzHint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* Uden animation (reduceret bevægelse / fejl): kun slutbilledet */
.vvz--static{height:auto}
.vvz--static .vvz-pin{position:relative;height:88vh}
.vvz--static .vvz-v,.vvz--static .vvz-intro,.vvz--static .vvz-hint{display:none}
.vvz--static .vvz-drone,.vvz--static .vvz-end{opacity:1;visibility:visible;transform:none}
.vvz--static .vvz-shade{opacity:.9}

/* Hero (Divi): på små desktops/liggende tablets (981-1280px) lå "Besøg vingården"-knappen oven i Shop/Besøg/Events-linjen */
@media (min-width:981px) and (max-width:1280px){body.home .et_pb_section_2{margin-top:-155px!important}}
/* Tablet-hero (Divi): undertekst "Oplev vinsmagning ..." stod i 80px på tablet */
@media (min-width:768px) and (max-width:980px){body.home .et_pb_section_1 .et_pb_text_4,body.home .et_pb_section_1 .et_pb_text_4 p{font-size:24px!important;line-height:1.4!important}body.home .et_pb_section_3 .et_pb_text_10 h1{font-size:44px!important;line-height:1.15!important}}
/* Stående tablet: Divi-headeren er høj, så dronebilledet starter under den (havet bliver synligt) */
@media (min-width:768px) and (max-width:980px) and (orientation:portrait){.vvz-drone{top:80px;height:calc(100% - 80px)}.vvz-drone img{object-position:50% 50%}}

/* ---------- Responsivt ---------- */
@media (max-width:1100px){
	.vvs-grid{grid-template-columns:repeat(3,1fr)}
	.vvhm-grid .vvs-card:nth-child(n+7){display:none}
	.vvg-grid{grid-auto-rows:190px}
}
@media (max-width:980px){
	.vvhm-head{flex-direction:column;align-items:flex-start;gap:14px}
	.vvg-head{grid-template-columns:1fr;gap:18px}
}
@media (max-width:767px){
	.vvs-wrap,.vvg-wrap{padding:0 16px}
	.vvhm-shop{padding:60px 0 64px}
	.vvhm-head{margin-bottom:26px}
	.vvhm-head p.vvhm-lead{font-size:15px}
	/* Vine som vandret karrusel */
	.vvhm-grid{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;scroll-padding-left:16px}
	.vvhm-grid::-webkit-scrollbar{display:none}
	.vvhm-grid .vvs-card,.vvhm-grid .vvs-card:nth-child(n+7){display:flex;flex:0 0 66%;scroll-snap-align:start}
	.vvhm-dots{display:flex;justify-content:center;gap:7px;margin-top:20px}
	.vvhm-dots span{width:6px;height:6px;border-radius:50%;background:rgba(46,31,34,.2);transition:width .3s,background .3s}
	.vvhm-dots span.is-on{width:20px;border-radius:3px;background:var(--vv-bord)}
	.vvhm-foot{margin-top:30px}
	.vvhm-foot .vvs-btn{width:100%}
	.vvs-card{border-radius:14px}
	.vvs-card__body{padding:12px 12px 14px}
	.vvs-card__t{font-size:20px!important}
	.vvs-card__d{display:none}
	.vvs-card__buy{flex-direction:column;align-items:stretch;gap:8px}
	.vvs-card__price{font-size:19px}
	.vvs-add{min-height:44px}
	.vvs-pts{width:46px;height:46px;top:8px;left:8px}
	.vvs-pts b{font-size:18px}
	.vvs-tag{top:8px;right:8px;font-size:10px;padding:4px 8px}
	/* Galleri: 2 kolonner, 6 billeder + "se alle" */
	.vvg{padding:64px 0 70px}
	.vvg-head{margin-bottom:28px}
	.vvg-lead{font-size:15px;margin-bottom:20px!important}
	.vvg-ctas .vvs-btn{flex:1 1 100%}
	.vvg-grid{grid-template-columns:1fr 1fr;grid-auto-rows:40vw;gap:8px}
	.vvg-i--d{display:none}
	.vvg-i span{display:none}
	.vvg-all{display:flex;justify-content:center;margin-top:18px}
	.vvg-all button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.4);border-radius:2px;background:transparent;color:#fff;font:500 11px/1 var(--vv-sans,Arial),Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
	.vvlb__img{max-width:100vw;max-height:calc(100vh - 160px)}
	.vvlb__p,.vvlb__n{top:auto;bottom:16px;margin:0;width:46px;height:46px}
	.vvlb__p{left:16px}
	.vvlb__n{right:16px}
	.vvlb__cap{bottom:84px;padding:0 20px}
	.vvz{height:270vh}
	.vvz-end h2{font-size:clamp(42px,12vw,58px)!important;margin-bottom:24px!important;max-width:11ch}
	.vvz-drone img{object-position:50% 50%}
	.vvz-end .vvs-eye{font-size:10px!important;letter-spacing:.24em!important}
	.vvz-end .vvs-eye:before{display:none}
	.vvz-intro{font-size:11px;top:calc(12% + 50px)}
	.vvz-hint{display:none}
}
