/* templates/blocks/product-download/style.css */
/* v1.0.0 — Protected product variation downloads */

.pf-product-download{
  width:100%;
  box-sizing:border-box;
}

.pf-pd-heading{
  color:var(--pd-heading-color,#503622);
  font-size:var(--pd-heading-size,18px);
  font-weight:var(--pd-heading-weight,700);
  line-height:var(--pd-heading-line-height,1.35);
  margin:var(--pd-heading-margin,0 0 12px 0);
}

.pf-pd-list{
  display:grid;
  grid-template-columns:repeat(var(--pd-columns,1),minmax(0,1fr));
  gap:var(--pd-list-gap,12px);
}

.pf-pd-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:var(--pd-card-min-height,82px);
  padding:var(--pd-card-padding,14px 16px);
  background:var(--pd-card-background,#fff);
  border-style:var(--pd-card-border-style,solid);
  border-width:var(--pd-card-border-width,1px);
  border-color:var(--pd-card-border-color,#dfc29c);
  border-radius:var(--pd-card-radius,14px);
  box-shadow:var(--pd-card-shadow,none);
  box-sizing:border-box;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.pf-pd-card:hover{
  background:var(--pd-card-hover-background,#fffaf3);
  border-color:var(--pd-card-hover-border-color,#c99555);
  box-shadow:var(--pd-card-hover-shadow,none);
}

.pf-pd-card.is-disabled{opacity:.72}

.pf-pd-card-main{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  flex:1 1 auto;
}

.pf-pd-image{
  width:var(--pd-image-width,48px);
  height:var(--pd-image-height,54px);
  object-fit:var(--pd-image-fit,contain);
  background:var(--pd-image-background,transparent);
  border-style:var(--pd-image-border-style,none);
  border-width:var(--pd-image-border-width,0);
  border-color:var(--pd-image-border-color,transparent);
  border-radius:var(--pd-image-radius,6px);
  padding:var(--pd-image-padding,0);
  margin:var(--pd-image-margin,0);
  box-sizing:border-box;
  flex:0 0 auto;
}

.pf-pd-icon{
  width:var(--pd-icon-width,48px);
  height:var(--pd-icon-height,54px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:var(--pd-icon-background,#fffaf2);
  color:var(--pd-icon-color,#9c6a36);
  border:1px solid var(--pd-icon-border-color,#d9b382);
  border-radius:var(--pd-icon-radius,8px);
  font-size:var(--pd-icon-size,11px);
  font-weight:var(--pd-icon-weight,800);
  line-height:1;
  text-transform:uppercase;
  box-sizing:border-box;
}

.pf-pd-content{min-width:0;flex:1 1 auto}

.pf-pd-product-title{
  color:var(--pd-file-color,#6f5a47);
  font-size:var(--pd-file-size,12px);
  font-weight:600;
  line-height:var(--pd-file-line-height,1.4);
  margin:0 0 3px;
}

.pf-pd-title{
  color:var(--pd-title-color,#503622);
  font-size:var(--pd-title-size,15px);
  font-weight:var(--pd-title-weight,700);
  line-height:var(--pd-title-line-height,1.35);
  margin:var(--pd-title-margin,0);
  word-break:break-word;
}

.pf-pd-file{
  color:var(--pd-file-color,#6f5a47);
  font-size:var(--pd-file-size,12px);
  font-weight:var(--pd-file-weight,400);
  line-height:var(--pd-file-line-height,1.4);
  margin:var(--pd-file-margin,4px 0 0 0);
  word-break:break-word;
}

.pf-pd-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--pd-meta-gap,8px);
  margin:var(--pd-meta-margin,7px 0 0 0);
  color:var(--pd-meta-color,#8a7562);
  font-size:var(--pd-meta-size,12px);
  font-weight:var(--pd-meta-weight,500);
  line-height:1.35;
}
.pf-pd-meta span+span::before{content:"•";margin-right:var(--pd-meta-gap,8px);opacity:.55}

.pf-pd-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
}

.pf-pd-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:var(--pd-status-padding,4px 8px);
  border-radius:var(--pd-status-radius,999px);
  background:var(--pd-status-background,#ecfdf5);
  color:var(--pd-status-color,#047857);
  font-size:var(--pd-status-size,11px);
  font-weight:var(--pd-status-weight,700);
  line-height:1;
  white-space:nowrap;
}
.pf-pd-card.is-disabled .pf-pd-status{
  background:var(--pd-disabled-status-background,#fef2f2);
  color:var(--pd-disabled-status-color,#b91c1c);
}

.pf-pd-button,
.pf-pd-message-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:var(--pd-button-margin,0);
  padding:var(--pd-button-padding,10px 15px);
  color:var(--pd-button-color,#fff);
  background:var(--pd-button-background,#a56a27);
  border-style:var(--pd-button-border-style,solid);
  border-width:var(--pd-button-border-width,1px);
  border-color:var(--pd-button-border-color,#a56a27);
  border-radius:var(--pd-button-radius,9px);
  box-shadow:var(--pd-button-shadow,none);
  font-size:var(--pd-button-size,13px);
  font-weight:var(--pd-button-weight,700);
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  box-sizing:border-box;
  cursor:pointer;
  transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.pf-pd-button:hover,
.pf-pd-message-button:hover{
  color:var(--pd-button-hover-color,#fff);
  background:var(--pd-button-hover-background,#8b551d);
  border-color:var(--pd-button-hover-border-color,#8b551d);
  text-decoration:none;
  transform:translateY(-1px);
}

.pf-pd-button[disabled]{opacity:.5;cursor:not-allowed;transform:none}

.pf-pd-message{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--pd-message-color,#6b7280);
  background:var(--pd-message-background,#fff);
  border-style:var(--pd-message-border-style,solid);
  border-width:var(--pd-message-border-width,1px);
  border-color:var(--pd-message-border-color,#e5e7eb);
  border-radius:var(--pd-message-radius,12px);
  padding:var(--pd-message-padding,16px);
  font-size:var(--pd-message-size,14px);
  font-weight:var(--pd-message-weight,500);
  line-height:1.5;
  box-sizing:border-box;
}

.pf-product-download.layout-buttons .pf-pd-card{
  min-height:auto;
  padding:10px 12px;
}
.pf-product-download.layout-buttons .pf-pd-file,
.pf-product-download.layout-buttons .pf-pd-meta,
.pf-product-download.layout-buttons .pf-pd-status{display:none}

@media (max-width:767px){
  .pf-pd-list{grid-template-columns:1fr}
  .pf-pd-card{align-items:stretch;flex-direction:column}
  .pf-pd-actions{align-items:stretch;flex-direction:row;justify-content:space-between}
  .pf-product-download.button-full-mobile .pf-pd-button{width:100%}
  .pf-pd-message{align-items:stretch;flex-direction:column}
  .pf-product-download.button-full-mobile .pf-pd-message-button{width:100%}
}
