/* Portrait video: show the complete 720 × 1280 image without labels or cropping. */
.main-grid {
  grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
  gap: 28px;
  min-height: 0;
}
.garden-sidebar { padding-right: 6px; }
.section-heading { margin-bottom: 12px; }
.expert-card {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  background: transparent;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 18px #233d2710;
}
.video-frame {
  width: clamp(158px, 21.375dvh, 234px);
  max-width: 100%;
  aspect-ratio: 9 / 16;
  background: #e5e9e0;
}
.video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
#video-fallback { font-size: 14px; color: #63735b; }
.weather-card { margin-top: 14px; padding: 12px; gap: 9px; }
.weather-card .sun { font-size: 24px; }
.weather-card small { line-height: 1.6; margin-top: 4px; }
.weather-card em { margin-top: 3px; }
.guides-heading { margin: 17px 0 10px; }
.guides-heading h2 { font-size: 13px; }
.guide-grid { gap: 8px; }
.guide-tile {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  column-gap: 6px;
  align-items: center;
  padding: 10px 9px;
  border-radius: 10px;
}
.guide-tile .guide-icon { grid-row: 1 / 3; font-size: 19px; margin: 0; }
.guide-tile strong { font-size: 11px; line-height: 1.6; }
.guide-tile small { display: block; grid-column: 2; margin-top: 2px; font-size: 9px; line-height: 1.5; }
.sidebar-note { padding: 15px 0; font-size: 9px; }
@media (min-width: 1500px) {
  .main-grid { grid-template-columns: 350px minmax(0, 1fr); gap: 34px; }
  .guide-tile { padding: 14px 11px; }
  .guide-tile strong { font-size: 12px; }
}
@media (max-width: 1100px) and (min-width: 801px) {
  .main-grid { grid-template-columns: 270px minmax(0, 1fr); gap: 18px; }
  .guide-tile { grid-template-columns: 20px minmax(0, 1fr); padding: 10px 8px; column-gap: 4px; }
  .guide-tile .guide-icon { font-size: 17px; }
  .guide-tile strong { font-size: 10px; }
}
@media (max-width: 800px) {
  .main-grid { gap: 18px; height: auto; }
  .garden-sidebar {
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    grid-template-rows: auto auto auto 1fr;
    gap: 10px 16px;
    padding: 0;
    overflow: visible;
  }
  .section-heading { grid-column: 1 / -1; margin: 0; }
  .expert-card { grid-column: 1; grid-row: 2 / 5; margin: 0; align-self: start; }
  .video-frame { width: 165px; max-width: 100%; aspect-ratio: 9 / 16; }
  .weather-card { grid-column: 2; margin: 0; padding: 10px; }
  .weather-card .sun { font-size: 22px; }
  .guides-heading { grid-column: 2; margin: 0; }
  .guide-grid { grid-column: 2; grid-template-columns: 1fr 1fr; align-self: start; }
  .guide-tile small { font-size: 9px; }
  .sidebar-note { display: none; }
}
@media (max-width: 540px) {
  .garden-sidebar { grid-template-columns: 132px minmax(0, 1fr); gap: 8px 12px; }
  .video-frame { width: 132px; }
  .weather-card { padding: 9px; gap: 6px; }
  .weather-card .sun { display: none; }
  .weather-card strong { font-size: 11px; }
  .weather-card small { font-size: 9px; }
  .weather-card em { font-size: 8px; }
  .guides-heading h2 { font-size: 11px; }
  .guide-grid { grid-template-columns: 1fr; gap: 5px; }
  .guide-tile { display: flex; gap: 7px; padding: 7px 9px; }
  .guide-tile .guide-icon { font-size: 15px; }
  .guide-tile strong { font-size: 10px; }
  .guide-tile small { display: none; }
}
