.dv-footer{
  margin-top:var(--space-16);
  background:linear-gradient(180deg,rgba(231,222,209,0.3),#E7DED1);
  color:var(--gray-800);
}
.dv-footer-top{
  padding:var(--space-12) 0 var(--space-8);
  border-top:1px solid rgba(226,219,210,0.9);
}
.dv-footer-inner{
  display:flex;
  gap:var(--space-10);
  align-items:flex-start;
}
.dv-footer-brand{
  flex:1.1;
  display:flex;
  gap:var(--space-5);
  align-items:flex-start;
}
.dv-footer-logo{
  width:42px;
  height:42px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 10%,#FFF,rgba(212,204,194,0.9));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-serif);
  font-weight:600;
  font-size:0.95rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--color-accent);
  box-shadow:0 16px 34px rgba(0,0,0,0.18);
}
.dv-footer-title{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:1.1rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin-bottom:var(--space-2);
  color:var(--color-heading);
}
.dv-footer-text{
  font-size:var(--font-size-sm);
  color:var(--gray-700);
  max-width:420px;
}
.dv-footer-links{
  flex:1.4;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-8);
}
.dv-footer-heading{
  font-family:var(--font-serif);
  font-size:var(--font-size-sm);
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:var(--space-4);
  color:var(--gray-700);
}
.dv-footer-column ul li+li{
  margin-top:var(--space-2);
}
.dv-footer-column a{
  font-size:var(--font-size-sm);
  color:var(--gray-700);
}
.dv-footer-column a:hover{
  color:var(--color-primary);
}
.dv-footer-bottom{
  border-top:1px solid rgba(226,219,210,0.9);
  padding:var(--space-4) 0 var(--space-6);
}
.dv-footer-bottom-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--space-3);
  align-items:flex-start;
}
.dv-footer-bottom-text{
  font-size:var(--font-size-xs);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--gray-600);
}
.dv-footer-bottom-note{
  font-size:var(--font-size-xs);
  color:var(--gray-600);
  max-width:520px;
}
.dv-cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:60;
  padding:var(--space-4) var(--space-5);
  background:radial-gradient(circle at 0 0,#FFFFFF,#F5F1EA);
  box-shadow:0 -16px 40px rgba(0,0,0,0.18);
  border-top:1px solid rgba(226,219,210,0.95);
  transform:translateY(100%);
  opacity:0;
  transition:transform var(--transition-slow),opacity var(--transition-slow);
}
.dv-cookie-banner.dv-cookie-visible{
  transform:translateY(0);
  opacity:1;
}
.dv-cookie-inner{
  max-width:var(--max-width-content);
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-6);
}
.dv-cookie-text{
  flex:1.4;
}
.dv-cookie-title{
  font-family:var(--font-serif);
  font-size:1rem;
  margin-bottom:var(--space-2);
  color:var(--color-heading);
}
.dv-cookie-copy{
  font-size:var(--font-size-sm);
  color:var(--gray-700);
  margin-bottom:var(--space-2);
}
.dv-cookie-link{
  font-size:var(--font-size-sm);
}
.dv-cookie-actions{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3);
  align-items:center;
  justify-content:flex-end;
}
.dv-cookie-btn{
  font-size:0.78rem;
  padding-inline:1.4rem;
}
.dv-cookie-reject{
  border-color:rgba(47,49,51,0.18);
  color:var(--gray-800);
}
@media (max-width:1024px){
  .dv-footer-inner{
    flex-direction:column;
  }
}
@media (max-width:768px){
  .dv-footer-top{
    padding:var(--space-10) 0 var(--space-6);
  }
  .dv-footer-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-6);
  }
  .dv-cookie-banner{
    padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0));
  }
  .dv-cookie-inner{
    flex-direction:column;
    align-items:stretch;
  }
  .dv-cookie-actions{
    justify-content:flex-start;
  }
}
@media (max-width:600px){
  .dv-footer-links{
    grid-template-columns:1fr;
  }
}
@media (max-width:480px){
  .dv-cookie-btn{
    width:100%;
    justify-content:center;
  }
}
@media (prefers-reduced-motion:reduce){
  .dv-cookie-banner{
    transition:none;
  }
}