/* My Green Home — мультяшный стеллаж + фотографии видов */
/* SHELF_CARTOON_V2 */
:root{
  --cw-line:#6b4526;
  --cw-wood:#e3a86d;
  --cw-wood-lt:#f6d19c;
  --cw-wood-dk:#c07f42;
}
.shelf-page{
  --shelf-scale:.93;
  --shelf-line:var(--cw-line);
}
/* стена: мягкая, тёплая, с «нарисованным» окном */
.shelf-room{
  background:linear-gradient(180deg,#fdf8ec 0%,#f6efdf 52%,#eee2cc 100%);
  border:3px solid var(--cw-line);
  border-radius:34px;
  box-shadow:0 16px 0 rgba(107,69,38,.14),0 26px 46px rgba(58,43,28,.16);
  padding-bottom:4%;
}
.shelf-wall{
  inset:0 0 15% 0;
  background:
    radial-gradient(circle at 20% 14%,rgba(255,255,255,.9) 0 16%,transparent 16.4%),
    radial-gradient(circle at 28% 10%,rgba(255,255,255,.75) 0 11%,transparent 11.4%),
    linear-gradient(180deg,#fdfaf1,#f4ecdc);
}
.shelf-wall::before{
  background:linear-gradient(90deg,rgba(255,255,255,.55) 0 18%,transparent 18% 100%);
  filter:none;
}
.shelf-room::after{
  height:15%;
  background:linear-gradient(180deg,#eccfa6,#d9b184);
  border-top:3px solid var(--cw-line);
  box-shadow:none;
}
/* рама: округлая, мультяшная, чуть отодвинута назад */
.shelf-frame{
  width:min(90%,660px);
  transform:scale(var(--shelf-scale));
  transform-origin:center top;
  filter:saturate(1.05);
}
.shelf-frame::before,.shelf-frame::after{
  width:3.8%;
  background:linear-gradient(180deg,var(--cw-wood-lt),var(--cw-wood-dk));
  border:3px solid var(--cw-line);
  border-radius:14px;
  box-shadow:none;
}
.shelf-frame-top{
  height:28px;
  background:linear-gradient(180deg,var(--cw-wood-lt),var(--cw-wood));
  border:3px solid var(--cw-line);
  border-radius:12px;
  box-shadow:0 6px 0 rgba(107,69,38,.2);
}
.shelf-frame-bottom{
  height:32px;
  background:linear-gradient(180deg,var(--cw-wood),var(--cw-wood-dk));
  border:3px solid var(--cw-line);
  border-radius:12px;
  box-shadow:0 7px 0 rgba(107,69,38,.22);
}
/* полки: толще, мягче, с контуром */
.shelf-board::before{
  height:26px;
  background:linear-gradient(180deg,var(--cw-wood-lt) 0,var(--cw-wood) 55%,var(--cw-wood-dk) 100%);
  border:3px solid var(--cw-line);
  border-radius:8px 8px 10px 10px;
  box-shadow:0 7px 0 rgba(107,69,38,.18);
}
.shelf-board::after{
  height:5px;
  bottom:-8px;
  background:var(--cw-wood-dk);
  border-radius:0 0 8px 8px;
}
.shelf-row::before{
  height:24px;
  background:linear-gradient(rgba(255,255,255,.35),transparent);
}
.slot{height:126px}
.slot.filled{height:138px}
.shelf-plant .art,.shelf-plant-photo,.shelf-plant .art-img{
  height:120px;
  filter:drop-shadow(0 8px 5px rgba(70,45,25,.28));
}
.shelf-plant .art-img{
  width:100%;
  object-fit:contain;
  object-position:center bottom;
  border-radius:14px;
  background:rgba(255,252,244,.6);
  padding:2px;
}
.shelf-plant-name{
  background:rgba(61,92,56,.94);
  border-radius:10px;
  font-weight:600;
}
/* фотографии видов в карточках */
.art-img{width:100%;height:100%;object-fit:cover;display:block}
.enc-card .ph img,.plant-card .ph img{border-radius:0}
@media(max-width:600px){
  .shelf-room{border-radius:26px}
  .shelf-frame{width:94%}
  .shelf-frame-top{height:24px}
  .shelf-frame-bottom{height:27px}
  .shelf-board::before{height:22px}
  .slot{height:104px}.slot.filled{height:114px}
  .shelf-plant .art,.shelf-plant-photo,.shelf-plant .art-img{height:98px}
}
@media(max-width:380px){
  .shelf-frame{width:97%}
  .slot,.slot.filled{height:92px}
  .shelf-plant .art,.shelf-plant-photo,.shelf-plant .art-img{height:85px}
}

/* мультяшный вид: объёмные контуры + стеллаж отодвинут вглубь комнаты */
.shelf-room{perspective:1500px}
.shelf-frame{
  --shelf-scale:.87;
  transform:scale(var(--shelf-scale)) translateZ(-40px);
  transform-origin:center 42%;
}
.shelf-frame::before,.shelf-frame::after{
  border-width:4px;
  border-radius:16px;
  box-shadow:0 8px 0 rgba(107,69,38,.18);
}
.shelf-frame-top{border-width:4px;border-radius:14px}
.shelf-frame-bottom{border-width:4px;border-radius:14px}
.shelf-board::before{border-width:4px;border-radius:10px 10px 12px 12px}
.shelf-level{margin-bottom:34px}
.shelf-plant .art,.shelf-plant-photo,.shelf-plant .art-img{
  filter:drop-shadow(0 9px 6px rgba(70,45,25,.3)) saturate(1.1);
}
