/* =====================================================================
   Ergänzungen 30.09.2026 – Scroll-Film, Karte, Anfrage, Teilen
   Farben bleiben die der Marke: Tinte, Salbei, Gold. Kein neuer Akzent.
   ===================================================================== */

/* ---------- Story als Scroll-Film ---------- */
.film-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#1b1a17 url(media/film-scrub.webp) center/cover}
@media (prefers-reduced-motion:reduce){.film-vid{position:relative;height:60vh}}

/* ---------- Karte „From Italy to the World“ ---------- */
.world{position:relative;height:400vh;background:var(--ink)}
.world-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,#101712 0%,var(--ink) 70%)}
#map{position:absolute;inset:0;width:100%;height:100%;transition:opacity .4s linear}
#map .land{fill:#1a2620}
#map .route{fill:none;stroke:var(--accent);stroke-linecap:round}
#map .city{fill:var(--bone)}
#map .lbl{font-family:var(--sans);font-weight:600;fill:var(--sage);letter-spacing:.02em;paint-order:stroke;stroke:var(--ink);stroke-linejoin:round;transition:opacity .4s}
#map .lbl-prato{fill:var(--bone);font-weight:800;letter-spacing:.12em}
#map .prato{fill:var(--accent)}
#map .pulse{fill:none;stroke:var(--accent);stroke-width:1.2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:mpulse 2.4s infinite}
@keyframes mpulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(5)}}
.world-meta{position:absolute;right:var(--gut);top:96px;text-align:right;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:grid;gap:4px}
.world-count{font-weight:900;font-stretch:118%;font-size:clamp(40px,4.4vw,64px);letter-spacing:-.03em;line-height:1;color:var(--bone);font-variant-numeric:tabular-nums}
.world-meta .co{font-size:10px;letter-spacing:.14em;margin-top:4px}
.world-words{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(60px,12vh,130px);height:clamp(60px,9vw,150px);pointer-events:none}
.ww{position:absolute;left:0;bottom:0;margin:0;font-weight:900;font-stretch:112%;font-size:clamp(52px,9.6vw,160px);line-height:.95;letter-spacing:-.04em;opacity:0;transform:translateY(40px);transition:opacity .6s var(--ease),transform .9s var(--ease-out);white-space:nowrap}
.ww.is-on{opacity:1;transform:none}
.ww-gold{font-family:var(--serif);font-style:italic;font-weight:400;font-stretch:100%;color:var(--accent);letter-spacing:-.01em}
.world-final{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(50px,10vh,110px);max-width:760px;opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .9s var(--ease-out);pointer-events:none}
.world-final.is-on{opacity:1;transform:none;pointer-events:auto}
.world-final .lead{margin:18px 0 28px}
html[lang=zh] .ww:not(.ww-gold){letter-spacing:0}
@media (max-width:620px){.world{height:360vh}.world-meta{top:80px}.ww{font-size:clamp(46px,14vw,70px)}}
@media (prefers-reduced-motion:reduce){.world{height:auto}.world-stage{position:relative}.ww{display:none}}

/* ---------- Preisrechner: Knöpfe, Liste, Teilen ---------- */
.prices-van{margin-top:clamp(36px,6vh,64px);border-radius:24px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line)}
.prices-van img{width:100%;height:100%;object-fit:cover;transform:scale(1.14) translateX(4%);transition:transform 1.8s var(--ease-out)}
.prices-van.in img{transform:none}
.total-cta{display:flex;flex-wrap:wrap;gap:10px}
.calc-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.calc-foot .all{flex:1 1 260px}
.calc-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.link-sm{font-weight:700;font-size:14px;color:var(--bone);border-bottom:1px solid rgba(201,164,92,.5);padding-bottom:2px}
.share{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--accent);min-height:36px;padding:0 2px}
.share::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--ico-share) center/contain no-repeat;mask:var(--ico-share) center/contain no-repeat}
:root{--ico-share:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12M7 8l5-5 5 5M5 13v7h14v-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.share:hover{text-decoration:underline;text-underline-offset:4px}
.share-dark{color:var(--forest)}
.share-foot{color:var(--muted);font-weight:500;min-height:24px;justify-content:flex-start;font-size:14px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--bone);color:var(--ink);font-weight:700;font-size:14px;padding:12px 20px;border-radius:999px;opacity:0;pointer-events:none;transition:.35s var(--ease-out);z-index:90;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- Anfrage: WhatsApp | Formular ---------- */
.request .req-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.req-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(40px,7vh,70px)}
.choice{position:relative;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(26px,3vw,40px);border-radius:26px;min-height:300px;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),background .3s}
.choice:hover{transform:translateY(-4px)}
.choice h3{font-size:clamp(28px,3vw,44px);font-weight:900;font-stretch:108%;letter-spacing:-.03em;line-height:1;margin-top:auto}
.choice p{max-width:420px;font-size:16px}
.choice-ico{width:54px;height:54px;border-radius:50%;display:grid;place-items:center}
.choice-ico svg{width:26px;height:26px;fill:currentColor}
.choice-n{position:absolute;right:clamp(22px,3vw,36px);top:clamp(18px,2.4vw,30px);font-family:var(--serif);font-style:italic;font-size:clamp(60px,6vw,96px);line-height:1;opacity:.28}
.choice-go{font-weight:800;font-size:15px;display:flex;gap:10px;align-items:center;margin-top:10px}
.choice-go i{font-style:normal;transition:transform .3s var(--ease)}
.choice:hover .choice-go i{transform:translateX(5px)}
.choice-wa{background:var(--ink);color:var(--bone);box-shadow:0 40px 80px -40px rgba(11,15,13,.7)}
.choice-wa .choice-ico{background:#25d366;color:#fff}
.choice-wa p{color:rgba(242,239,231,.75)}
.choice-wa .choice-go{color:var(--accent)}
.choice-form{background:var(--bone);color:var(--ink);border:1px solid rgba(11,15,13,.12)}
.choice-form .choice-ico{background:var(--forest);color:var(--bone)}
.choice-form .choice-ico svg{fill:none}
.choice-form p{color:#3c4a41}
.choice-form .choice-go{color:var(--forest)}
.choice-form:hover .choice-go i{transform:translateY(4px)}
.choice-form.is-on{box-shadow:inset 0 0 0 2px var(--forest)}

.req-form{margin-top:18px;background:var(--bone);border-radius:26px;padding:clamp(22px,3.4vw,48px);display:grid;gap:clamp(30px,4vw,44px);animation:formin .6s var(--ease-out);scroll-margin-top:90px}
.req-form[hidden],.req-ok[hidden]{display:none}
@keyframes formin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rf{border:0;display:grid;gap:18px;min-width:0}
.rf legend{display:flex;align-items:baseline;gap:14px;font-size:clamp(22px,2.2vw,30px);font-weight:900;font-stretch:108%;letter-spacing:-.02em;margin-bottom:18px}
.rf-n{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--gold-deep)}
.rf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fl{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4d5b52;grid-column:span 2;min-width:0}
.fl.wide{grid-column:1/-1}
.addr-fields .fl{grid-column:span 1}
.addr-fields .fl.wide{grid-column:span 4}
.fl input,.fl select,.fl textarea,.addr-q{font:inherit;text-transform:none;letter-spacing:0;font-size:17px;font-weight:500;color:var(--ink);background:#fff;border:1px solid rgba(11,15,13,.16);border-radius:14px;padding:14px 16px;min-height:54px;width:100%;transition:border-color .2s,box-shadow .2s}
.fl textarea{resize:vertical;min-height:90px}
.fl select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%231d3a2a' stroke-width='2' fill='none'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:44px}
.fl input:focus,.fl select:focus,.fl textarea:focus,.addr-q:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(29,58,42,.12)}
.fl.err input,.fl.err select{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.1)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg label{cursor:pointer;position:relative}
.seg input{position:absolute;opacity:0}
.seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:6px 10px;border:1px solid rgba(11,15,13,.16);border-radius:14px;background:#fff;text-transform:none;letter-spacing:0;font-size:15px;font-weight:700;color:var(--ink);transition:.2s}
.seg input:checked+span{background:var(--forest);color:var(--bone);border-color:var(--forest)}
.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}

/* Kartons einzeln */
.bx-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.bx-top .fl{grid-column:auto}
.stepper{display:flex;align-items:center;background:#fff;border:1px solid rgba(11,15,13,.16);border-radius:14px;overflow:hidden;width:max-content}
.stepper button{width:54px;height:54px;font-size:22px;color:var(--ink);transition:background .2s}
.stepper button:hover{background:rgba(201,164,92,.16)}
.stepper input{width:72px;height:54px;border:0;border-inline:1px solid rgba(11,15,13,.12);text-align:center;font:inherit;font-size:20px;font-weight:800;letter-spacing:0;color:var(--ink);-moz-appearance:textfield;background:none;min-height:0;padding:0;border-radius:0}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.bx-switch{display:flex;gap:10px;flex-wrap:wrap}
.sw{display:flex;align-items:center;gap:10px;cursor:pointer;background:#fff;border:1px solid rgba(11,15,13,.14);border-radius:999px;padding:10px 16px 10px 10px;font-size:14px;font-weight:700;color:var(--ink);user-select:none}
.sw input{position:absolute;opacity:0}
.sw i{width:38px;height:22px;border-radius:999px;background:#cfd6d1;position:relative;transition:background .25s;flex:none}
.sw i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .25s var(--ease-out);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw input:checked+i{background:var(--forest)}
.sw input:checked+i::after{transform:translateX(16px)}
.sw input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.bx-all{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;padding:16px;border-radius:18px;background:rgba(201,211,203,.4)}
.bx-all .fl{grid-column:auto}
.bx-all .fl[hidden]{display:none}
.bx-all:has(.fl[hidden]+.fl[hidden]){display:none}
.bx-all .fl.err .chips-sz,.bx-all .fl.err input{outline:2px solid #b3261e;outline-offset:2px;border-radius:14px}
.chips-sz{display:flex;gap:8px;flex-wrap:wrap}
.csz{min-height:44px;padding:0 16px;border-radius:12px;background:#fff;border:1px solid rgba(11,15,13,.16);font-size:15px;font-weight:700;color:var(--ink);text-transform:none;letter-spacing:0;transition:.2s}
.csz:hover{border-color:var(--forest)}
.csz.on{background:var(--forest);color:var(--bone);border-color:var(--forest)}
.dims{display:flex;align-items:center;gap:6px;margin-top:8px}
.dims[hidden]{display:none}
.dims input{width:76px;min-height:44px;padding:8px 10px;text-align:center;font:inherit;font-size:16px;font-weight:600;letter-spacing:0;border:1px solid rgba(11,15,13,.16);border-radius:12px;background:#fff;color:var(--ink)}
.dims span,.dims em{font-style:normal;color:#6d7b72;font-size:14px;text-transform:none;letter-spacing:0}
.bx-list{list-style:none;display:grid;gap:8px;counter-reset:bx}
.bx{display:grid;grid-template-columns:40px minmax(0,1fr) 130px 150px 36px;gap:14px;align-items:center;background:#fff;border:1px solid rgba(11,15,13,.1);border-radius:16px;padding:12px 14px;animation:formin .35s var(--ease-out)}
.bx.err{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.1)}
.bx.warn{background:#fff8ec}
.bx-n{width:32px;height:32px;border-radius:50%;background:var(--sage);display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--forest)}
.bx .dims{margin-top:6px}
.bx-fixed{font-weight:700;font-size:15px;color:var(--ink)}
.bx-kg{display:flex;align-items:center;gap:6px}
.bx-kg input{width:84px;min-height:44px;padding:8px 10px;text-align:center;font:inherit;font-size:16px;font-weight:600;border:1px solid rgba(11,15,13,.16);border-radius:12px;background:#fff;color:var(--ink)}
.bx-kg em{font-style:normal;color:#6d7b72;font-size:14px}
.bx-price{text-align:right;display:grid;gap:2px}
.bx-price b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.bx-price small{font-size:12px;color:var(--gold-deep);font-weight:700;line-height:1.25}
.bx-del{width:32px;height:32px;border-radius:50%;font-size:18px;color:#6d7b72;transition:.2s}
.bx-del:hover{background:#fbe9e7;color:#b3261e}
.bx-sum{display:flex;gap:22px;flex-wrap:wrap;align-items:baseline;padding:4px 4px 0;font-size:14px;color:#4d5b52}
.bx-sum b{font-size:20px;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}
.bx-mix{margin-left:auto;font-weight:700;color:var(--forest)}
@media (max-width:720px){
  .bx{grid-template-columns:32px minmax(0,1fr) 32px;grid-template-areas:"n size del" "n kg price";row-gap:10px}
  .bx-n{grid-area:n;align-self:start}.bx-size{grid-area:size}.bx-kg{grid-area:kg}.bx-price{grid-area:price;text-align:right}.bx-del,.bx>span:last-child{grid-area:del;align-self:start}
  .bx-all{grid-template-columns:1fr}
  .bx-mix{margin-left:0;width:100%}
  .dims input{width:64px}
}

.addr{display:grid;gap:12px;padding:18px;border-radius:18px;background:rgba(201,211,203,.4)}
.addr-search{position:relative}
.addr-q{padding-left:46px !important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12Z' fill='none' stroke='%231d3a2a' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='10' r='2.6' fill='%23c9a45c'/%3E%3C/svg%3E") 14px center/22px no-repeat}
.addr-list{position:absolute;left:0;right:0;top:calc(100% + 6px);list-style:none;background:#fff;border-radius:16px;box-shadow:0 30px 60px -20px rgba(11,15,13,.35);border:1px solid rgba(11,15,13,.1);overflow:hidden;z-index:20;display:none}
.addr-list.on{display:block}
.addr-list li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;cursor:pointer;color:var(--ink);font-size:15px;border-top:1px solid rgba(11,15,13,.06)}
.addr-list li:first-child{border-top:0}
.addr-list li span{font-size:13px;color:#6d7b72}
.addr-list li.act,.addr-list li[data-i]:hover{background:rgba(201,164,92,.14)}
.addr-list li.by{cursor:default;font-size:11px;color:#8a948e;align-items:flex-end;padding:8px 14px}
.addr-hint{font-size:13px;color:#4d5b52;margin:-4px 0 0 4px}
.addr.manual .addr-search,.addr.manual .addr-hint{display:none}
.addr-ok{font-size:13px;font-weight:700;color:var(--forest);display:flex;gap:8px;align-items:center}
.addr-ok[hidden]{display:none}
.addr-ok span:first-child{width:20px;height:20px;border-radius:50%;background:var(--forest);color:var(--bone);display:grid;place-items:center;font-size:11px}
.rf-send{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;border-top:1px dashed rgba(11,15,13,.2);padding-top:26px}
.rf-est{display:grid;gap:4px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4d5b52}
.rf-est strong{font-size:clamp(30px,3vw,44px);font-weight:900;font-stretch:108%;letter-spacing:-.03em;color:var(--gold-deep);text-transform:none;font-variant-numeric:tabular-nums}
.rf-priv{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#3c4a41;cursor:pointer}
.rf-priv input{width:20px;height:20px;accent-color:var(--forest);margin-top:1px;flex:none}
.rf-priv.err{color:#b3261e}
.rf-send .btn-dark{margin:0}
.rf-send .btn-dark:disabled{opacity:.6;cursor:wait}
.rf-err{background:#fff3f1;color:#7a1c16;border-radius:14px;padding:14px 18px;font-size:15px}
.rf-err[hidden]{display:none}
.rf-err a{font-weight:800;text-decoration:underline}
.req-ok{margin-top:18px;background:var(--bone);border-radius:26px;padding:clamp(40px,6vw,80px);text-align:center;display:grid;justify-items:center;gap:6px;animation:formin .6s var(--ease-out)}
.req-ok .lead{margin:12px auto 10px}
.ok-tick{width:72px;height:72px;border-radius:50%;background:var(--forest);color:var(--accent);display:grid;place-items:center;font-size:30px;font-weight:900;margin-bottom:18px}

@media (max-width:980px){
  .req-choice{grid-template-columns:1fr}
  .choice{min-height:240px}
  .rf-grid{grid-template-columns:1fr 1fr}
  .fl,.addr-fields .fl{grid-column:span 1}
  .fl.wide,.addr-fields .fl.wide{grid-column:1/-1}
  .rf-send{grid-template-columns:1fr}
}
@media (max-width:520px){
  .rf-grid{grid-template-columns:1fr}
  .seg{grid-template-columns:1fr}
  .rf-send .btn-dark{width:100%;justify-content:center}
}
