/* Zkusvino product descriptions / 2026-10-20 / v1.0
   Based on the user-approved wine description. No global or preview rules. */
.zw-story{--zw-ink:#201c18;--zw-wine:#800632;--zw-muted:#73695e;--zw-line:#ded4c5;--zw-cream:#f4efe7;--zw-white:#fffdf9;color:var(--zw-ink);font-family:"Poppins",Arial,sans-serif;font-size:14px;line-height:1.85}
.zw-story *{box-sizing:border-box}
.zw-story h2,.zw-story h3,.zw-story h4,.zw-story p,.zw-story dl,.zw-story dd{margin:0}
.zw-story h2,.zw-story h3,.zw-story h4{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12}
.zw-story a{color:inherit;text-underline-offset:5px}
.zw-story a:focus-visible{outline:2px solid var(--zw-wine);outline-offset:5px}
.zw-story .zw-kicker{font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--zw-wine);line-height:1.6}
.zw-story .zw-hero{display:grid;grid-template-columns:42% 58%;background:var(--zw-white);border:1px solid var(--zw-line)}
.zw-story .zw-portrait{position:relative;isolation:isolate;overflow:hidden;min-height:555px;background:radial-gradient(ellipse at 50% 42%,#f8f0dc,#e5d5b9);display:flex;align-items:center;justify-content:center;padding:55px 35px 100px}
.zw-story .zw-vintage{position:absolute;z-index:2;top:27px;left:28px;font-size:9px;letter-spacing:1.8px;color:#6b604f;display:flex;align-items:center;gap:10px}
.zw-story .zw-vintage b{font-family:Georgia,serif;font-size:22px;font-weight:400;letter-spacing:0;color:#695538;border-left:1px solid #b7a585;padding-left:10px}
.zw-story .zw-orbit{width:300px;height:370px;position:absolute;border:1px solid #b4a28277;border-radius:50%;transform:rotate(-20deg)}
.zw-story .zw-orbit:before,.zw-story .zw-orbit:after{content:"";position:absolute;border:1px solid #b4a28255;inset:14px;border-radius:50%}
.zw-story .zw-orbit:after{inset:-15px}
.zw-story .zw-bottle{position:relative;z-index:1;width:100%;height:385px;object-fit:contain;mix-blend-mode:multiply;transform:scale(1.45)}
.zw-story .zw-caption{position:absolute;bottom:28px;left:28px;right:28px;border-top:1px solid #b2a18170;padding-top:14px;text-align:center}
.zw-story .zw-caption span{font-size:9px;text-transform:uppercase;letter-spacing:1.6px;color:#74634d;display:block;margin-bottom:2px}
.zw-story .zw-caption strong{font:24px/1.4 Georgia,serif;font-weight:400}
.zw-story .zw-intro{padding:48px 50px 35px;display:flex;flex-direction:column;align-items:flex-start}
.zw-story .zw-intro h2{font-size:clamp(37px,3.7vw,56px);letter-spacing:-1.5px;margin-top:17px}
.zw-story .zw-intro h2 em{font-weight:400;color:var(--zw-wine)}
.zw-story .zw-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 19px}
.zw-story .zw-tags span{padding:4px 12px;border:1px solid #ddd3c2;border-radius:30px;font-size:10px;line-height:1.7;color:#655b4b;background:#faf7ef}
.zw-story .zw-lead{font-size:15px;line-height:1.9;max-width:480px}
.zw-story .zw-intro-detail{color:var(--zw-muted);font-size:12px;margin-top:14px;max-width:480px;line-height:1.9}
.zw-story .zw-facts{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-block:1px solid var(--zw-line);margin:24px 0 17px;padding:15px 0}
.zw-story .zw-fact{display:flex;align-items:center;gap:5px;min-width:0}
.zw-story .zw-fact+.zw-fact{border-left:1px solid var(--zw-line);padding-left:9px}
.zw-story .zw-icon{display:block;flex-shrink:0;width:90px;height:90px}
.zw-story .zw-fact .zw-icon{width:34px;height:47px;color:var(--zw-wine)}
.zw-story .zw-fact strong{font-size:15px;white-space:nowrap;display:block;font-weight:500;line-height:1.6}
.zw-story .zw-fact span{display:block;font-size:9px;color:var(--zw-muted)}
.zw-story .zw-inline-link{font-size:10px;font-weight:500;display:inline-flex;gap:14px;align-items:center;text-decoration:none!important;border-bottom:1px solid #9b9387}
.zw-story .zw-inline-link span{font-size:17px;color:var(--zw-wine);line-height:1.4}
.zw-story .zw-senses{padding:44px 0 39px}
.zw-story .zw-section-top{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:22px}
.zw-story .zw-section-top h3{font-size:34px;letter-spacing:-.6px;margin-top:9px}
.zw-story .zw-section-top>p{font-size:11px;color:var(--zw-muted);text-align:right;line-height:1.9}
.zw-story .zw-aromas{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--zw-line);padding:23px 0 25px}
.zw-story .zw-aroma{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px}
.zw-story .zw-aroma+.zw-aroma{border-left:1px solid var(--zw-line)}
.zw-story .zw-aroma .zw-icon{width:92px;height:92px;margin-bottom:5px}
.zw-story .zw-aroma h4{font-size:23px;margin-bottom:8px}
.zw-story .zw-aroma p{font-size:10px;color:var(--zw-muted)}
.zw-story .zw-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:0 0 43px}
.zw-story .zw-details h3{font-size:29px;margin:10px 0 18px}
.zw-story .zw-taste>p:not(.zw-kicker){font-size:12px;color:#675e54;margin-top:10px;line-height:1.95}
.zw-story .zw-serve{display:flex;gap:18px;align-items:center;background:#efe5d6;padding:28px 30px;border-top:2px solid var(--zw-wine)}
.zw-story .zw-serve>.zw-icon{width:47px;height:68px;color:var(--zw-wine)}
.zw-story .zw-serve h3{font-size:27px;margin:9px 0 15px}
.zw-story .zw-serve p:not(.zw-kicker){font-size:11px;line-height:1.95;color:#675e54}
.zw-story .zw-parameters{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;border-top:1px solid var(--zw-line);padding:40px 0 24px;scroll-margin-top:24px}
.zw-story .zw-parameters h3{font-size:34px;margin:10px 0 18px}
.zw-story .zw-parameters p:not(.zw-kicker){font-size:12px;color:var(--zw-muted);margin-bottom:22px}
.zw-story .zw-parameters dl{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.zw-story .zw-parameters dl>div{display:flex;flex-direction:column;padding:9px 0;border-bottom:1px solid var(--zw-line)}
.zw-story .zw-parameters dt{font-size:9px;letter-spacing:.3px;color:var(--zw-muted)}
.zw-story .zw-parameters dd{font-size:12px}
@media(min-width:1500px){
.zw-story .zw-intro{padding:50px 58px 35px}
.zw-story .zw-portrait{min-height:580px}
.zw-story .zw-bottle{height:410px}
}
@media(max-width:1240px){
.zw-story .zw-intro{padding:35px 32px 27px}
.zw-story .zw-portrait{min-height:530px}
.zw-story .zw-fact{gap:1px}
.zw-story .zw-fact+.zw-fact{padding-left:5px}
.zw-story .zw-fact .zw-icon{width:28px}
.zw-story .zw-fact strong{font-size:14px}
.zw-story .zw-details{gap:30px}
}
@media(max-width:900px){
.zw-story .zw-hero{grid-template-columns:39% 61%}
.zw-story .zw-intro{padding:32px 25px 25px}
.zw-story .zw-portrait{padding-inline:15px}
.zw-story .zw-bottle{height:330px}
.zw-story .zw-orbit{width:220px;height:320px}
.zw-story .zw-intro h2{font-size:40px}
.zw-story .zw-lead{font-size:13px}
.zw-story .zw-intro-detail{font-size:11px}
.zw-story .zw-fact .zw-icon{display:none}
.zw-story .zw-fact{justify-content:center}
.zw-story .zw-section-top h3{font-size:30px}
.zw-story .zw-details{gap:25px}
.zw-story .zw-serve{padding:23px 20px;gap:10px}
.zw-story .zw-serve>.zw-icon{width:33px}
.zw-story .zw-parameters{gap:35px;grid-template-columns:1fr 1.7fr}
}
@media(max-width:650px){
.zw-story .zw-hero{grid-template-columns:1fr}
.zw-story .zw-portrait{min-height:345px;padding:25px 25px 75px}
.zw-story .zw-bottle{height:250px}
.zw-story .zw-orbit{width:230px;height:240px}
.zw-story .zw-vintage{top:19px;left:21px}
.zw-story .zw-caption{bottom:17px;left:21px;right:21px;padding-top:10px}
.zw-story .zw-caption strong{font-size:20px}
.zw-story .zw-caption span{font-size:8px}
.zw-story .zw-intro{padding:29px 24px 25px}
.zw-story .zw-kicker{font-size:8px;letter-spacing:1.2px}
.zw-story .zw-intro h2{font-size:40px;margin-top:13px;letter-spacing:-1.2px}
.zw-story .zw-tags{margin:19px 0 16px;gap:6px}
.zw-story .zw-tags span{font-size:9px;padding:4px 10px}
.zw-story .zw-lead{font-size:13px}
.zw-story .zw-intro-detail{font-size:11px}
.zw-story .zw-facts{margin-top:22px;padding:15px 0}
.zw-story .zw-fact strong{font-size:15px}
.zw-story .zw-fact span{font-size:8px}
.zw-story .zw-senses{padding:32px 0}
.zw-story .zw-section-top{display:block;margin-bottom:19px}
.zw-story .zw-section-top h3{font-size:29px;max-width:300px;line-height:1.15}
.zw-story .zw-section-top>p{display:none}
.zw-story .zw-aromas{grid-template-columns:1fr 1fr;padding:0;gap:0}
.zw-story .zw-aroma{padding:16px 6px 21px}
.zw-story .zw-aroma+.zw-aroma{border-left:0}
.zw-story .zw-aroma:nth-child(even){border-left:1px solid var(--zw-line)}
.zw-story .zw-aroma:nth-child(n+3){border-top:1px solid var(--zw-line)}
.zw-story .zw-aroma .zw-icon{width:83px;height:83px}
.zw-story .zw-aroma h4{font-size:22px}
.zw-story .zw-aroma p{font-size:9px}
.zw-story .zw-details{grid-template-columns:1fr;gap:24px;padding-bottom:30px}
.zw-story .zw-details h3{font-size:28px;margin:10px 0 15px}
.zw-story .zw-serve{padding:25px 20px;gap:17px}
.zw-story .zw-serve>.zw-icon{width:35px}
.zw-story .zw-serve h3{font-size:25px}
.zw-story .zw-parameters{grid-template-columns:1fr;gap:10px;padding-top:30px}
.zw-story .zw-parameters h3{font-size:30px}
.zw-story .zw-parameters dl{gap:0 19px}
.zw-story .zw-parameters dd{font-size:11px}
.zw-story .zw-parameters dt{font-size:8px}
.zw-story .zw-parameters p:not(.zw-kicker){margin-bottom:13px}
.zw-story .zw-parameters dl{margin-top:14px}
}
@media(max-width:650px){
.zw-story .zw-bottle{transform:scale(1.25)}
}


/* Shoptet Classic: only description panels containing the new component. */
#description:has(.zw-story) .description-inner{display:block}
#description:has(.zw-story) .basic-description{float:none;width:100%;max-width:none;padding:0}
#description:has(.zw-story) .basic-description>h3:first-child{display:none}
#description:has(.zw-story) .extended-description{float:none;clear:both;width:100%;max-width:none;margin-top:28px;padding:28px 0 0;border-top:1px solid #ded4c5}
#description:has(.zw-story) .extended-description>.detail-parameters{width:100%;max-width:100%}

/* Product variants and resilience for real catalog data. */
.zw-story{width:100%;min-width:0;overflow-wrap:break-word}
.zw-story .zw-hero{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}
.zw-story .zw-intro,.zw-story .zw-taste,.zw-story .zw-parameters>div{min-width:0}
.zw-story .zw-intro h2{overflow-wrap:anywhere}
.zw-story .zw-fact strong{white-space:normal;overflow-wrap:break-word}
.zw-story .zw-aromas:has(>.zw-aroma:only-child){grid-template-columns:1fr}
.zw-story .zw-aromas:has(>.zw-aroma:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.zw-story .zw-aromas:has(>.zw-aroma:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.zw-story .zw-facts:has(>.zw-fact:only-child){grid-template-columns:1fr}
.zw-story .zw-facts:has(>.zw-fact:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.zw-story .zw-details:has(>:only-child){grid-template-columns:1fr}
.zw-story.zw-story--product .zw-bottle{transform:none;max-width:100%;max-height:100%;object-fit:contain}
.zw-story.zw-story--product .zw-intro h2{font-size:clamp(30px,3vw,48px)}
.zw-story .zw-original{margin-top:18px;padding:28px 0 16px;border-top:1px solid var(--zw-line);font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.zw-story .zw-original :where(p,div,li,td,th,span){font-family:inherit!important;font-size:inherit!important;color:inherit!important}
.zw-story .zw-original :where(p,ul,ol){margin:0 0 16px}
.zw-story .zw-original :where(h2,h3,h4){margin:22px 0 14px;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(24px,2.5vw,32px)!important;line-height:1.25!important}
.zw-story .zw-original a{color:var(--zw-wine)!important}
.zw-story .zw-original img{max-width:100%!important;height:auto!important}
.zw-story .zw-original table{width:100%!important;max-width:100%!important;table-layout:auto;border-collapse:collapse;margin:16px 0}
.zw-story .zw-original :where(td,th){width:auto!important;height:auto!important;padding:8px 10px;border:1px solid var(--zw-line);vertical-align:top}
.zw-story .zw-original iframe{max-width:100%}
@media(max-width:900px){
 .zw-story .zw-hero{grid-template-columns:minmax(0,39fr) minmax(0,61fr)}
}
@media(max-width:650px){
 .zw-story .zw-hero{grid-template-columns:minmax(0,1fr)}
 .zw-story .zw-aromas:has(>.zw-aroma:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
 .zw-story .zw-aromas:has(>.zw-aroma:nth-child(3):last-child)>.zw-aroma:last-child{grid-column:1/-1}
 .zw-story .zw-aromas:has(>.zw-aroma:only-child)>.zw-aroma{border-left:0;border-top:0}
 .zw-story.zw-story--product .zw-intro h2{font-size:32px}
 .zw-story .zw-original{font-size:12px;padding-top:22px}
 #description:has(.zw-story) .extended-description{margin-top:20px;padding-top:22px}
}
