/* WineHub winery page (theme/dokan/store.php) as each winery designs it in its admin (mu-plugin wh-winery).
   The accent (--accent, 6:1 or more on white and on --accent-tint) marks the tabs, the section headings, the badges,
   the announcement bar and the contact links; the buy buttons keep the site red. Loaded after winehub.css, store pages only. */
.whw-shop { --accent: var(--ink); --accent-tint: var(--soft); }
.whw-ic { width: 20px; height: 20px; flex: none; }

/* announcement bar, the top of the header panel */
.whw-announce { margin: 0; padding: 10px 24px; background: var(--accent); color: #fff; font: 600 .9375rem/1.4 var(--font-text); text-align: center; text-wrap: balance; }
@media (max-width: 699.98px) { .whw-announce { padding: 9px 16px; font-size: .875rem; } }

/* the accent */
.whw-shop .wh-tabs a:hover, .whw-shop .wh-tabs a:focus-visible { color: var(--accent); border-bottom-color: var(--accent); }
.whw-shop .wh-psec > .wh-ruled > h2 { padding-bottom: 10px; background: linear-gradient(var(--accent), var(--accent)) left bottom / 32px 3px no-repeat; }
.whw-shop .whr-badges span { background: var(--accent-tint); color: var(--accent); }
.whw-shop .whw-cta { border-color: var(--accent); color: var(--accent); }
.whw-shop .whw-cta:hover { background: var(--accent-tint); color: var(--accent); border-color: var(--accent); }

/* ---- Shop first: a compact header (cover strip, logo, name and facts, the tabs beside them), the wines right under ---- */
.whw-p--shop .wh-profile__hero { height: clamp(120px, 10vw, 160px); } /* a cover you can read, not a 60 px stripe */
.whw-p--shop .wh-profile__id { align-items: center; gap: 8px 24px; padding-bottom: 12px; }
.whw-p--shop .wh-profile__id > .wh-logotile { align-self: flex-start; width: 150px; height: 90px; margin-top: -44px; padding: 10px 14px; }
/* name on one line, the facts and the reward badges side by side under it */
.whw-p--shop .wh-profile__title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding-top: 12px; flex: 1 1 280px; }
.whw-p--shop .wh-profile__title h1 { flex: 1 1 100%; font-size: clamp(1.5rem, 1.25rem + .9vw, 2rem); }
.whw-p--shop .wh-profile__title .whr-badges { margin: 0; }
.whw-tabs--inline { flex: 0 1 auto; gap: 4px 22px; padding: 10px 0 0; border-top: 0; }
.whw-tabs--inline a { min-height: 44px; }
.whw-p--shop .wh-profile__id > .whw-cta { margin: 10px 0 0; }
@media (max-width: 1099.98px) {
  .whw-tabs--inline { order: 5; flex: 1 1 100%; margin: 4px -24px -12px; padding: 0 24px; border-top: 1px solid var(--line); }
}
.whw-p--shop .wh-psec.whw-featured, .whw-p--shop .wh-psec.whw-wines { margin-top: 10px; padding-top: 14px; }
.whw-p--shop .whw-featured .wh-ruled, .whw-p--shop .whw-wines .wh-ruled { margin-bottom: 10px; }
.whw-p--shop .whw-featured .wh-ruled > h2, .whw-p--shop .whw-wines .wh-ruled > h2 { padding-bottom: 8px; }

/* phones, every layout: logo and the samples button on one line, the name under them, the tabs last */
@media (max-width: 699.98px) {
  .whw-shop .wh-profile__id { gap: 8px 12px; }
  .whw-shop .wh-profile__id > .wh-logotile { order: 0; }
  .whw-shop .wh-profile__id > .whw-cta { order: 1; margin: 8px 0 0 auto; align-self: flex-start; }
  .whw-shop .wh-profile__title { order: 2; flex: 1 1 100%; padding-top: 0; }
  .whw-p--shop .wh-profile__hero { height: 96px; }
  .whw-p--shop .wh-profile__id > .wh-logotile { width: 112px; height: 68px; margin-top: -30px; padding: 8px 10px; }
  .whw-tabs--inline { margin: 2px -16px -16px; padding: 0 16px; }
  .whw-p--shop .wh-psec.whw-featured, .whw-p--shop .wh-psec.whw-wines { padding-top: 14px; }
}

/* ---- Story first: a tall cover, the story's first paragraph under the name ---- */
.whw-p--story .wh-profile__hero { height: clamp(240px, 30vw, 440px); }
.whw-p--story .wh-profile__id { align-items: flex-start; }
.whw-p--story .wh-profile__id > .whw-cta { align-self: flex-end; }
.whw-lead { margin: 6px 0 0; max-width: 68ch; color: var(--ink-2); font-size: 1.0625rem; line-height: 1.6; }

/* ---- Cellar door: the visit in the header (hours, address, book) ---- */
.whw-p--cellar .wh-profile__hero { height: clamp(150px, 16vw, 230px); }
.whw-door { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; margin: 0 24px 16px; padding: 12px 16px; background: var(--accent-tint); border-radius: var(--r-ctl); }
.whw-door p { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--ink); font-size: .9375rem; line-height: 1.45; }
.whw-door .whw-ic { color: var(--accent); margin-top: 1px; }
.whw-door .wh-pill { margin-left: auto; }
@media (max-width: 699.98px) { .whw-door { margin: 0 16px 14px; } .whw-door .wh-pill { margin-left: 0; } }

/* ---- sections ---- */
.whw-gallery__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.whw-gallery__grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-ctl); background: var(--soft); }
@media (max-width: 699.98px) { .whw-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }

.wh-psec ul.products.whw-visits { margin-top: 24px; }
.whw-hours { margin: 14px 0 0; font-size: .9375rem; color: var(--ink-2); }

.whw-awards__list { display: grid; margin: 0; padding: 0; list-style: none; }
.whw-awards__list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.whw-awards__list li:first-child { border-top: 0; padding-top: 0; }
.whw-medal { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 12px 0 7px; border-radius: 999px; background: var(--soft); color: var(--ink-2); font: 600 .8125rem/1 var(--font-text); white-space: nowrap; }
.whw-medal .whw-ic { width: 18px; height: 18px; }
.whw-medal--gold, .whw-medal--grand { background: #FBF3D9; color: #6B4E00; }
.whw-medal--silver { background: #EEF0F3; color: #3F4650; }
.whw-medal--bronze { background: #F7E9DE; color: #7A3E12; }
.whw-medal--trophy { background: var(--accent-tint); color: var(--accent); }
.whw-awards__name { font-weight: 600; color: var(--ink); }
.whw-awards__year { color: var(--muted); font-variant-numeric: tabular-nums; }
@media (max-width: 599.98px) { .whw-awards__list li { grid-template-columns: auto 1fr; } .whw-awards__name { grid-column: 1 / -1; } .whw-awards__year { grid-row: 1; grid-column: 2; justify-self: end; } }

.whw-events__list { display: grid; gap: 20px 32px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 860px) { .whw-events__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.whw-events__list li { display: flex; align-items: flex-start; gap: 16px; }
.whw-events__list time { display: grid; justify-items: center; align-content: center; flex: none; width: 64px; min-height: 64px; border-radius: var(--r-ctl); background: var(--accent-tint); color: var(--accent); line-height: 1.15; text-align: center; }
.whw-events__list time b { font: 800 1.5rem/1 var(--font-head); }
.whw-events__list time span { font-size: .75rem; font-weight: 600; }
.whw-events__list h3 { font: 700 1rem/1.35 var(--font-text); }
.whw-events__list p { margin: 4px 0 0; max-width: 60ch; color: var(--ink-2); font-size: .9375rem; }

.whw-contacts { gap: 12px; }
.whw-contacts > p:not(.wh-source) { display: flex; align-items: flex-start; gap: 10px; margin: 0; }
.whw-contacts > p .whw-ic { margin-top: 2px; color: var(--accent); }
.whw-contacts a { color: var(--accent); }
.whw-contacts > p.whw-social { flex-wrap: wrap; gap: 8px 10px; }
.whw-social a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px 0 12px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--ink); font-weight: 600; font-size: .875rem; text-decoration: none; }
.whw-social a:hover { border-color: var(--accent); color: var(--accent); }
.whw-social a .whw-ic { color: var(--accent); }

/* ---- audit 08.11: the winery's own wine cards ---- */
/* its own name on every card says nothing new here */
:is(.whw-wines, .whw-featured) .wh-card__producer { display: none; }
/* a short range fills the row: up to three wines become wide cards (photo left, details right) instead of three narrow
   cards and an empty half row */
@media (min-width: 1100px) {
  :is(.whw-wines, .whw-featured) ul.products:not(:has(> li:nth-child(4))) { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
  :is(.whw-wines, .whw-featured) ul.products:not(:has(> li:nth-child(4))) > li.wh-card { display: grid; grid-template-columns: minmax(140px, 40%) minmax(0, 1fr); align-items: center; column-gap: 20px; padding-right: 20px; }
  :is(.whw-wines, .whw-featured) ul.products:not(:has(> li:nth-child(4))) .wh-card__body { padding: 16px 0; }
}
.whw-more { margin: 16px 0 0; }
.whw-more a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--line-2, #D4D4D8); text-underline-offset: 4px; }
