/*
Theme Name: Счастливый Дачник Theme
Theme URI: https://example.com/
Author: OpenAI
Description: Базовая совместимая тема для плагинов и шаблонов сайта «Счастливый Дачник».
Version: 1.1.8
Text Domain: veselyi-dachnik-theme
Update URI: false
*/
:root{
  --vd-bg:#eef4e8;
  --vd-card:#ffffff;
  --vd-text:#21351a;
  --vd-muted:#5d6f57;
  --vd-line:#d9e7cf;
  --vd-accent:#2e5120;
  --vd-radius:24px;
  --vd-shadow:0 12px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Arial,Helvetica,sans-serif;
  background:var(--vd-bg);
  color:var(--vd-text);
  line-height:1.6;
}
a{color:var(--vd-accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.vd-theme-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:22px 16px 36px;
}
.vd-theme-header,
.vd-theme-main,
.vd-theme-footer{
  background:rgba(255,255,255,.94);
  border-radius:var(--vd-radius);
  box-shadow:var(--vd-shadow);
}
.vd-theme-header{
  padding:18px 22px;
  margin-bottom:18px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}
.vd-theme-brand{
  font-size:30px;
  font-weight:800;
  color:var(--vd-accent);
}
.vd-theme-nav{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.vd-theme-nav a{
  padding:10px 14px;
  border-radius:14px;
  background:#f4f9ef;
  font-weight:700;
}
.vd-theme-main{
  padding:26px;
}
.vd-theme-title{
  margin:0 0 14px;
  font-size:38px;
  line-height:1.08;
  color:var(--vd-accent);
}
.vd-theme-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.vd-theme-card{
  background:#fff;
  border:1px solid var(--vd-line);
  border-radius:20px;
  padding:18px;
}
.vd-theme-footer{
  margin-top:18px;
  padding:18px 22px;
  color:var(--vd-muted);
  font-size:14px;
}
.vd-theme-search{
  display:flex;
  gap:8px;
  width:min(100%,420px);
}
.vd-theme-search input{
  flex:1;
  border:1px solid var(--vd-line);
  border-radius:14px;
  padding:12px 14px;
  font-size:15px;
  outline:none;
}
.vd-theme-search button{
  border:none;
  border-radius:14px;
  padding:12px 16px;
  background:#000;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.vd-theme-meta{
  color:var(--vd-muted);
  font-size:14px;
  margin-bottom:10px;
}
.vd-theme-content > *:first-child{margin-top:0}
.vd-theme-content > *:last-child{margin-bottom:0}
.vd-theme-empty{
  padding:18px;
  border-radius:18px;
  background:#f5f9f0;
  border:1px solid var(--vd-line);
}
@media (max-width:900px){
  .vd-theme-grid{grid-template-columns:1fr}
  .vd-theme-title{font-size:30px}
}


.vd-theme-header{
  display:grid;
  grid-template-columns:auto auto auto minmax(260px,1fr);
  align-items:center;
}
.vd-theme-nav{align-items:center}
.vd-theme-account{position:relative;justify-self:start}
.vd-theme-account summary{list-style:none}
.vd-theme-account summary::-webkit-details-marker{display:none}
.vd-theme-account-summary{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:8px 12px 8px 8px;
  border-radius:18px;
  background:#f4f9ef;
  border:1px solid var(--vd-line);
  cursor:pointer;
}
.vd-theme-account-avatar-wrap{
  width:42px;
  height:42px;
  border-radius:14px;
  overflow:hidden;
  flex:0 0 42px;
  background:#dceacf;
}
.vd-theme-account-avatar{width:100%;height:100%;object-fit:cover}
.vd-theme-account-meta{display:flex;flex-direction:column;line-height:1.15}
.vd-theme-account-meta strong{font-size:14px}
.vd-theme-account-role{
  display:inline-flex;
  align-items:center;
  margin-top:4px;
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  color:var(--vd-muted);
  font-size:12px;
  font-weight:700;
}
.vd-theme-account-caret{font-size:14px;color:var(--vd-muted)}
.vd-theme-account-drop{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:220px;
  padding:10px;
  border:1px solid var(--vd-line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--vd-shadow);
  z-index:20;
}
.vd-theme-account-drop a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--vd-text);
  font-weight:700;
}
.vd-theme-account-drop a:hover{background:#f4f9ef;text-decoration:none}
.vd-theme-account-admin-meta{display:grid;gap:3px;padding:10px 12px;margin:2px 4px 8px;border-radius:14px;background:#f4f9ef;border:1px solid #dfead8;color:#5e7057;font-size:12px;font-weight:800}
@media (max-width:1080px){
  .vd-theme-header{grid-template-columns:1fr}
  .vd-theme-search{width:100%}
  .vd-theme-account{justify-self:stretch}
  .vd-theme-account-drop{left:0;right:auto}
}


/* v1.1.5: larger header and page shell for the planner page */
.vd-theme-wrap.vd-theme-wrap-planner{
  max-width:1460px;
}

.vd-theme-header.vd-theme-header-planner{
  padding:24px 28px;
  border-radius:28px;
  grid-template-columns:minmax(280px,1.15fr) auto auto minmax(320px,420px);
  gap:18px;
}
.vd-theme-header.vd-theme-header-planner .vd-theme-brand{
  font-size:40px;
  line-height:1.04;
}
.vd-theme-header.vd-theme-header-planner .vd-theme-nav a{
  padding:12px 16px;
  border-radius:16px;
}
.vd-theme-header.vd-theme-header-planner .vd-theme-search{
  width:min(100%,460px);
}
.vd-theme-header.vd-theme-header-planner .vd-theme-search input{
  min-height:48px;
}
.vd-theme-header.vd-theme-header-planner .vd-theme-search button{
  min-height:48px;
  padding:12px 18px;
}
.vd-theme-header.vd-theme-header-planner .vd-theme-account-summary{
  min-height:60px;
}

.vd-theme-main.vd-theme-main-planner{
  padding:30px 30px 34px;
  border-radius:28px;
}
.vd-theme-title.vd-theme-title-planner{
  font-size:48px;
  line-height:1.05;
  margin-bottom:18px;
}

@media (max-width: 1180px){
  .vd-theme-wrap.vd-theme-wrap-planner{
    max-width:100%;
  }
  .vd-theme-header.vd-theme-header-planner{
    grid-template-columns:1fr;
    padding:20px 22px;
  }
  .vd-theme-main.vd-theme-main-planner{
    padding:24px;
  }
  .vd-theme-title.vd-theme-title-planner{
    font-size:40px;
  }
}

@media (max-width: 680px){
  .vd-theme-header.vd-theme-header-planner .vd-theme-brand{
    font-size:32px;
  }
  .vd-theme-title.vd-theme-title-planner{
    font-size:32px;
  }
}
