.pv-footer{border-top:1px solid var(--color-border);background:radial-gradient(circle at top,rgba(214,183,96,0.12),transparent 60%),#0A0B0C;padding-top:var(--space-12);padding-bottom:var(--space-8);color:var(--gray-300);font-size:var(--font-size-sm)}
.pv-footer-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,2fr);gap:var(--space-10);align-items:flex-start}
.pv-footer-logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}
.pv-footer-mark{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,var(--color-primary),#28070b);border:1px solid rgba(198,154,69,0.8);font-family:var(--font-serif);font-size:1rem;color:var(--gray-100);box-shadow:0 12px 30px rgba(0,0,0,0.8)}
.pv-footer-text{display:flex;flex-direction:column;gap:2px}
.pv-footer-title{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-heading)}
.pv-footer-subtitle{font-size:0.8rem;color:var(--gray-300);max-width:18rem;line-height:1.4}
.pv-footer-lead{max-width:28rem;color:var(--gray-200)}
.pv-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
.pv-footer-heading{font-size:0.9rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--gray-200);margin-bottom:var(--space-3)}
.pv-footer-links{display:flex;flex-direction:column;gap:var(--space-2)}
.pv-footer-links a{color:var(--gray-400);font-size:0.85rem}
.pv-footer-links a:hover,.pv-footer-links a:focus-visible{color:var(--color-accent);outline:none}
.pv-footer-note{margin-top:var(--space-3);font-size:0.8rem;color:var(--gray-400);max-width:18rem}
.pv-footer-social{display:flex;gap:var(--space-2);margin-top:var(--space-4)}
.pv-footer-icon{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(224,192,109,0.6);color:var(--color-icon);background:rgba(10,10,12,0.85);font-size:0.95rem;transition:background-color var(--transition-base),transform var(--transition-fast),border-color var(--transition-base)}
.pv-footer-icon:hover,.pv-footer-icon:focus-visible{background:rgba(224,192,109,0.12);border-color:var(--color-accent);transform:translateY(-1px);outline:none}
.pv-footer-bottom{border-top:1px solid var(--color-border);margin-top:var(--space-8);padding-top:var(--space-4)}
.pv-footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.pv-footer-copy{font-size:0.78rem;color:var(--gray-500)}
@media (max-width:960px){
  .pv-footer-top{grid-template-columns:1fr;gap:var(--space-8)}
  .pv-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .pv-footer-grid{grid-template-columns:1fr}
  .pv-footer-bottom-inner{flex-direction:column;align-items:flex-start}
}
.pv-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:radial-gradient(circle at top,rgba(214,183,96,0.18),transparent 70%),linear-gradient(to top,rgba(6,6,8,0.98),rgba(10,10,12,0.98));border-top:1px solid rgba(224,192,109,0.45);color:var(--gray-200);transform:translateY(100%);opacity:0;visibility:hidden;transition:transform var(--transition-slow),opacity var(--transition-base),visibility var(--transition-base)}
.pv-cookie-banner.is-visible{transform:translateY(0);opacity:1;visibility:visible}
.pv-cookie-inner{max-width:var(--container-max);margin:0 auto;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}
.pv-cookie-text{max-width:40rem}
.pv-cookie-title{font-size:0.9rem;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:var(--space-2)}
.pv-cookie-desc{font-size:0.85rem;color:var(--gray-300);margin-bottom:var(--space-1)}
.pv-cookie-link{font-size:0.8rem;color:var(--color-accent);text-decoration:underline}
.pv-cookie-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.pv-cookie-actions .btn-sm{min-width:160px;justify-content:center}
@media (max-width:768px){
  .pv-cookie-inner{flex-direction:column;align-items:flex-start}
  .pv-cookie-actions{width:100%}
  .pv-cookie-actions .btn-sm{flex:1}
}
.pv-age-overlay{position:fixed;inset:0;background:radial-gradient(circle at top,rgba(214,183,96,0.3),rgba(0,0,0,0.92));backdrop-filter:blur(12px);z-index:80;opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-base)}
.pv-age-modal{position:fixed;inset:0;z-index:81;display:flex;align-items:center;justify-content:center;padding:var(--space-5);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow),visibility var(--transition-base)}
.pv-age-modal-inner{max-width:560px;width:100%;border-radius:var(--radius-xl);padding:var(--space-6);background:radial-gradient(circle at top,rgba(214,183,96,0.18),transparent 60%),linear-gradient(145deg,rgba(18,20,22,0.98),rgba(27,16,19,0.98));border:1px solid rgba(198,154,69,0.6);box-shadow:var(--shadow-elevated);text-align:center}
.pv-age-badge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;margin-bottom:var(--space-4);background:radial-gradient(circle,var(--color-danger),#2b0509);border:2px solid rgba(208,74,74,0.9);color:var(--gray-100);font-weight:600;letter-spacing:0.16em;text-transform:uppercase;font-size:0.8rem;box-shadow:0 12px 32px rgba(0,0,0,0.85)}
.pv-age-title{font-size:1.4rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:var(--space-3)}
.pv-age-desc{font-size:0.95rem;color:var(--gray-200);margin-bottom:var(--space-5)}
.pv-age-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-4)}
.pv-age-actions .btn-lg{min-width:190px;justify-content:center}
.pv-age-note{font-size:0.78rem;color:var(--gray-400)}
.pv-age-overlay.is-visible{opacity:1;visibility:visible}
.pv-age-modal.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
@media (max-width:640px){
  .pv-age-modal-inner{padding:var(--space-5)}
  .pv-age-desc{font-size:0.9rem}
}
@media (prefers-reduced-motion:reduce){
  .pv-cookie-banner,.pv-age-overlay,.pv-age-modal{transition:none}
}