/*
 * /gtin product page v3 — ported from the dl-partner-hub ProductView design
 * (temp/dl-partner-hub/src/pages/ProductView.tsx, PV_CSS). Scoped under .pv-root.
 * Theme variables (--header-bg, --orange, --r …) are set at runtime by app.js
 * from the embedded design block.
 */
.pv-root{
  --blue:#002C6C;
  --blue-2:#0A3D7E;
  --blue-deep:#001A41;
  --orange:#F26334;
  --orange-2:#D94E22;
  --orange-soft:rgba(242,99,52,.55);
  --orange-glow:rgba(242,99,52,.45);
  --accent-tint:rgba(242,99,52,.14);
  --blue-soft:rgba(0,44,108,.10);
  --blue-glow:rgba(0,44,108,.28);
  --gray-dark:#454545;
  --gray-med:#888B8D;
  --gray-soft:#6F7276;
  --line:#E4E5E7;
  --gray-light:#F4F4F4;
  --white:#FFFFFF;
  --gs1-link:#00729A;
  --forest:#00B74F;
  --forest-deep:#00803A;
  --on-blue:#FFFFFF;
  --mut-blue:#AFC0DA;
  --surface:#FFFFFF;
  --header-bg:#002C6C;
  --header-bg-2:#0A3D7E;
  --header-bg-deep:#001A41;
  --header-border:rgba(255,255,255,.18);
  --r:16px;
  --shell-r:26px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --f:'Inter',system-ui,-apple-system,sans-serif;
  --f-display:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
  --f-mono:'Inter',system-ui,sans-serif;
  font-family:var(--f);
  background:radial-gradient(120% 80% at 50% -10%, #F8F9FB 0%, #E6E9ED 60%, #D6DBE1 100%);
  color:var(--gray-dark);
  min-height:100vh;
  display:flex;justify-content:center;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
html,body{margin:0;padding:0;}
.pv-root *{box-sizing:border-box;}
.pv-shell{width:100%;max-width:540px;position:relative;background:var(--surface);display:flex;flex-direction:column;min-height:100vh;border-radius:var(--shell-r);overflow:hidden;}
.pv-hero{border-radius:var(--shell-r) var(--shell-r) 0 0;}

/* focus */
.pv-root :focus{outline:none;}
.pv-root :focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px;}

.pv-share-inline{margin-top:16px;width:100%;height:46px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--blue);display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-family:var(--f);font-size:14px;font-weight:600;letter-spacing:.01em;box-shadow:0 8px 20px -14px rgba(0,26,65,.35);transition:transform .2s var(--ease),border-color .2s,color .2s,background .2s;}
.pv-share-inline:hover{border-color:var(--blue);transform:translateY(-1px);}
.pv-share-inline.is-copied{background:var(--forest);border-color:var(--forest);color:#fff;}

/* ─── HERO ─── */
.pv-hero{position:relative;color:var(--on-blue);background:radial-gradient(150% 100% at 50% -10%, var(--header-bg-2) 0%, var(--header-bg) 50%, var(--header-bg-deep) 100%);padding:24px 26px 44px;overflow:hidden;isolation:isolate;}
.pv-hero::before{content:"";position:absolute;inset:-1px;z-index:0;pointer-events:none;background:radial-gradient(60% 40% at 85% 0%, var(--accent-tint), transparent 60%),radial-gradient(50% 35% at 10% 110%, rgba(0,114,154,.25), transparent 65%);}
.pv-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:screen;}
.pv-hero>*{position:relative;z-index:1;}
.pv-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;}
.pv-wordmark{font-weight:800;font-size:16px;letter-spacing:.01em;color:var(--on-blue);display:flex;flex-direction:column;}
.pv-wordmark .wm-row{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:8px;background:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.45),inset 0 0 0 1px var(--blue-soft);}
.pv-wordmark img{height:18px;max-width:130px;object-fit:contain;display:block;}
.pv-wordmark .brand-fallback{font-weight:800;font-size:15px;color:#002C6C;letter-spacing:.02em;}
.pv-wordmark::after{content:"";display:block;width:34px;height:2px;background:linear-gradient(90deg,var(--orange),var(--orange-soft));border-radius:2px;margin-top:6px;}
.pv-gs1-side{display:flex;align-items:center;gap:10px;}
.pv-gs1-cap{font-family:var(--f-mono);font-size:9px;font-weight:700;color:var(--mut-blue);text-transform:uppercase;letter-spacing:.16em;line-height:1.15;text-align:right;}
.pv-gs1-chip{display:grid;place-items:center;height:30px;padding:0 12px;border-radius:8px;background:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.45),inset 0 0 0 1px var(--blue-soft);}
.pv-gs1-chip img{height:18px;object-fit:contain;display:block;}

.pv-stage{margin:10px 0 6px;display:flex;justify-content:center;background:#ffffff;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:18px;}
.pv-stage img{max-width:78%;max-height:200px;object-fit:contain;}
.pv-stage .pv-ph{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--mut-blue);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:28px 0;}

.pv-eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-soft);margin:18px 0 11px;}
.pv-name{font-family:var(--f-display);font-weight:700;font-size:clamp(28px,8vw,40px);line-height:1.02;letter-spacing:-.025em;color:var(--on-blue);max-width:14ch;margin:0;}
.pv-tagline{margin:13px 0 0;font-size:14px;color:var(--mut-blue);}

.pv-gtin-row{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--header-border);}
.pv-gtin{font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;color:color-mix(in srgb, var(--on-blue) 80%, transparent);}
.pv-gtin span{color:var(--orange);font-weight:600;}
.pv-gtin b{color:var(--on-blue);font-weight:500;}
.pv-copy{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-blue);background:transparent;border:1px solid var(--header-border);border-radius:999px;padding:6px 11px;cursor:pointer;transition:border-color .2s,color .2s,background .2s;}
.pv-copy:hover{border-color:var(--orange);color:var(--orange-soft);}
.pv-copy.is-copied{background:var(--forest);border-color:var(--forest);color:#fff;}

/* ─── SHEETS ─── */
.pv-sheet{position:relative;background:#fff;border-radius:28px 28px 0 0;margin-top:-22px;padding:30px 26px;display:flex;flex-direction:column;}
.pv-sheet.tail{flex:1;background:var(--gray-light);padding-bottom:60px;border-radius:0;margin-top:0;}

/* ─── CATEGORY GROUPS ─── */
.pv-group{margin-top:26px;}
.pv-group:first-child{margin-top:0;}
.pv-group-h{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.pv-group-h .gtxt{font-family:var(--f-display);font-weight:700;font-size:15px;color:var(--blue);letter-spacing:-.01em;}
.pv-group-h .gline{flex:1;height:1px;background:var(--line);}
.pv-group-h .gcount{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--gray-soft);letter-spacing:.1em;}

/* tiles */
.pv-tiles{display:flex;flex-direction:column;gap:10px;}
.pv-tile{text-align:left;font-family:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0;position:relative;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .35s var(--ease);width:100%;color:inherit;}
.pv-tile::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--orange);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease);}
.pv-tile:hover{transform:translateY(-2px);border-color:var(--blue-glow);box-shadow:0 14px 28px -18px var(--blue-glow);}
.pv-tile:hover::before,.pv-tile.open::before{transform:scaleY(1);}
.pv-tile.open{border-color:var(--blue-glow);box-shadow:0 14px 28px -18px var(--blue-glow);}

.pv-thead{display:flex;align-items:center;gap:14px;padding:15px 16px;background:transparent;border:0;width:100%;cursor:pointer;color:inherit;font:inherit;text-align:left;}
.pv-tico{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);transition:transform .3s var(--ease);}
.pv-tile:hover .pv-tico{transform:scale(1.06) rotate(-3deg);}
.pv-tico.orange{background:var(--accent-tint);color:var(--orange-2);}
.pv-tico.forest{background:rgba(0,183,79,.12);color:var(--forest-deep);}
.pv-tico.link{background:rgba(0,114,154,.12);color:var(--gs1-link);}
.pv-tico svg{width:20px;height:20px;}
.pv-tmeta{flex:1;min-width:0;}
.pv-tmeta h3{font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--blue);margin:0;}
.pv-tmeta p{margin:2px 0 0;font-size:11.5px;color:var(--gray-soft);}
.pv-chev{color:var(--gray-med);flex:none;transition:transform .3s var(--ease),color .3s;}
.pv-tile.open .pv-chev{transform:rotate(90deg);color:var(--orange);}

/* expand */
.pv-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease);}
.pv-tile.open .pv-collapse{grid-template-rows:1fr;}
.pv-collapse>div{overflow:hidden;min-height:0;}
.pv-tbody{padding:0 16px 16px;display:flex;flex-direction:column;gap:0;}
.pv-row{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid var(--line);font-size:13px;}
.pv-row .k{font-size:12px;font-weight:600;color:var(--gray-soft);}
.pv-row .v{font-size:13.5px;color:var(--gray-dark);white-space:pre-wrap;word-break:break-word;line-height:1.5;text-align:justify;hyphens:auto;}

/* digital link list inside tile */
/* The link list sits beside the tiles of its category, so it spans the same width as a tile
   (the old 16px inset belonged to the days when links lived inside a tile's body). */
.pv-dlist{display:flex;flex-direction:column;gap:10px;padding:0;}
.pv-collapse .pv-dlist{padding:0 16px 16px;}
.pv-dlink{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#FFFFFF;border:1px solid color-mix(in srgb, var(--blue) 22%, #E4E5E7);text-decoration:none;color:#1F2937;transition:background .2s,border-color .2s,transform .2s var(--ease),box-shadow .25s var(--ease);box-shadow:0 1px 2px rgba(15,23,42,.04);}
.pv-dlink:hover{background:#fff;border-color:var(--orange);transform:translateY(-1px);box-shadow:0 10px 22px -14px var(--orange-glow);}
.pv-dlink .lico{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb, var(--blue) 12%, #fff);color:var(--blue);display:grid;place-items:center;flex:none;border:1px solid color-mix(in srgb, var(--blue) 18%, transparent);}
.pv-dlink .lico svg{width:18px;height:18px;}
.pv-dlink .lico.forest{background:rgba(0,183,79,.12);color:var(--forest-deep);border-color:rgba(0,183,79,.25);}
.pv-dlink .lico.orange{background:color-mix(in srgb, var(--orange) 14%, #fff);color:var(--orange-2);border-color:color-mix(in srgb, var(--orange) 28%, transparent);}
.pv-dlink .lmeta{flex:1;min-width:0;}
.pv-dlink .lname{font-weight:700;font-size:13.5px;color:#0F172A;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em;}
.pv-dlink .lhost{font-family:var(--f-mono);font-size:10.5px;color:#64748B;margin-top:3px;letter-spacing:.02em;}
.pv-dlink .larrow{color:#94A3B8;transition:color .2s,transform .2s var(--ease);}
.pv-dlink:hover .larrow{color:var(--orange);transform:translate(2px,-2px);}

/* media gallery */
.pv-media{display:flex;gap:12px;overflow-x:auto;padding:0 0 4px;scrollbar-width:none;scroll-snap-type:x mandatory;}
.pv-media::-webkit-scrollbar{display:none;}
.pv-media-card{flex:none;width:140px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);scroll-snap-align:start;}
.pv-media-card img,.pv-media-card video{width:100%;height:110px;object-fit:contain;display:block;background:#fff;}
.pv-media-card .meta{padding:8px 10px;font-size:11px;color:var(--gray-soft);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}

/* footer trust */
.pv-specs{margin:0 0 8px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;}
.pv-spec dt{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-soft);}
.pv-spec dd{font-family:var(--f-mono);font-size:13px;color:var(--gray-dark);margin:4px 0 0;word-break:break-word;}

.pv-powered{margin-top:12px;display:flex;align-items:center;gap:12px;padding-top:12px;}
.pv-powered .pt{font-size:12px;color:var(--gray-soft);line-height:1.45;}
.pv-powered .pt b{color:var(--blue);font-weight:700;}
.pv-gs1-mark{display:grid;place-items:center;height:30px;padding:0 11px;border-radius:7px;background:#fff;box-shadow:0 4px 10px -6px rgba(0,26,65,.25),inset 0 0 0 1px var(--blue-soft);}
.pv-gs1-mark img{height:18px;object-fit:contain;display:block;}

.pv-fineprint{margin-top:14px;font-size:11.5px;display:flex;gap:14px;flex-wrap:wrap;}
.pv-fineprint a{background:transparent;border:0;padding:0;cursor:pointer;color:var(--gs1-link);text-decoration:underline;text-underline-offset:2px;font:inherit;}
.pv-fineprint a:hover{color:var(--blue);}

/* not-found card (kept from v2) */
.pv-err{margin:40px auto;background:#fff;border-radius:18px;box-shadow:0 24px 50px -28px rgba(0,26,65,.4);padding:28px;max-width:420px;text-align:center;}
.pv-err .err-ic{font-size:30px;color:var(--orange);}
.pv-err .err-ttl{font-weight:700;font-size:17px;color:var(--blue);margin-top:8px;}
.pv-err .err-msg{font-size:13.5px;color:var(--gray-soft);margin-top:8px;line-height:1.5;}

/* keyframes */
@keyframes pv-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.pv-rise{animation:pv-rise .6s var(--ease) both;}
.pv-rise.d1{animation-delay:.05s;}.pv-rise.d2{animation-delay:.15s;}.pv-rise.d3{animation-delay:.25s;}

@media (min-width:600px){
  .pv-root{padding:30px 0;align-items:flex-start;}
  .pv-shell{min-height:0;box-shadow:0 40px 90px -52px rgba(0,26,65,.6),0 0 0 1px rgba(0,26,65,.05);border-radius:var(--shell-r);}
}
/* Wider screens get a wider card, so long texts (Descriere, Ingrediente) are not squeezed into a
   phone-width column. */
@media (min-width:768px){
  .pv-shell{max-width:720px;}
  .pv-name{max-width:22ch;}
}
@media (min-width:1024px){
  .pv-shell{max-width:900px;}
}

@media (prefers-reduced-motion: reduce){
  .pv-root,.pv-root *,.pv-root *::before,.pv-root *::after{animation:none !important;transition:none !important;}
  .pv-collapse{transition:none !important;}
}

/* Digital Link: a link type with several sources — collapsible head + indented source rows. */
.pv-dgroup{display:flex;flex-direction:column}
.pv-dgroup-head{width:100%;text-align:left;background:none;border:0;cursor:pointer;font:inherit;color:inherit}
.pv-dgroup-chev{transition:transform .18s ease}
.pv-dgroup.open .pv-dgroup-chev{transform:rotate(180deg)}
.pv-dsub{display:none;margin-left:18px;padding-left:14px;border-left:2px dashed color-mix(in srgb, var(--blue) 24%, #E4E5E7)}
.pv-dgroup.open .pv-dsub{display:flex;flex-direction:column}
.pv-dsublink .lname{font-size:12.5px;font-weight:650}

/* Footer language flag; its title carries the render facts (source, cache/live, page key, dates). */
.pv-lang{display:inline-flex;align-items:center;margin-left:auto;opacity:.75;cursor:help}
.pv-lang img{display:block;width:18px;height:12px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.pv-lang:hover{opacity:1}

/* Separator with a label inside an expanded tile: the type's own external sources follow it. */
.pv-subhead{display:flex;align-items:center;gap:10px;margin:4px 16px 10px;color:var(--ink-3,#6B7280);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.pv-subhead::before,.pv-subhead::after{content:"";flex:1;height:1px;background:#E4E5E7;}
