.home-hero { padding:155px 0 55px; background:linear-gradient(rgba(7,33,46,.65),rgba(7,33,46,.65)),url('../assets/img/hero-bg.webp') center/cover; }
.home-container { max-width:1240px; margin:auto; padding:0 24px; }
.home-intro { color:#fff; margin-bottom:26px; }
.home-intro h1 { color:#fff; font-size:32px; line-height:1.25; margin-bottom:8px; }
.home-intro p { color:#e0eee4; margin:0; }
.home-grid { display:grid; grid-template-columns:210px minmax(0,1fr) 280px; gap:26px; align-items:start; }
.home-panel { background:transparent; border-radius:10px; padding:22px; color:#fff; box-shadow:none; }
.home-panel h2 { font-size:20px; margin-bottom:16px; }
.home-cultures nav { display:flex; flex-direction:column; gap:3px; }
.home-crop-link { display:flex; align-items:center; gap:10px; padding:10px 6px; color:#fff; border-radius:5px; min-height:44px; }
.home-crop-link i { color:#8de397; width:20px; text-align:center; }
.home-crop-link:hover { color:#8de397; background:rgba(255,255,255,.12); }
.home-latest > h2 { font-size:23px; color:#fff; margin:0 0 16px; }
.home-latest .bg-white { background:transparent!important; border-radius:10px; overflow:hidden; }
.home-latest .single-product-item { padding:22px; box-shadow:none; margin:0; }
.home-latest .single-product-item:hover { transform:none; }
.home-latest .product-image { padding:0; margin-bottom:18px; }
.home-latest .product-image img { width:100%; height:230px; object-fit:contain; }
.home-latest .product-name { font-size:22px; line-height:1.3; margin-bottom:12px; }
.home-carousel-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:18px; }
.home-carousel-controls a { color:#fff; }
.home-carousel-controls button { width:44px; height:44px; color:#fff; border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.12); border-radius:50%; cursor:pointer; }
.home-side { display:grid; gap:20px; }
.home-weather p { margin-bottom:5px; color:#e0eee4; font-size:13px; }
.home-weather p.home-weather-location { font-size:18px; color:#fff; font-weight:600; }
.home-weather-temperature { display:flex; gap:18px; justify-content:center; align-items:center; padding:14px 0; font-size:38px; font-weight:600; }
.home-weather-temperature .wi { font-size:40px; color:#8de397; }
.home-weather-details { display:grid; grid-template-columns:1fr auto; gap:6px; margin:15px 0; font-size:13px; }
.home-weather-details dd { margin:0; }
.home-weather #current-weather button { border:1px solid #d6e2d9; background:rgba(255,255,255,.1); color:#fff; padding:8px 10px; border-radius:6px; margin-bottom:12px; min-height:44px; }
.home-weather-link { color:#8de397; display:block; margin-top:10px; }
.home-tool-button { display:flex!important; align-items:center; justify-content:center; gap:8px; font-size:14px!important; padding:12px 14px!important; }
.home-tool-button + .home-tool-button { margin-top:12px; }
@media (max-width:1100px) { .home-grid { grid-template-columns:180px minmax(0,1fr) 240px; gap:18px; } .home-panel { padding:18px; } }
@media (max-width:900px) { .home-grid { grid-template-columns:180px minmax(0,1fr); } .home-side { grid-column:2; grid-template-columns:1fr; } .home-hero { padding-top:135px; } }
@media (max-width:600px) { .home-grid { grid-template-columns:1fr; } .home-side { grid-column:auto; grid-template-columns:1fr; } .home-cultures nav { display:grid; grid-template-columns:1fr 1fr; } .home-intro h1 { font-size:26px; } .home-container { padding:0 16px; } .home-hero { padding:125px 0 35px; } }

/* Keep the original centred, automatically rotating carousel on the field background. */
.home-grid > *, .home-side > * { min-width:0; }
.home-panel h2, .home-latest .product-name, .home-latest .product-name a,
.home-latest .product-price, .home-latest .product-price span { color:#fff; }
.home-latest { width:100%; max-width:560px; justify-self:center; }
.home-latest > h2 { text-align:center; }
.home-latest .single-product-item { background:transparent; }
.home-latest .product-price span { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.home-latest .product-name { overflow-wrap:anywhere; }
.home-latest .text-danger { color:#ffbaba!important; }
.home-cultures hr { border-color:rgba(255,255,255,.4); }
.home-crop-link { overflow-wrap:anywhere; }
.home-carousel-controls { min-height:44px; }
.home-carousel-controls .carousel-control-prev,
.home-carousel-controls .carousel-control-next { top:35%; bottom:auto; width:44px; height:44px; opacity:1; }
.home-carousel-controls .carousel-control-prev { left:0; }
.home-carousel-controls .carousel-control-next { right:0; }
.home-latest .single-product-item { padding-left:48px; padding-right:48px; }
.home-weather-details { grid-template-columns:minmax(0,1fr) minmax(0,auto); }
.home-weather-details dt, .home-weather-details dd { overflow-wrap:anywhere; }
.home-tool-button { white-space:normal; text-align:center; }
@media (max-width:600px) {
    .home-latest { grid-row:1; }
    .home-latest .single-product-item { padding:12px 40px; }
    .home-latest .product-image img { height:190px; }
    .home-latest .product-name { font-size:20px; }
    .home-latest .product-price { font-size:26px; }
    .home-panel { padding:14px 0; }
    .home-crop-link { padding:10px 6px; }
    .home-side { gap:12px; }
    .home-intro { margin-bottom:20px; }
    .home-weather { max-width:400px; width:100%; justify-self:center; }
}
@media (prefers-reduced-motion:reduce) { .home-latest .carousel-item { transition:none; } }
/* Dark green translucent surfaces keep the field visible without losing contrast. */
.home-panel,
.home-latest {
    background:rgba(12, 45, 31, .86);
    border:1px solid rgba(170, 220, 180, .22);
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0, 0, 0, .16);
}
.home-latest { padding:22px; }
.home-latest .single-product-item { background:transparent; }
.home-crop-link:hover { background:rgba(140, 220, 155, .14); }
.home-weather p { color:#e0eee4; }
@media (max-width:1100px) { .home-latest { padding:18px; } }
@media (max-width:600px) {
    .home-panel, .home-latest { padding:16px; }
    .home-latest .single-product-item { padding-left:34px; padding-right:34px; }
    .home-latest > h2 { font-size:21px; }
}
.home-weather #useMyLocationBtn {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    white-space:normal;
    text-align:center;
    line-height:1.4;
}

.home-latest .carousel-inner { min-height:var(--home-carousel-height, 0px); }
