/* ==========================================================================
   Muditap360 — Ürün maketleri (.pv) — site + admin editörü paylaşır
   style.css ve admin ürün editörü tarafından birlikte yüklenir.
   ========================================================================== */

/* 10 — Ürün maketleri (CSS ile çizilen görseller) ----------------------- */
.pv { --pv-bg: linear-gradient(145deg, #F1EFFF, #E4E0FF); position: relative; aspect-ratio: 5 / 4; display: grid; place-items: center; background: var(--pv-bg); overflow: hidden; }
.pv::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 255, 255, .55); filter: blur(30px); }
.pv--google, .pv--stand, .pv--sticker { --pv-bg: linear-gradient(145deg, #EEF4FF, #DCE8FF); }
.pv--gold { --pv-bg: linear-gradient(145deg, #FFF7E2, #FBE7B5); }
.pv--wood { --pv-bg: linear-gradient(145deg, #F3F8EA, #E0EECB); }
.pv--instagram { --pv-bg: linear-gradient(145deg, #FFEFF6, #FFE0EA); }
.pv--corporate { --pv-bg: linear-gradient(145deg, #EDEFF7, #DADFEE); }
.pv--img { padding: 0; }
.pv--img::before { display: none; }
.pv--img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.pv-card {
    container-type: inline-size;
    position: relative; width: 72%; aspect-ratio: 1.586; border-radius: 5.5% / 8.7%;
    background: #16161F; color: #fff;
    box-shadow: 0 2px 0 rgba(255, 255, 255, .06) inset, 0 20px 36px -14px rgba(11, 11, 26, .55);
    transform: rotate(-7deg); transition: transform .5s var(--ease);
    overflow: hidden;
}
.product-card:hover .pv-card { transform: rotate(0) scale(1.04); }
.pv-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .16) 45%, transparent 60%); transform: translateX(-60%); transition: transform .9s var(--ease); pointer-events: none; }
.product-card:hover .pv-card::after, .hero-card .pv-card::after { transform: translateX(60%); }
.hero-card .pv-card::after { animation: shine 4.5s ease-in-out infinite; }
@keyframes shine { 0%, 60% { transform: translateX(-70%); } 100% { transform: translateX(70%); } }

.pv-mark { position: absolute; left: 8cqi; top: 9cqi; font-family: var(--f-display); font-weight: 800; font-size: 9cqi; letter-spacing: -.04em; }
.pv-mark b { color: var(--lime); font-size: .55em; vertical-align: super; margin-left: 1px; }
.pv-nfc { position: absolute; right: 8cqi; top: 8cqi; font-size: 10cqi; opacity: .9; }
.pv-person { position: absolute; left: 8cqi; bottom: 8cqi; display: flex; flex-direction: column; line-height: 1.2; }
.pv-person strong { font-size: 6.2cqi; font-weight: 700; }
.pv-person small { font-size: 4.2cqi; opacity: .7; }

/* Deri seçenekleri */
.pv--black .pv-card { background: radial-gradient(circle at 80% 0%, #2B2B3D, transparent 50%), #111118; }
.pv--gold .pv-card { background: linear-gradient(125deg, #9C7422 0%, #F6DE8D 28%, #C9982C 52%, #FFF0B3 74%, #A77C24 100%); color: #3A2906; }
.pv--gold .pv-mark b { color: #3A2906; }
.pv--wood .pv-card { background: repeating-linear-gradient(92deg, rgba(0, 0, 0, .04) 0 2px, transparent 2px 9px), repeating-linear-gradient(90deg, #D9B98A 0 18%, #CFAE7C 18% 22%, #DDBF92 22% 55%, #C9A571 55% 58%, #D7B685 58% 100%); color: #3D2A12; }
.pv--wood .pv-mark b { color: #2E6B1F; }
.pv--white .pv-card, .pv--google .pv-card { background: #fff; color: var(--ink); box-shadow: 0 0 0 1px rgba(11, 11, 26, .06), 0 20px 36px -14px rgba(30, 60, 140, .4); }
.pv--instagram .pv-card { background: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 78%, #4F5BD5 100%); }
.pv--corporate .pv-card { background: linear-gradient(135deg, #1E2A5A, #0E1533); }

/* Google yorum kartı */
.pv-g { position: absolute; left: 8cqi; top: 9cqi; display: flex; align-items: center; gap: 3cqi; }
.pv-g .g-logo { width: 13cqi; height: 13cqi; }
.pv-g em { font-style: normal; font-family: var(--f-display); font-weight: 700; font-size: 6.4cqi; line-height: 1.1; max-width: 30cqi; }
.pv-stars { position: absolute; left: 8cqi; bottom: 10cqi; display: flex; gap: 1cqi; color: var(--gold); font-size: 7cqi; }
.pv-qr { position: absolute; right: 7cqi; bottom: 8cqi; width: 26cqi; color: var(--ink); background: #fff; padding: 1.5cqi; border-radius: 2cqi; }
.pv--google .pv-nfc, .pv--white .pv-nfc { color: #4285F4; }

/* Instagram kartı */
.pv-brand { position: absolute; left: 8cqi; top: 8cqi; font-size: 15cqi; }
.pv-handle { position: absolute; left: 8cqi; bottom: 20cqi; font-family: var(--f-display); font-weight: 700; font-size: 8cqi; }
.pv-follow { position: absolute; left: 8cqi; bottom: 8cqi; display: inline-flex; align-items: center; gap: 1.5cqi; font-size: 5cqi; font-weight: 700; background: rgba(255, 255, 255, .22); padding: 1.6cqi 3.5cqi; border-radius: 99px; backdrop-filter: blur(4px); }

/* Akrilik stant */
.pv-stand { container-type: inline-size; position: relative; width: 46%; transform: rotate(-4deg); transition: transform .5s var(--ease); filter: drop-shadow(0 24px 24px rgba(30, 60, 140, .35)); }
.product-card:hover .pv-stand { transform: rotate(0) scale(1.04); }
.pv-stand-plate { aspect-ratio: 3 / 4; border-radius: 7% / 5.25%; background: linear-gradient(160deg, rgba(255, 255, 255, .98), rgba(245, 248, 255, .92)); border: 1.5cqi solid rgba(255, 255, 255, .8); display: flex; flex-direction: column; align-items: center; text-align: center; padding: 10cqi 8cqi; gap: 4cqi; box-shadow: inset 0 0 0 1px rgba(11, 11, 26, .06); }
.pv-stand-plate .g-logo { width: 20cqi; }
.pv-stand-plate strong { font-family: var(--f-display); color: var(--ink); font-size: 8.5cqi; line-height: 1.1; }
.pv-stand-plate .pv-stars { position: static; font-size: 9cqi; }
.pv-stand-plate .pv-qr { position: static; width: 44cqi; padding: 0; }
.pv-stand-plate small { font-size: 5.6cqi; font-weight: 700; color: var(--muted); display: flex; align-items: center; gap: 1.5cqi; }
.pv-stand-base { height: 9cqi; margin: -2cqi -6cqi 0; border-radius: 2cqi 2cqi 5cqi 5cqi; background: linear-gradient(180deg, #D9E3F7, #B8C6E6); }

/* Sticker seti */
.pv-stickers { position: relative; width: 70%; aspect-ratio: 1.4; }
.pv-sticker { position: absolute; display: grid; place-items: center; background: #fff; border-radius: 50%; box-shadow: 0 16px 30px -12px rgba(30, 60, 140, .45); transition: transform .5s var(--ease); }
.pv-sticker.s1 { width: 54%; aspect-ratio: 1; left: 0; top: 4%; transform: rotate(-10deg); }
.pv-sticker.s1 .g-logo { width: 46%; }
.pv-sticker.s1 i { position: absolute; bottom: 14%; color: var(--gold); font-size: 20px; }
.pv-sticker.s2 { width: 42%; aspect-ratio: 1; right: 0; top: 0; border-radius: 18%; padding: 7%; transform: rotate(8deg); }
.pv-sticker.s2 .qr { color: var(--ink); }
.pv-sticker.s3 { width: 34%; aspect-ratio: 1; right: 12%; bottom: 0; background: var(--ink); color: var(--lime); font-size: 30px; transform: rotate(4deg); }
.product-card:hover .pv-sticker.s1 { transform: rotate(0) translateY(-4px); }
.product-card:hover .pv-sticker.s2 { transform: rotate(0) translateY(4px); }

/* Kurumsal deste */
.pv-deck { position: relative; width: 70%; aspect-ratio: 1.586; }
.pv-deck .pv-card { position: absolute; inset: 0; width: 100%; }
.pv-deck .pv-card:nth-child(1) { transform: rotate(-14deg) translate(-8%, 6%); opacity: .7; }
.pv-deck .pv-card:nth-child(2) { transform: rotate(-6deg) translate(-3%, 2%); opacity: .85; }
.pv-deck .pv-card:nth-child(3) { transform: rotate(3deg); }
.product-card:hover .pv-deck .pv-card:nth-child(1) { transform: rotate(-18deg) translate(-14%, 8%); }
.product-card:hover .pv-deck .pv-card:nth-child(3) { transform: rotate(6deg) translate(6%, -4%); }
.pv-count { position: absolute; right: -8%; bottom: -12%; z-index: 2; background: var(--lime); color: var(--ink); font-family: var(--f-display); font-weight: 800; font-size: 18px; padding: 6px 12px; border-radius: 12px; transform: rotate(6deg); box-shadow: var(--shadow); }

/* Maketlerin arka plansız kullanımı (hero, kategori, CTA) */
.hero-card .pv, .cat-art .pv, .cta-deco .pv, .review-card-float .pv { background: none; aspect-ratio: auto; overflow: visible; display: block; }
.hero-card .pv::before, .cat-art .pv::before, .cta-deco .pv::before, .review-card-float .pv::before { display: none; }
.hero-card .pv-card, .cat-art .pv-card, .cta-deco .pv-card, .review-card-float .pv-card { width: 100%; transform: none; }
.cat-art--google .pv-stand { width: 70%; margin-inline: auto; }

/* Ek ürün dokuları ------------------------------------------------------- */
.pv--clear { --pv-bg: linear-gradient(145deg, #EEF3FA, #DCE5F2); }
.pv--clear .pv-card { background: linear-gradient(135deg, rgba(255, 255, 255, .75), rgba(210, 222, 240, .55)); color: #1B2350; backdrop-filter: blur(6px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8), 0 20px 36px -14px rgba(30, 60, 140, .35); }
.pv--clear .pv-mark b { color: var(--primary); }
.pv--carbon { --pv-bg: linear-gradient(145deg, #ECECF1, #D6D6DE); }
.pv--carbon .pv-card { background: radial-gradient(circle at 80% 0%, rgba(255, 255, 255, .14), transparent 50%), repeating-linear-gradient(45deg, #26262B 0 3px, #141417 3px 6px); }
.pv--navy { --pv-bg: linear-gradient(145deg, #EAEDFA, #D5DBF2); }
.pv--navy .pv-card { background: radial-gradient(circle at 90% 0%, #33408A, transparent 55%), #161D45; }
.pv--navy .pv-mark b { color: #C9D3FF; }
.pv--silver { --pv-bg: linear-gradient(145deg, #F1F3F6, #DDE1E7); }
.pv--silver .pv-card { background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .12) 0 1px, transparent 1px 3px), linear-gradient(125deg, #8E949E 0%, #F1F3F6 32%, #A6ACB5 55%, #E7EAEE 78%, #8A9099 100%); color: #1D2127; }
.pv--silver .pv-mark b { color: #1D2127; }
.pv--blackmetal { --pv-bg: linear-gradient(145deg, #EDEDF2, #D8D8E0); }
.pv--blackmetal .pv-card { background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 3px), linear-gradient(125deg, #0B0B0E, #34343C 45%, #121216); }
.pv--blackmetal .pv-mark b { color: #C9CCD2; }
.pv--google.pv--dark .pv-card { background: radial-gradient(circle at 85% 0%, #2B2B3D, transparent 55%), #111118; color: #fff; box-shadow: 0 20px 36px -14px rgba(11, 11, 26, .55); }
.pv--tiktok { --pv-bg: linear-gradient(145deg, #EAFBFB, #FFE6EE); }
.pv--tiktok .pv-card { background: radial-gradient(circle at 15% 0%, rgba(37, 244, 238, .35), transparent 45%), radial-gradient(circle at 100% 100%, rgba(254, 44, 85, .4), transparent 45%), #0E0E12; }
.pv--tiktok .pv-brand { color: #fff; text-shadow: -.6cqi .4cqi 0 #25F4EE, .6cqi -.4cqi 0 #FE2C55; }
.pv--whatsapp { --pv-bg: linear-gradient(145deg, #E8FBF0, #D2F4E1); }
.pv--whatsapp .pv-card { background: linear-gradient(160deg, #fff, #F2FBF6); color: #0B3B24; box-shadow: 0 0 0 1px rgba(11, 11, 26, .06), 0 20px 36px -14px rgba(18, 140, 80, .4); }
.pv--whatsapp .pv-brand { color: #25D366; }
.pv--whatsapp .pv-follow { background: #25D366; color: #fff; }

/* ==========================================================================
   Tabela ürünleri — T tipi stant (.pv-lstand) ve kare plaka (.pv-plate)
   Renk paleti .sk--{skin} ile, içerik (Google / sosyal medya / özel logo)
   .pv-sign içinde çizilir. Google yorum kartı da (.pv-sk.pv--google) aynı paleti kullanır.
   ========================================================================== */
.pv-sk { --sg-bg: #fff; --sg-ink: var(--ink); --sg-muted: var(--muted); --sg-edge: #D5DCEB; --sg-foot: linear-gradient(180deg, #E4E9F4, #C5CFE3); }
.sk--black, .sk--dark { --sg-bg: radial-gradient(circle at 85% 0%, #2B2B3D, transparent 55%), #111118; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .7); --sg-edge: #2A2A33; --sg-foot: linear-gradient(180deg, #34343E, #15151B); }
.sk--white, .sk--google { --sg-bg: linear-gradient(160deg, #fff, #F4F7FD); --sg-ink: var(--ink); --sg-muted: var(--muted); --sg-edge: #DCE3F0; }
.sk--navy, .sk--corporate { --sg-bg: radial-gradient(circle at 90% 0%, #33408A, transparent 55%), #161D45; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .72); --sg-edge: #0E1433; --sg-foot: linear-gradient(180deg, #2A3572, #10163A); }
.sk--gold { --sg-bg: linear-gradient(125deg, #9C7422 0%, #F6DE8D 28%, #C9982C 52%, #FFF0B3 74%, #A77C24 100%); --sg-ink: #3A2906; --sg-muted: rgba(58, 41, 6, .75); --sg-edge: #A77C24; --sg-foot: linear-gradient(180deg, #E9CB78, #A77C24); }
.sk--silver { --sg-bg: linear-gradient(125deg, #8E949E 0%, #F1F3F6 32%, #A6ACB5 55%, #E7EAEE 78%, #8A9099 100%); --sg-ink: #1D2127; --sg-muted: rgba(29, 33, 39, .72); --sg-edge: #8A9099; --sg-foot: linear-gradient(180deg, #E1E4E9, #8E949E); }
.sk--wood { --sg-bg: repeating-linear-gradient(92deg, rgba(0, 0, 0, .04) 0 2px, transparent 2px 9px), repeating-linear-gradient(90deg, #D9B98A 0 18%, #CFAE7C 18% 22%, #DDBF92 22% 55%, #C9A571 55% 58%, #D7B685 58% 100%); --sg-ink: #3D2A12; --sg-muted: rgba(61, 42, 18, .75); --sg-edge: #B8935E; --sg-foot: linear-gradient(180deg, #D7B685, #A9824E); }
.sk--clear { --sg-bg: linear-gradient(135deg, rgba(255, 255, 255, .8), rgba(210, 222, 240, .55)); --sg-ink: #1B2350; --sg-muted: rgba(27, 35, 80, .7); --sg-edge: rgba(255, 255, 255, .9); --sg-foot: linear-gradient(180deg, rgba(255, 255, 255, .85), rgba(190, 205, 232, .7)); }
.sk--carbon { --sg-bg: radial-gradient(circle at 80% 0%, rgba(255, 255, 255, .14), transparent 50%), repeating-linear-gradient(45deg, #26262B 0 3px, #141417 3px 6px); --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .7); --sg-edge: #0E0E11; --sg-foot: linear-gradient(180deg, #2E2E34, #111114); }
.sk--blackmetal { --sg-bg: repeating-linear-gradient(90deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 3px), linear-gradient(125deg, #0B0B0E, #34343C 45%, #121216); --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .7); --sg-edge: #0B0B0E; --sg-foot: linear-gradient(180deg, #34343C, #0B0B0E); }
.sk--red { --sg-bg: radial-gradient(circle at 85% 0%, #FF6B5E, transparent 55%), #D32F2F; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .8); --sg-edge: #A61F1F; --sg-foot: linear-gradient(180deg, #E0463F, #A61F1F); }
.sk--emerald { --sg-bg: radial-gradient(circle at 85% 0%, #34C38F, transparent 55%), #0B7A55; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .8); --sg-edge: #075C40; --sg-foot: linear-gradient(180deg, #169568, #075C40); }
.sk--pink { --sg-bg: radial-gradient(circle at 85% 0%, #FFC2DA, transparent 55%), #F06BA2; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .85); --sg-edge: #D14C85; --sg-foot: linear-gradient(180deg, #F48AB6, #D14C85); }
.sk--purple { --sg-bg: radial-gradient(circle at 85% 0%, #9D86FF, transparent 55%), #5B3FE0; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .8); --sg-edge: #4128B5; --sg-foot: linear-gradient(180deg, #7358F0, #4128B5); }
.sk--yellow { --sg-bg: radial-gradient(circle at 85% 0%, #FFE58A, transparent 55%), #FFC62E; --sg-ink: #2A2105; --sg-muted: rgba(42, 33, 5, .75); --sg-edge: #E0A800; --sg-foot: linear-gradient(180deg, #FFD65C, #E0A800); }
.sk--instagram { --sg-bg: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 78%, #4F5BD5 100%); --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .85); --sg-edge: #962FBF; --sg-foot: linear-gradient(180deg, #D62976, #7A2A9E); }
.sk--tiktok { --sg-bg: radial-gradient(circle at 15% 0%, rgba(37, 244, 238, .35), transparent 45%), radial-gradient(circle at 100% 100%, rgba(254, 44, 85, .4), transparent 45%), #0E0E12; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .72); --sg-edge: #0E0E12; --sg-foot: linear-gradient(180deg, #2A2A30, #0E0E12); }
.sk--whatsapp { --sg-bg: radial-gradient(circle at 85% 0%, #5BE58F, transparent 55%), #1DAA54; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .85); --sg-edge: #128C45; --sg-foot: linear-gradient(180deg, #25C262, #128C45); }

/* Sahne arka planları (yeni renkler) */
.pv--red { --pv-bg: linear-gradient(145deg, #FFF0EE, #FFDCD8); }
.pv--emerald { --pv-bg: linear-gradient(145deg, #E9FAF2, #D0F0E1); }
.pv--pink { --pv-bg: linear-gradient(145deg, #FFF0F6, #FFDDEB); }
.pv--purple { --pv-bg: linear-gradient(145deg, #F1EEFF, #E1DAFF); }
.pv--yellow { --pv-bg: linear-gradient(145deg, #FFF9E6, #FFEFC0); }

/* Google yorum kartı — renk paletinden */
.pv-sk.pv--google .pv-card { background: var(--sg-bg); color: var(--sg-ink); }
.pv-sk.pv--google:not(.sk--white):not(.sk--google):not(.sk--clear) .pv-nfc { color: var(--sg-ink); }

/* Ortak tabela yüzü */
.pv-sign { position: relative; overflow: hidden; background: var(--sg-bg); color: var(--sg-ink); border: 1.2cqi solid var(--sg-edge); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.pv-sign::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 35%, rgba(255, 255, 255, .22) 48%, transparent 62%); pointer-events: none; }
.pv-sign-logo { display: grid; place-items: center; flex: none; width: 22cqi; aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 1cqi 3cqi rgba(11, 11, 26, .18); font-size: 13cqi; line-height: 1; }
.pv-sign-logo .g-logo { width: 62%; }
.pv-sign-logo--custom { background: transparent; box-shadow: none; border: .8cqi dashed currentColor; color: var(--sg-ink); font-family: var(--f-display); font-weight: 800; font-size: 4.6cqi; letter-spacing: .06em; }
.pv-sign-title { font-family: var(--f-display); font-weight: 800; font-size: 7.4cqi; line-height: 1.08; max-width: 90%; }
.pv-sign-sub { font-size: 5cqi; font-weight: 700; color: var(--sg-muted); }
.pv-sign .pv-stars { position: static; font-size: 7cqi; }
.pv-sign .pv-qr { position: static; flex: none; width: 38cqi; padding: 1.6cqi; border-radius: 2cqi; }
.pv-sign-tap { display: flex; align-items: center; gap: 1.4cqi; font-size: 4.6cqi; font-weight: 700; color: var(--sg-muted); }
.pv-sign-tap i { font-size: 6cqi; }
.pv-b--instagram .pv-sign-logo i { color: #D62976; }
.pv-b--tiktok .pv-sign-logo i { color: #111; text-shadow: -.5cqi .35cqi 0 #25F4EE, .5cqi -.35cqi 0 #FE2C55; }
.pv-b--whatsapp .pv-sign-logo i { color: #25D366; }
.pv-b--facebook .pv-sign-logo i { color: #1877F2; }
.pv-b--youtube .pv-sign-logo i { color: #FF0000; }

/* T tipi pleksi stant: 3B dik panel, önden ve arkadan eşit taşan pleksi taban bloğuna oturur (yandan ters T) */
.pv-lstand { width: 36%; margin-bottom: 18%; perspective: 900px; transform: none; filter: none; }
.product-card:hover .pv-lstand { transform: none; }
.pv-l3d { position: relative; transform-style: preserve-3d; transform: rotateY(-24deg) rotateX(14deg); transition: transform .6s var(--ease); }
.product-card:hover .pv-l3d { transform: rotateY(-12deg) rotateX(2deg) translateY(-2%); }
.pv-lstand .pv-sign {
    aspect-ratio: 2 / 3; border-radius: 3.2cqi; gap: 3cqi; padding: 9cqi 7cqi 8cqi;
    /* Baskı alanı + etrafında şeffaf pleksi pay */
    border: 2.6cqi solid rgba(225, 240, 250, .55); background-clip: padding-box;
    box-shadow: inset 0 0 0 .4cqi rgba(255, 255, 255, .35), 0 0 0 .4cqi rgba(160, 200, 225, .7);
}
.pv-lstand .pv-sign::after { background: linear-gradient(115deg, rgba(255, 255, 255, .42) 0 12%, transparent 12% 58%, rgba(255, 255, 255, .16) 58% 66%, transparent 66%); }
/* Pleksi kalınlığı: sağ kenar */
.pv-l3d::before { content: ""; position: absolute; top: .6%; bottom: 0; right: 0; width: 3cqi; transform-origin: right center; transform: rotateY(-90deg); background: linear-gradient(180deg, rgba(210, 236, 248, .95), rgba(150, 196, 220, .85)); border-radius: 0 1cqi 1cqi 0; }
/* L taban: panelin alt kenarından arkaya yatan pleksi */
/* Taban bloğu: panel genişliğinden %9 taşar, 34cqi derin, 8cqi yüksek — üç görünen yüzü ayrı çizilir */
.pv-lstand-foot { position: absolute; inset: 0; transform-style: preserve-3d; pointer-events: none; }
.pv-lstand-foot i { position: absolute; display: block; }
.pv-lstand-foot .tb-top { left: -9%; right: -9%; top: calc(100% - 17cqi); height: 34cqi; transform: rotateX(90deg); border-radius: 1.4cqi; background: linear-gradient(0deg, rgba(236, 246, 252, .96), rgba(200, 224, 240, .92)); box-shadow: inset 0 0 0 .5cqi rgba(255, 255, 255, .75); }
.pv-lstand-foot .tb-top::after { content: ""; position: absolute; left: 7%; right: 7%; top: calc(50% - .9cqi); height: 1.8cqi; border-radius: 1cqi; background: rgba(90, 120, 150, .35); } /* panel yuvası */
.pv-lstand-foot .tb-front { left: -9%; right: -9%; top: 100%; height: 8cqi; transform: translateZ(17cqi); border-radius: 0 0 1.2cqi 1.2cqi; background: linear-gradient(180deg, rgba(220, 238, 250, .98), rgba(168, 202, 226, .96)); box-shadow: inset 0 .5cqi 0 rgba(255, 255, 255, .8), inset 0 -.6cqi 0 rgba(120, 160, 190, .35); }
.pv-lstand-foot .tb-side { left: calc(109% - 17cqi); width: 34cqi; top: 100%; height: 8cqi; transform: rotateY(90deg); border-radius: 0 0 1.2cqi 1.2cqi; background: linear-gradient(180deg, rgba(190, 218, 238, .98), rgba(140, 178, 206, .96)); }
/* Zemin gölgesi */
.pv-lstand::after { content: ""; position: absolute; left: -14%; right: -18%; bottom: -12%; height: 16%; border-radius: 50%; background: radial-gradient(rgba(20, 30, 60, .32), transparent 70%); filter: blur(6px); z-index: -1; }

/* Kare kart — 10 × 10 cm, ince pleksi kart */
.pv-plate { width: 52%; transform: rotate(-6deg); filter: drop-shadow(0 26px 30px rgba(20, 30, 60, .28)); }
.product-card:hover .pv-plate { transform: rotate(0) scale(1.04); }
.pv-plate .pv-sign {
    aspect-ratio: 1; border-radius: 6.5cqi; padding: 8cqi; border: 0;
    display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr auto; column-gap: 5cqi; row-gap: 2.6cqi;
    grid-template-areas: "logo ." "title title" "sub qr" "tap qr";
    align-items: end; justify-items: start; text-align: left;
    box-shadow: inset 0 0 0 .5cqi rgba(255, 255, 255, .22), 0 1.2cqi 0 -.2cqi var(--sg-edge);
}
.pv-plate .pv-sign-logo { grid-area: logo; width: 17cqi; font-size: 10cqi; align-self: start; }
.pv-plate .pv-sign-logo--custom { font-size: 3.6cqi; } /* "LOGO" yer tutucusu daireden taşmasın */
.pv-plate .pv-sign-title { grid-area: title; font-size: 8.4cqi; max-width: 100%; align-self: start; }
.pv-plate .pv-sign-sub, .pv-plate .pv-stars { grid-area: sub; }
.pv-plate .pv-sign-sub { font-size: 5cqi; }
.pv-plate .pv-sign .pv-stars { font-size: 6cqi; }
.pv-plate .pv-sign .pv-qr { grid-area: qr; width: 34cqi; align-self: end; }
.pv-plate .pv-sign-tap { grid-area: tap; font-size: 4.4cqi; }
.pv-plate .pv-sign::after { background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .2) 44%, transparent 58%); }
.cat-art--google .pv-lstand, .cat-art--google .pv-plate { width: 60%; margin-inline: auto; }
.sk--yellow .pv-stars, .sk--gold .pv-stars, .sk--wood .pv-stars { color: var(--sg-ink); }

.sk--blue { --sg-bg: radial-gradient(circle at 85% 0%, #5AA2FF, transparent 55%), #1877F2; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .82); --sg-edge: #0F5BC2; --sg-foot: linear-gradient(180deg, #3A8CF7, #0F5BC2); }
.pv--blue { --pv-bg: linear-gradient(145deg, #EDF4FF, #D8E7FF); }
.pv-b--tripadvisor .pv-sign-logo i { color: #00AF87; }
.product-card .pv-lstand { width: 46%; }
.product-card .pv-plate { width: 56%; }

/* ==========================================================================
   Google yorum kartı modelleri — dikey, dikey renk bantlı, büyük QR, minimal
   ========================================================================== */
.pv-card .pv-g-title { font-family: var(--f-display); font-weight: 700; }
/* Dikey: 54 × 85,6 mm */
.pv-card--v { width: 40%; aspect-ratio: 54 / 85.6; border-radius: 8.7% / 5.5%; transform: rotate(-5deg); }
/* İç sarmalayıcı: cqi birimleri kartın genişliğine göre çözülsün */
.pv-gin { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.pv-card--v .pv-gin { gap: 4.5cqi; padding: 12cqi 10cqi 10cqi; }
.pv-card--m .pv-gin { gap: 2.4cqi; }
.pv-card--v .pv-gv-logo { display: grid; place-items: center; width: 30cqi; aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 1.5cqi 4cqi rgba(11, 11, 26, .14); }
.pv-card--v .pv-gv-logo .g-logo { width: 62%; height: 62%; }
.pv-card--v .pv-g-title { font-size: 9.6cqi; line-height: 1.08; }
.pv-card--v .pv-stars { position: static; font-size: 9.4cqi; gap: 1.2cqi; }
.pv-card--v .pv-qr { position: static; width: 58cqi; padding: 2.4cqi; border-radius: 3cqi; margin-top: 2cqi; }
.pv-gtap { display: inline-flex; align-items: center; gap: 1.4cqi; font-size: 6cqi; font-weight: 700; opacity: .7; }
.pv-card--v .pv-gtap { font-size: 6.4cqi; }
.pv-gband { position: absolute; left: 0; right: 0; top: 0; height: 6cqi; background: linear-gradient(90deg, #4285F4 0 25%, #EA4335 25% 50%, #FBBC05 50% 75%, #34A853 75%); }
.pv-gm--dikey-bant .pv-card--v .pv-gin { padding-top: 16cqi; }
.product-card:hover .pv-card--v { transform: rotate(0) scale(1.04); }
/* Büyük QR */
.pv-card--q .pv-qr { position: absolute; left: 7cqi; top: 50%; transform: translateY(-50%); width: 40cqi; padding: 2cqi; border-radius: 3cqi; right: auto; bottom: auto; box-shadow: 0 0 0 .4cqi rgba(11, 11, 26, .08); }
.pv-gq { position: absolute; left: 53cqi; right: 7cqi; top: 13cqi; bottom: 11cqi; display: flex; flex-direction: column; align-items: flex-start; gap: 2.4cqi; }
.pv-gq .g-logo { width: 11cqi; height: 11cqi; }
.pv-gq .pv-g-title { font-size: 6.2cqi; line-height: 1.1; }
.pv-gq .pv-stars { position: static; font-size: 5.6cqi; margin-top: auto; }
.pv-gq .pv-gtap { font-size: 3.8cqi; }
.pv-card--q .pv-nfc { top: 7cqi; right: 7cqi; font-size: 7cqi; }
/* Minimal */
.pv-card--m .pv-gin > .g-logo { width: 19cqi; height: 19cqi; }
.pv-card--m .pv-g-title { font-size: 6.8cqi; letter-spacing: -.01em; }
.pv-card--m .pv-stars { position: static; font-size: 6.6cqi; }
/* Liste kartı ve ürün fotoğrafında dikey kart ölçüsü */
.product-card .pv-card--v { width: 34%; }
.pdp-slide .pv-card--v { width: 30%; }
.hero-card .pv-card--v, .cat-art .pv-card--v { width: 50%; margin-inline: auto; }
.pv-card--v .pdp-live-logo { top: auto; bottom: 5cqi; right: 50%; transform: translateX(50%); width: 20cqi; height: 20cqi; }

/* Yelp — kırmızı kaplama, stant/kare kart ve yorum kartı */
.sk--yelp { --sg-bg: radial-gradient(circle at 85% 0%, #FF5A5A, transparent 55%), #D32323; --sg-ink: #fff; --sg-muted: rgba(255, 255, 255, .85); --sg-edge: #A81B1B; --sg-foot: linear-gradient(180deg, #E23B3B, #A81B1B); }
.pv--yelp { --pv-bg: linear-gradient(145deg, #FFF0F0, #FFDADA); }
.pv--yelp .pv-card { background: radial-gradient(circle at 85% 0%, #FF5A5A, transparent 55%), #D32323; color: #fff; }
.pv-b--yelp .pv-sign-logo i { color: #D32323; }
.pv-b--yelp .pv-stars { color: #FFB6B6; }
.sk--white.pv-b--yelp .pv-stars, .sk--clear.pv-b--yelp .pv-stars { color: #D32323; }
.pv-card--yelp .pv-brand { color: #D32323; }
.pv--yelp .pv-card--yelp .pv-brand { color: #fff; }
.pv-ystars { position: absolute; left: 8cqi; bottom: 21cqi; top: auto; font-size: 6cqi; color: #D32323; }
.pv--yelp .pv-ystars { color: #FFD1D1; }
.pv-card--yelp .pv-handle { bottom: 30cqi; }
.pv-card--yelp .pv-follow { background: #D32323; color: #fff; }
.pv--yelp .pv-card--yelp .pv-follow { background: rgba(255, 255, 255, .22); }

/* ==========================================================================
   Google yorum kartı — ek tasarımlar: renk şeritli, iki tonlu, yorum balonu,
   dikey arama çubuklu, dikey iki tonlu
   ========================================================================== */
/* Renk şeritli */
.pv-gstripe { position: absolute; left: 0; top: 0; bottom: 0; width: 5cqi; background: linear-gradient(180deg, #4285F4 0 25%, #EA4335 25% 50%, #FBBC05 50% 75%, #34A853 75%); }
.pv-gs { position: absolute; left: 12cqi; right: 42cqi; top: 9cqi; bottom: 8cqi; display: flex; flex-direction: column; align-items: flex-start; gap: 2.4cqi; }
.pv-gs .g-logo { width: 12cqi; height: 12cqi; }
.pv-gs .pv-g-title { font-size: 6.4cqi; line-height: 1.1; }
.pv-gs .pv-stars { position: static; font-size: 6cqi; margin-top: auto; }
.pv-gs .pv-gtap { font-size: 3.6cqi; }
.pv-card--s .pv-qr { top: 50%; bottom: auto; transform: translateY(-50%); width: 31cqi; padding: 2cqi; border-radius: 3cqi; box-shadow: 0 0 0 .4cqi rgba(11, 11, 26, .08); }
.pv-card--s .pv-nfc { top: 5cqi; right: 7cqi; font-size: 6.4cqi; }
/* İki tonlu: kart beyaz, renk solda eğik panelde */
.pv-sk.pv--google .pv-card--t, .pv-sk.pv--google .pv-card--vt { background: #fff; color: #0B0B1A; box-shadow: 0 0 0 1px rgba(11, 11, 26, .06), 0 20px 36px -14px rgba(11, 11, 26, .45); }
.pv-gt-side { position: absolute; left: 0; top: 0; bottom: 0; width: 60cqi; padding: 8cqi 12cqi 8cqi 8cqi; background: var(--sg-bg); color: var(--sg-ink); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); display: flex; flex-direction: column; align-items: flex-start; gap: 3cqi; }
.pv-gt-side .pv-gv-logo, .pv-gvt-top .pv-gv-logo { display: grid; place-items: center; flex: none; aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 1.5cqi 4cqi rgba(11, 11, 26, .18); }
.pv-gt-side .pv-gv-logo { width: 14cqi; }
.pv-gt-side .pv-gv-logo .g-logo, .pv-gvt-top .pv-gv-logo .g-logo { width: 62%; height: 62%; }
.pv-gt-side .pv-g-title { font-size: 6.4cqi; line-height: 1.1; max-width: 36cqi; }
.pv-gt-side .pv-stars { position: static; font-size: 6cqi; margin-top: auto; }
.pv-card--t .pv-qr { right: 7cqi; top: 44%; bottom: auto; transform: translateY(-50%); width: 30cqi; padding: 1cqi; border-radius: 2cqi; }
.pv-card--t > .pv-gtap { position: absolute; right: 7cqi; bottom: 6.5cqi; width: 30cqi; justify-content: center; font-size: 3.3cqi; white-space: nowrap; }
/* Yorum balonu */
.pv-gbubble { position: absolute; left: 7cqi; top: 8cqi; width: 50cqi; padding: 4.4cqi 5cqi; border-radius: 5cqi; background: #fff; color: #0B0B1A; display: flex; flex-direction: column; gap: 2cqi; box-shadow: 0 0 0 .4cqi rgba(11, 11, 26, .08), 0 2.4cqi 6cqi -2cqi rgba(11, 11, 26, .35); }
.pv-gbubble::after { content: ""; position: absolute; left: 7cqi; top: calc(100% - .4cqi); border: 3.4cqi solid transparent; border-top-color: #fff; border-left-color: #fff; filter: drop-shadow(0 .5cqi .3cqi rgba(11, 11, 26, .1)); }
.pv-gbubble .pv-stars { position: static; font-size: 6.4cqi; color: #FBBC05; }
.pv-gbubble .pv-g-title { font-size: 5.8cqi; line-height: 1.12; }
.pv-gb-foot { position: absolute; left: 8cqi; bottom: 6.5cqi; display: flex; align-items: center; gap: 2.2cqi; }
.pv-gb-foot .g-logo { width: 8cqi; height: 8cqi; flex: none; padding: 1.2cqi; border-radius: 50%; background: #fff; }
.pv-gb-foot em { font-style: normal; font-weight: 700; font-size: 4.2cqi; }
.pv-card--b .pv-qr { top: 54%; bottom: auto; transform: translateY(-50%); width: 29cqi; padding: 2cqi; border-radius: 3cqi; box-shadow: 0 0 0 .4cqi rgba(11, 11, 26, .08); }
.pv-card--b .pv-nfc { top: 5cqi; right: 7cqi; font-size: 6.4cqi; }
/* Dikey — arama çubuklu */
.pv-gsearch { display: flex; align-items: center; gap: 3cqi; width: 100%; padding: 3.4cqi 5cqi; border-radius: 99px; background: #fff; color: #0B0B1A; box-shadow: 0 0 0 .5cqi rgba(11, 11, 26, .08), 0 2cqi 5cqi -1.5cqi rgba(11, 11, 26, .3); }
.pv-gsearch .g-logo { width: 11cqi; height: 11cqi; flex: none; }
.pv-gsearch em { flex: 1; font-style: normal; font-weight: 600; font-size: 7cqi; text-align: left; opacity: .75; white-space: nowrap; }
.pv-gsearch i { font-size: 8cqi; color: #4285F4; }
.pv-gm--dikey-arama .pv-card--v .pv-gin { gap: 5cqi; }
.pv-gm--dikey-arama .pv-card--v .pv-qr { width: 56cqi; margin-top: 1cqi; }
/* Dikey — iki tonlu */
.pv-gvt-top { position: absolute; left: 0; right: 0; top: 0; height: 41%; padding: 6cqi 9cqi 9cqi; background: var(--sg-bg); color: var(--sg-ink); border-radius: 0 0 50% 50% / 0 0 16% 16%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4cqi; }
.pv-gvt-top .pv-gv-logo { width: 26cqi; }
.pv-gvt-top .pv-g-title { font-size: 9.4cqi; line-height: 1.08; }
.pv-gvt-bot { position: absolute; left: 0; right: 0; top: 41%; bottom: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4cqi; }
.pv-card--vt .pv-gvt-bot .pv-stars { color: #FBBC05; }
.pv-card--vt .pv-qr { width: 52cqi; margin-top: 0; padding: 1cqi; }

/* IBAN ödeme — kart (renk paleti .sk--*), T stant ve kare kart */
.pv-sk.pv-b--iban .pv-card { background: var(--sg-bg); color: var(--sg-ink); }
.pv-ib-head { position: absolute; left: 8cqi; top: 8cqi; display: flex; align-items: center; gap: 2.4cqi; }
.pv-ib-head i { display: grid; place-items: center; width: 11cqi; height: 11cqi; border-radius: 3cqi; background: #fff; color: #0B7A55; font-size: 7cqi; box-shadow: 0 1cqi 3cqi rgba(11, 11, 26, .16); }
.pv-ib-head strong { font-family: var(--f-display); font-weight: 800; font-size: 6cqi; letter-spacing: -.02em; }
.pv-ib-no { position: absolute; left: 8cqi; top: 25cqi; font-family: "JetBrains Mono", ui-monospace, Consolas, monospace; font-weight: 700; font-size: 3.7cqi; letter-spacing: .04em; white-space: nowrap; opacity: .92; }
.pv-ib-name { position: absolute; left: 8cqi; top: 32.5cqi; font-size: 4cqi; font-weight: 600; opacity: .7; }
.pv-card--iban .pv-follow { background: #0B7A55; color: #fff; backdrop-filter: none; }
.sk--emerald .pv-card--iban .pv-follow { background: #fff; color: #0B7A55; }
.pv-card--iban .pv-qr { width: 23cqi; bottom: 7cqi; }
.pv-card--iban .pv-nfc { color: var(--sg-ink); }
.pv-b--iban .pv-sign-logo i { color: #0B7A55; }
/* QR menü — kart (renk paleti .sk--*), T stant ve kare kart; vurgu rengi sıcak turuncu */
.pv-sk.pv-b--menu .pv-card { background: var(--sg-bg); color: var(--sg-ink); }
.pv-mn-head { position: absolute; left: 8cqi; top: 8cqi; display: flex; align-items: center; gap: 2.6cqi; }
.pv-mn-head > i { display: grid; place-items: center; flex: none; width: 12cqi; height: 12cqi; border-radius: 3.4cqi; background: #fff; color: #E8590C; font-size: 7.4cqi; box-shadow: 0 1cqi 3cqi rgba(11, 11, 26, .16); }
.pv-mn-head span { display: flex; flex-direction: column; gap: .6cqi; }
.pv-mn-head strong { font-family: var(--f-display); font-weight: 800; font-size: 6.2cqi; line-height: 1; letter-spacing: -.02em; }
.pv-mn-head small { font-size: 3.6cqi; font-weight: 600; opacity: .72; white-space: nowrap; }
.pv-mn-table { position: absolute; left: 8cqi; top: 23cqi; display: inline-flex; align-items: baseline; gap: 1.4cqi; padding: 1cqi 2.8cqi; border-radius: 1.6cqi; border: .5cqi solid currentColor; font-size: 3.4cqi; font-weight: 800; letter-spacing: .14em; opacity: .9; }
.pv-mn-table b { font-family: var(--f-display); font-size: 5cqi; letter-spacing: 0; }
.pv-mn-lines { position: absolute; left: 8cqi; top: 32.5cqi; width: 40cqi; display: grid; gap: 1.8cqi; }
.pv-mn-lines i { display: flex; height: 1.3cqi; border-radius: 1cqi; background: linear-gradient(90deg, currentColor 0 46%, transparent 46% 52%, currentColor 52% 54%, transparent 54% 57%, currentColor 57% 59%, transparent 59% 62%, currentColor 62% 64%, transparent 64% 82%, currentColor 82%); opacity: .28; }
.pv-mn-lines i:nth-child(2) { width: 86%; }
.pv-mn-lines i:nth-child(3) { width: 93%; }
.pv-card--menu .pv-follow { background: #E8590C; color: #fff; backdrop-filter: none; font-size: 4.4cqi; }
.sk--red .pv-card--menu .pv-follow, .sk--yellow .pv-card--menu .pv-follow { background: #fff; color: #C2410C; }
.pv-card--menu .pv-qr { width: 26cqi; bottom: 8cqi; }
.pv-card--menu .pv-nfc { color: var(--sg-ink); font-size: 8cqi; }
.pv-b--menu .pv-sign-logo i { color: #E8590C; }
/* Tripadvisor: Font Awesome 6 bu marka ikonunu kaldırdı → baykuş logosu SVG maske ile (renk currentColor) */
.fa-tripadvisor::before { content: "" !important; display: inline-block; width: 1.5em; height: 1em; vertical-align: -.125em; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 40 26%27%3E%3Cg fill=%27none%27 stroke=%27%23000%27 stroke-width=%272.8%27%3E%3Ccircle cx=%2711%27 cy=%2715%27 r=%277.6%27/%3E%3Ccircle cx=%2729%27 cy=%2715%27 r=%277.6%27/%3E%3Cpath d=%27M2.5 8.2C9 2.6 31 2.6 37.5 8.2%27/%3E%3C/g%3E%3Ccircle cx=%2711%27 cy=%2715%27 r=%273.4%27/%3E%3Ccircle cx=%2729%27 cy=%2715%27 r=%273.4%27/%3E%3Cpath d=%27M17.2 21.2 20 25.4l2.8-4.2z%27/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 40 26%27%3E%3Cg fill=%27none%27 stroke=%27%23000%27 stroke-width=%272.8%27%3E%3Ccircle cx=%2711%27 cy=%2715%27 r=%277.6%27/%3E%3Ccircle cx=%2729%27 cy=%2715%27 r=%277.6%27/%3E%3Cpath d=%27M2.5 8.2C9 2.6 31 2.6 37.5 8.2%27/%3E%3C/g%3E%3Ccircle cx=%2711%27 cy=%2715%27 r=%273.4%27/%3E%3Ccircle cx=%2729%27 cy=%2715%27 r=%273.4%27/%3E%3Cpath d=%27M17.2 21.2 20 25.4l2.8-4.2z%27/%3E%3C/svg%3E") center / contain no-repeat; }
