/* dv-partners (2026-10-28): the pages about the associations the winery belongs to and its partners, and their list.
   Same look as the ONVV page (dv-onvv/assets/onvv.css, prefixes renamed): kit tokens and components only, Literata
   for titles, Onest for the rest, the house greens, white cards on the ground, the band for the questions. Prefix pt-. */

.pg-partner {
  --pt-green: #3A6E20;                 /* the house link green: white on it 6.1:1, it on white 5.9:1 */
  --pt-tint: rgb(76 140 43 / .09);     /* leaf over white */
  --pt-shadow: 0 1px 2px rgb(26 23 27 / .05), 0 12px 32px -24px rgb(26 23 27 / .25);
}
.pt-h2 { margin: 0 0 var(--sp-4); }
.pt-h2--sm { font-size: var(--fs-h3); line-height: var(--lh-h3); }

/* ---- Head: title and lead left, "Pe scurt" right (under the text on phones) -------------------------------------- */
.pt-hero { padding-block: var(--sp-5) var(--sp-7); }
.pt-hero__grid { display: grid; gap: var(--sp-6); }
.pt-hero__text { min-width: 0; }
.pt-crumbs { margin-bottom: var(--sp-4); }
.pt-eyebrow { margin-bottom: var(--sp-2); color: var(--pt-green); }
.pt-hero__title { max-width: 24ch; text-wrap: balance; }
.pt-lead { margin-top: var(--sp-4); }
.pt-actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-5); }
.pt-actions .dvh-btn { max-width: 100%; white-space: normal; text-align: center; }
.pt-actions .dvh-btn .dvh-icon { width: 16px; height: 16px; margin-left: 6px; opacity: .8; }
.pt-checked { margin-top: var(--sp-4); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); }

.pt-brief { align-self: start; min-width: 0; padding: var(--sp-5); background: var(--surface); border-radius: var(--radius-media); box-shadow: var(--pt-shadow); border-top: 3px solid var(--pt-green); }
.pt-brief__title { margin-bottom: var(--sp-2); font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-title); }
.pt-facts { margin: 0; }
.pt-facts__row { display: grid; gap: 2px; padding-block: var(--sp-3); border-top: 1px solid var(--line); }
.pt-facts__row:first-child { border-top: 0; }
.pt-facts dt { font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); }
.pt-facts dd { margin: 0; font-size: var(--fs-ui); line-height: 1.5; overflow-wrap: anywhere; text-wrap: pretty; }
.pt-facts a, .pt-sources a { color: var(--link); text-underline-offset: .18em; }
.pt-facts a .dvh-icon, .pt-sources a .dvh-icon { display: inline-block; width: 14px; height: 14px; margin-left: 4px; vertical-align: -2px; opacity: .8; }

@media (min-width: 900px) {
  .pt-hero { padding-block: var(--sp-6) var(--sp-7); }
  .pt-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sp-8); align-items: start; }
  .pt-brief { margin-top: var(--sp-6); }
}

/* ---- Programmes: one card each, two a row from 900 px ------------------------------------------------------------ */
.pt-progs { padding-block: var(--sp-6) var(--sp-8); }
.pt-head { margin-bottom: var(--sp-6); max-width: var(--text-measure); }
.pt-intro { margin: 0; color: var(--muted); font-size: var(--fs-body); line-height: var(--lh-body); }
.pt-progs__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--col-gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .pt-progs__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pt-prog {
  display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; margin: 0;
  padding: var(--sp-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-media);
  scroll-margin-top: calc(var(--header-h) + var(--sp-4));
}
.pt-prog > * { margin: 0; }
.pt-prog__kicker {
  font-family: var(--font-text); font-size: var(--fs-eyebrow); line-height: var(--lh-eyebrow); font-weight: var(--fw-strong);
  letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--pt-green);
}
.pt-prog__title { font-family: var(--font-display); font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-title); text-wrap: balance; }
.pt-prog__text { font-size: var(--fs-body); line-height: var(--lh-body); text-wrap: pretty; }
.pt-prog__dv {
  padding: var(--sp-3) var(--sp-4); border-left: 3px solid var(--pt-green); border-radius: 0 var(--radius-control) var(--radius-control) 0;
  background: var(--pt-tint); font-size: var(--fs-ui); line-height: 1.55; text-wrap: pretty;
}
.pt-prog__dv-label { font-weight: var(--fw-strong); color: var(--pt-green); }
.pt-prog__links { display: flex; flex-wrap: wrap; gap: 0 var(--sp-5); margin-top: auto !important; padding-top: var(--sp-1); }
.pt-prog__links > * { flex: 0 1 auto; }
.pt-prog__link { display: inline-block; padding-block: 11px; color: var(--link); font-size: var(--fs-ui); font-weight: var(--fw-strong); line-height: 1.45; text-underline-offset: .18em; }
.pt-prog__link .dvh-icon { display: inline-block; width: 15px; height: 15px; margin-left: 5px; vertical-align: -2px; }
.pt-prog__link--ours { color: var(--ink); }

/* ---- Photo strip: four a row from 900 px, 2 x 2 on phones ------------------------------------------------------- */
.pt-photos { padding-top: 0; }
.pt-strip { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--col-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .pt-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* associations 2026-10-28 (unique photos per page): a strip of 2 or 3 photos fills the row on desktop, no empty cells;
   on phones the first of 3 spans the row */
@media (min-width: 900px) { .pt-strip:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pt-strip:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px) { .pt-strip:has(> :nth-child(3):last-child) > :first-child { grid-column: 1 / -1; } }
.pt-strip__item { min-width: 0; margin: 0; }
.pt-strip__fig { margin: 0; }
.pt-strip__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-media); background: var(--band); }
.pt-strip__cap { margin-top: var(--sp-2); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); text-wrap: pretty; }

/* ---- Questions ---------------------------------------------------------------------------------------------------- */
.pt-qa { margin: 0; border-top: 1px solid var(--ink); }
.pt-qa__item { display: grid; gap: var(--sp-2); padding-block: var(--sp-5); border-bottom: 1px solid var(--line); }
.pt-qa__item dt { font-family: var(--font-display); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--fw-title); }
.pt-qa__item dd { margin: 0; max-width: var(--text-measure); font-size: var(--fs-body); line-height: var(--lh-body); text-wrap: pretty; }
@media (min-width: 900px) {
  .pt-qa__item { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--col-gap); align-items: baseline; }
}

/* ---- Sources ------------------------------------------------------------------------------------------------------ */
.pt-sources { padding-block: var(--sp-6) var(--section-inner); }
.pt-sources__title { margin-bottom: var(--sp-3); font-size: var(--fs-h3); line-height: var(--lh-h3); }
.pt-sources__list { max-width: 80ch; margin: 0; padding-left: 1.5em; font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); }
.pt-sources__list li + li { margin-top: var(--sp-2); }
.pt-sources__list a { overflow-wrap: anywhere; }

/* ---- "Citiți și": compact tiles, 1 a row on phones, 2 from 600 px, 4 from 1200 px -------------------------------- */
.pt-related { background: var(--band); }
.pt-tiles { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--col-gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .pt-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .pt-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pt-tile { min-width: 0; margin: 0; }
.pt-tile__link {
  position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: start; gap: var(--sp-4); height: 100%;
  padding: var(--sp-4); color: var(--ink); text-decoration: none; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-media);
  transition: border-color var(--dur-hover) var(--ease-out);
}
.pt-tile__link:not(:has(.pt-tile__media)) { grid-template-columns: minmax(0, 1fr); }
.pt-tile__link:hover { border-color: var(--control); }
.pt-tile__link:hover .pt-tile__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.pt-tile__media { display: block; overflow: hidden; border-radius: var(--radius-control); background: var(--band); }
.pt-tile__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.pt-tile__body { display: flex; flex-direction: column; gap: var(--sp-1); min-width: 0; padding-right: var(--sp-5); }
.pt-tile__kicker { font-size: var(--fs-eyebrow); line-height: var(--lh-eyebrow); font-weight: var(--fw-strong); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--link); }
.pt-tile__title { font-family: var(--font-display); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--fw-title); text-wrap: pretty; }
.pt-tile__lead { font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
.pt-tile__more { position: absolute; top: var(--sp-4); right: var(--sp-4); display: flex; color: var(--link); }
@media (min-width: 1200px) {
  .pt-tile__link { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0; padding: 0; overflow: hidden; }
  .pt-tile__media { border-radius: 0; }
  .pt-tile__media img { aspect-ratio: 3 / 2; }
  .pt-tile__body { padding: var(--sp-4) calc(var(--sp-4) + var(--sp-1)) calc(var(--sp-4) + var(--sp-1)); }
  .pt-tile__body { padding-bottom: calc(var(--sp-4) + var(--sp-6)); }
  .pt-tile__more { top: auto; bottom: var(--sp-4); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .pt-tile__more .dvh-icon { transition: transform var(--dur-hover) var(--ease-out); }
  .pt-tile__link:hover .pt-tile__more .dvh-icon { transform: translateX(3px); }
}

/* owner 2026-10-27 justifies running text site-wide; short UI lines stay ragged (a justified two-word line gapes) */
.pt-crumbs li, .pt-intro, .pt-checked, .pt-prog__links, .pt-prog__dv, .pt-facts dt, .pt-facts dd, .pt-sources__list li { text-align: start; -webkit-hyphens: manual; hyphens: manual; }

/* ---- The body's logo on top of "Pe scurt" (only when its rules allow it) ----------------------------------------- */
.pt-brief__logo { margin: 0 0 var(--sp-4); padding-bottom: var(--sp-4); border-bottom: 1px solid var(--line); }
.pt-brief__logo a { display: inline-block; border-radius: var(--radius-control); }
.pt-brief__logo a:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.pt-brief__logo-img { display: block; width: auto; max-width: min(100%, 240px); height: auto; max-height: 72px; object-fit: contain; }

/* ---- The list page: one tile per page; a logo sits whole on white, a photo fills its frame ------------------------ */
.pt-list { padding-top: var(--sp-6); }
.pt-tiles--list .pt-tile__media { background: var(--surface); }
.pt-tile--logo .pt-tile__media img { object-fit: contain; padding: var(--sp-3); }

/* ---- A funder's visibility notice under "Pe scurt": the two logos side by side, then the sentence ---------------- */
.pt-notice { margin-top: var(--sp-4); padding: var(--sp-4); border-radius: var(--radius-control); background: var(--pt-tint); }
.pt-notice__logos { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin: 0 0 var(--sp-3); }
.pt-notice__logo { display: block; width: auto; height: 36px; max-width: 45%; object-fit: contain; }
.pt-notice__text { margin: 0; font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--ink); text-align: start; -webkit-hyphens: manual; hyphens: manual; }
