.dvirko-home-exact{
    --d-green:#0b6a38;
    --d-green-dark:#0a512e;
    --d-yellow:#ffd217;
    --d-red:#ee2547;
    --d-ink:#13251a;
    --d-muted:#6c786f;
    --d-line:#e4e9e3;
    background:#fff;
    color:var(--d-ink);
}
.dvirko-home-exact .container{max-width:1380px}

/* HERO */
.dvirko-exact-hero{
    position:relative;
    min-height:610px;
    overflow:hidden;
    background:
        linear-gradient(90deg,#f8fbf7 0%,rgba(248,251,247,.95) 38%,rgba(248,251,247,.24) 66%,rgba(248,251,247,.03) 100%),
        var(--hero-bg,linear-gradient(135deg,#edf6eb,#dcefd6));
    background-size:cover;
    background-position:center;
}
.dvirko-exact-hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 0 0,rgba(143,191,69,.22),transparent 16%),
        radial-gradient(circle at 100% 100%,rgba(255,210,23,.18),transparent 22%);
}
.dvirko-exact-hero-shade{
    position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.84) 36%,rgba(255,255,255,.12) 64%,rgba(255,255,255,0) 100%);
}
.dvirko-exact-hero-inner{
    position:relative;
    z-index:2;
    min-height:610px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
    align-items:center;
    gap:20px;
    padding-top:24px;
    padding-bottom:24px;
}
.dvirko-exact-hero-copy{max-width:650px;padding-left:20px}
.dvirko-exact-hero-copy h1{
    margin:0;
    max-width:620px;
    color:var(--d-green-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:72px;
    line-height:.98;
    letter-spacing:-2.8px;
    font-weight:900;
    text-wrap:balance;
}
.dvirko-exact-hero-copy p{
    max-width:570px;
    margin:24px 0 26px;
    color:#344b3c;
    font-size:18px;
    line-height:1.55;
}
.dvirko-exact-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.dvirko-exact-btn{
    min-height:54px;
    padding:0 24px;
    border-radius:15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    transition:.18s ease;
}
.dvirko-exact-btn-primary{
    background:var(--d-yellow);
    color:#17301e!important;
    box-shadow:0 10px 24px rgba(208,163,0,.24);
}
.dvirko-exact-btn-primary:hover{transform:translateY(-2px);background:#ffdb35}
.dvirko-exact-btn-light{
    background:#fff;
    color:#253a2a!important;
    border:1px solid #e0e6df;
    box-shadow:0 8px 22px rgba(34,54,39,.08);
}
.dvirko-exact-btn-light i{color:#e61f47;font-size:18px}
.dvirko-exact-benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    width:min(640px,100%);
    margin-top:28px;
    overflow:hidden;
    border-radius:17px;
    border:1px solid rgba(11,106,56,.10);
    background:rgba(255,255,255,.94);
    box-shadow:0 12px 28px rgba(43,63,48,.07);
}
.dvirko-exact-benefits>div{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:9px;
    align-items:center;
    padding:14px 13px;
    border-right:1px solid #e9eee8;
}
.dvirko-exact-benefits>div:last-child{border-right:0}
.dvirko-exact-benefits i{font-size:22px;color:var(--d-green)}
.dvirko-exact-benefits span{display:flex;flex-direction:column;line-height:1.2}
.dvirko-exact-benefits b{font-size:11px;color:#263c2e}
.dvirko-exact-benefits small{font-size:9px;color:#8a948d;margin-top:3px}

.dvirko-exact-mascot-wrap{
    position:relative;
    align-self:stretch;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}
.dvirko-exact-mascot{
    position:relative;
    z-index:3;
    display:block;
    height:575px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 26px 25px rgba(62,40,25,.19));
}
.dvirko-exact-note{
    position:absolute;
    z-index:4;
    left:2%;
    top:9%;
    color:#173923;
    font-family:"Comic Sans MS","Segoe Print",cursive;
    font-size:20px;
    line-height:1.1;
    font-weight:800;
    transform:rotate(-8deg);
}
.dvirko-exact-note::after{
    content:"↘";
    display:block;
    margin:3px 0 0 20px;
    font-size:34px;
    font-weight:400;
}

/* SECTION HEADINGS */
.dvirko-exact-section{padding:28px 0 0}
.dvirko-exact-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:15px;
}
.dvirko-exact-section-head h2{
    margin:0;
    color:#173921;
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;
    line-height:1;
    font-weight:900;
}
.dvirko-exact-section-head>a{
    color:var(--d-green);
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

/* CATEGORIES */
.dvirko-exact-category-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.dvirko-exact-category-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e2e7e1;
    border-radius:17px;
    background:#fff;
    color:#1c3324;
    box-shadow:0 6px 18px rgba(27,47,32,.05);
    text-decoration:none;
    transition:.18s ease;
}
.dvirko-exact-category-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(27,47,32,.10)}
.dvirko-exact-category-photo{
    height:118px;
    background:linear-gradient(135deg,#f5f6ef,#edf3e9);
    overflow:hidden;
}
.dvirko-exact-category-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}
.dvirko-exact-category-card:hover .dvirko-exact-category-photo img{transform:scale(1.04)}
.dvirko-exact-category-bottom{
    min-height:58px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 20px;
    gap:9px;
    align-items:center;
    padding:8px 12px 9px;
}
.dvirko-exact-category-icon{
    width:39px;height:39px;border-radius:50%;
    display:grid;place-items:center;
    border:1px solid #cfe0d0;
    background:#f7fcf7;
    color:var(--d-green);
    font-size:18px;
}
.dvirko-exact-category-name{font-size:13px;font-weight:850;line-height:1.16}
.dvirko-exact-category-arrow{color:#f2bd00;font-size:17px}

/* PRODUCTS */
.dvirko-exact-products{padding-top:31px}
.dvirko-exact-products-head{align-items:end}
.dvirko-exact-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dvirko-exact-chips a{
    min-height:34px;padding:0 16px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    background:#f4f5f1;color:#67736a;font-size:11px;font-weight:750;text-decoration:none;
}
.dvirko-exact-chips a.active{background:var(--d-green);color:#fff}
.dvirko-exact-product-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}
.dvirko-exact-product-card{
    overflow:hidden;
    border:1px solid #e3e8e2;
    border-radius:18px;
    background:#fff;
    box-shadow:0 5px 16px rgba(34,51,39,.04);
}
.dvirko-exact-product-media{
    position:relative;
    height:250px;
    padding:17px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}
.dvirko-exact-product-media>a{display:block;width:100%;height:100%}
.dvirko-exact-product-media img{width:100%;height:100%;object-fit:contain;display:block}
.dvirko-exact-product-badge{
    position:absolute;z-index:3;left:10px;top:10px;
    padding:6px 9px;border-radius:999px;
    background:var(--d-red);color:#fff;font-size:10px;font-weight:900;
}
.dvirko-exact-product-badge.is-green{background:#67a71b}
.dvirko-exact-heart{
    position:absolute;z-index:3;right:10px;top:10px;
    width:30px;height:30px;border:0;background:transparent;color:#7b8680;font-size:17px;
}
.dvirko-exact-product-body{padding:0 13px 13px}
.dvirko-exact-rating{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.dvirko-exact-rating span{color:#f5b400;font-size:11px;letter-spacing:1px}
.dvirko-exact-rating small{font-size:9px;color:#9aa29d}
.dvirko-exact-product-title{
    display:block;
    min-height:42px;
    color:#25392c;
    font-size:12px;
    line-height:1.35;
    font-weight:750;
    text-decoration:none;
}
.dvirko-exact-product-price-row{
    min-height:58px;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:8px;
    margin-top:7px;
}
.dvirko-exact-old-price{font-size:10px;color:#a5ada8;text-decoration:line-through}
.dvirko-exact-price{font-size:18px;color:#182b1e;font-weight:950}
.dvirko-exact-cart{
    width:43px;height:43px;flex:0 0 43px;
    display:grid;place-items:center;
    border:0;border-radius:12px;
    background:var(--d-yellow);color:#21341f;font-size:18px;
}

/* PROMO */
.dvirko-exact-promos{padding:22px 0 38px}
.dvirko-exact-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.dvirko-exact-promo{
    position:relative;
    min-height:215px;
    overflow:hidden;
    border-radius:19px;
    border:1px solid #e0e5df;
    background:
        linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.77) 36%,rgba(255,255,255,.08) 70%),
        var(--promo-bg,linear-gradient(135deg,#edf6e6,#f7edc9));
    background-size:cover;
    background-position:center;
    text-decoration:none;
    color:#1b3524;
}
.dvirko-exact-promo::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.20) 64%,rgba(255,255,255,0));
}
.dvirko-exact-promo>div{position:relative;z-index:2;max-width:330px;padding:28px 26px}
.dvirko-exact-promo h3{
    margin:0 0 8px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;line-height:1.02;font-weight:900;color:#173820
}
.dvirko-exact-promo p{margin:0 0 15px;color:#415749;font-size:12px;line-height:1.45}
.dvirko-exact-promo span{
    display:inline-flex;align-items:center;gap:8px;
    min-height:38px;padding:0 15px;border-radius:10px;
    background:var(--d-yellow);color:#203620;font-size:11px;font-weight:900
}

@media(max-width:1199px){
    .dvirko-exact-hero-copy h1{font-size:59px}
    .dvirko-exact-hero-inner{grid-template-columns:minmax(0,1fr) 380px}
    .dvirko-exact-mascot{height:520px}
    .dvirko-exact-product-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:991px){
    .dvirko-exact-hero{min-height:auto}
    .dvirko-exact-hero-inner{min-height:540px;grid-template-columns:minmax(0,1fr) 300px}
    .dvirko-exact-hero-copy{padding-left:0}
    .dvirko-exact-hero-copy h1{font-size:49px}
    .dvirko-exact-benefits{grid-template-columns:repeat(2,1fr)}
    .dvirko-exact-benefits>div:nth-child(2){border-right:0}
    .dvirko-exact-benefits>div:nth-child(-n+2){border-bottom:1px solid #e9eee8}
    .dvirko-exact-mascot{height:430px}
    .dvirko-exact-category-grid{grid-template-columns:repeat(3,1fr)}
    .dvirko-exact-product-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767px){
    .dvirko-exact-hero{background-position:center}
    .dvirko-exact-hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.86) 57%,rgba(255,255,255,.18))}
    .dvirko-exact-hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:34px;padding-bottom:0}
    .dvirko-exact-hero-copy h1{font-size:42px;letter-spacing:-1.5px}
    .dvirko-exact-hero-copy p{font-size:15px;margin:17px 0 21px}
    .dvirko-exact-benefits{margin-top:22px}
    .dvirko-exact-mascot-wrap{min-height:355px;margin-top:6px}
    .dvirko-exact-mascot{height:360px}
    .dvirko-exact-note{display:none}
    .dvirko-exact-section-head{align-items:flex-start}
    .dvirko-exact-section-head h2{font-size:27px}
    .dvirko-exact-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .dvirko-exact-category-photo{height:100px}
    .dvirko-exact-product-grid{grid-template-columns:repeat(2,1fr);gap:9px}
    .dvirko-exact-product-media{height:190px;padding:12px}
    .dvirko-exact-products-head{display:block}
    .dvirko-exact-chips{margin-top:13px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
    .dvirko-exact-chips a{flex:0 0 auto}
    .dvirko-exact-promo-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
    .dvirko-exact-benefits{grid-template-columns:1fr}
    .dvirko-exact-benefits>div{border-right:0!important;border-bottom:1px solid #e9eee8!important}
    .dvirko-exact-benefits>div:last-child{border-bottom:0!important}
    .dvirko-exact-category-bottom{grid-template-columns:34px 1fr 16px;padding:8px}
    .dvirko-exact-category-icon{width:34px;height:34px;font-size:15px}
    .dvirko-exact-category-name{font-size:11px}
    .dvirko-exact-product-title{font-size:11px}
    .dvirko-exact-price{font-size:16px}
}


/* Hero scene tuned to the approved mockup */
.dvirko-exact-hero{
    background:
        radial-gradient(circle at 7% 8%,rgba(111,169,49,.18),transparent 14%),
        linear-gradient(90deg,#f8fbf7 0%,#f8fbf7 43%,#eef7e8 70%,#e0f0d9 100%)!important;
}
.dvirko-exact-hero-shade{display:none}
.dvirko-exact-mascot-wrap{
    min-height:560px;
    overflow:visible;
    isolation:isolate;
}
.dvirko-exact-scene-photo{
    position:absolute;
    z-index:0;
    inset:20px -90px 0 6%;
    border-radius:0;
    background-size:cover;
    background-position:center;
    filter:saturate(1.12) contrast(1.02) brightness(1.03);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 13%,#000 29%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 13%,#000 29%,#000 100%);
}
.dvirko-exact-mascot-wrap::before{
    content:"";
    position:absolute;
    z-index:1;
    width:520px;
    height:520px;
    left:50%;
    bottom:8px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.96) 0%,rgba(255,248,210,.64) 44%,rgba(255,255,255,0) 72%);
    pointer-events:none;
}
.dvirko-exact-mascot{
    z-index:3;
    height:590px;
    max-height:590px;
    transform:translateX(-6px);
    filter:drop-shadow(0 28px 25px rgba(58,39,24,.2));
}
.dvirko-exact-note{
    z-index:5;
    left:4%;
    top:7%;
    font-size:19px;
    text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.dvirko-exact-welcome-sign{
    position:absolute;
    z-index:4;
    right:-24px;
    top:34%;
    width:118px;
    min-height:90px;
    padding:20px 10px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:3px solid #7e4f27;
    border-radius:7px;
    background:linear-gradient(180deg,#c8874c,#a96331);
    color:#3b1f11;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    line-height:1.1;
    font-weight:900;
    transform:rotate(-2deg);
    box-shadow:0 10px 22px rgba(62,39,21,.18);
}
.dvirko-exact-welcome-sign::before,
.dvirko-exact-welcome-sign::after{
    content:"";
    position:absolute;
    top:-28px;
    width:3px;
    height:31px;
    background:#4f3b28;
}
.dvirko-exact-welcome-sign::before{left:28px}
.dvirko-exact-welcome-sign::after{right:28px}

/* denser typography/spacing to match reference */
.dvirko-exact-hero-copy h1{font-size:68px;line-height:.96;max-width:590px}
.dvirko-exact-hero-copy p{max-width:520px;font-size:17px;line-height:1.5}
.dvirko-exact-category-grid{gap:12px}
.dvirko-exact-category-card{border-radius:15px}
.dvirko-exact-category-photo{height:108px}
.dvirko-exact-section{padding-top:24px}
.dvirko-exact-product-media{height:230px}
.dvirko-exact-promos{padding-top:20px}

/* decorative leaves like the approved composition */
.dvirko-exact-hero::after{
    content:"";
    position:absolute;
    z-index:4;
    left:-36px;
    top:2px;
    width:130px;
    height:150px;
    background:
        radial-gradient(ellipse at 68% 18%,#72aa2e 0 13%,transparent 14%),
        radial-gradient(ellipse at 52% 34%,#4e9125 0 15%,transparent 16%),
        radial-gradient(ellipse at 76% 50%,#7fb53a 0 14%,transparent 15%),
        radial-gradient(ellipse at 40% 59%,#3f7e20 0 13%,transparent 14%);
    transform:rotate(-18deg);
    filter:blur(.1px);
    pointer-events:none;
}
@media(max-width:1199px){
    .dvirko-exact-mascot{height:525px;max-height:525px}
    .dvirko-exact-mascot-wrap{min-height:505px}
    .dvirko-exact-welcome-sign{right:-10px;transform:scale(.9) rotate(-2deg)}
}
@media(max-width:991px){
    .dvirko-exact-scene-photo{inset:26px -40px 0 0}
    .dvirko-exact-mascot{height:435px;max-height:435px}
    .dvirko-exact-mascot-wrap{min-height:420px}
    .dvirko-exact-welcome-sign{display:none}
}
@media(max-width:767px){
    .dvirko-exact-scene-photo{
        inset:50px -70px 0 -70px;
        opacity:.58;
        -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 100%);
        mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 100%);
    }
    .dvirko-exact-mascot{height:350px;max-height:350px;transform:none}
    .dvirko-exact-mascot-wrap{min-height:350px}
}


/* Live screenshot fixes: no random product photo in hero, graceful mascot fallback */
.dvirko-exact-scene-photo{display:none!important}
.dvirko-exact-hero{
  background:
    radial-gradient(circle at 82% 24%,rgba(255,255,255,.96) 0 12%,rgba(255,255,255,0) 34%),
    radial-gradient(circle at 72% 82%,rgba(255,212,37,.22),rgba(255,212,37,0) 35%),
    linear-gradient(100deg,#f8fbf6 0%,#f1f8ed 50%,#deefd7 100%)!important;
}
.dvirko-exact-mascot-wrap{
  position:relative;
  min-height:560px;
  overflow:visible;
}
.dvirko-exact-mascot-wrap::after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:0;
  width:420px;
  height:300px;
  z-index:0;
  opacity:.9;
  background:
    linear-gradient(150deg,transparent 0 48%,#c8ddb4 49% 55%,transparent 56%),
    radial-gradient(ellipse at 76% 82%,#87b44b 0 10%,transparent 11%),
    radial-gradient(ellipse at 88% 72%,#6d9c39 0 8%,transparent 9%),
    radial-gradient(ellipse at 58% 84%,#9cc65a 0 12%,transparent 13%);
  pointer-events:none;
}
.dvirko-exact-mascot-wrap.is-mascot-missing::before{
  content:"";
  width:360px;
  height:460px;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  border-radius:46% 46% 18% 18%;
  background:
    radial-gradient(circle at 50% 22%,#ffd6b4 0 8%,transparent 8.5%),
    radial-gradient(ellipse at 50% 39%,#ead8b9 0 22%,transparent 22.5%),
    linear-gradient(180deg,#f2e4cb 0 68%,#d33a27 68% 82%,#8f281f 82% 100%);
  opacity:.18;
  filter:blur(.2px);
}
.dvirko-exact-welcome-sign{right:8px;top:31%}
.dvirko-exact-category-photo{
  height:128px;
  background:linear-gradient(135deg,#f5f7f0,#edf3e9);
}
.dvirko-exact-category-photo img{
  object-fit:contain;
  padding:6px;
  background:#fff;
}
.dvirko-exact-product-media{height:245px}
.dvirko-exact-product-title{font-size:12.5px}
.dvirko-exact-price{font-size:19px}
@media(max-width:991px){
  .dvirko-exact-mascot-wrap{min-height:430px}
  .dvirko-exact-mascot-wrap::after{width:320px;height:220px}
}
@media(max-width:767px){
  .dvirko-exact-mascot-wrap{min-height:340px}
  .dvirko-exact-mascot-wrap::after{right:-80px;width:300px;height:200px}
}
