.reg-grid-wrap{--reg-border-color:#D7B16F;box-sizing:border-box;max-width:100%}
.reg-grid{display:flex;flex-wrap:wrap;width:100%;align-items:stretch}
.reg-cell{--reg-border-color:#D7B16F;box-sizing:border-box;flex:0 0 var(--reg-w,50%);width:var(--reg-w,50%);min-width:0;min-height:var(--reg-min-h,0);padding:var(--reg-pt,24px) var(--reg-pr,20px) var(--reg-pb,24px) var(--reg-pl,20px);display:flex;flex-direction:column;justify-content:var(--reg-v-align,flex-start);text-decoration:none;color:inherit}
.reg-cell-link{transition:opacity .2s ease,transform .2s ease,background-color .2s ease}
.reg-cell-link:hover{opacity:.92}
.reg-title{margin:0;letter-spacing:.14em;text-transform:uppercase}
.reg-text{}
.reg-text p{margin:0}
@media(max-width:1024px){.reg-cell{flex-basis:var(--reg-w-tablet,50%);width:var(--reg-w-tablet,50%);min-height:var(--reg-min-h-tablet,0);padding:var(--reg-pt-tablet,22px) var(--reg-pr-tablet,16px) var(--reg-pb-tablet,22px) var(--reg-pl-tablet,16px)}}
@media(max-width:767px){.reg-cell{flex-basis:var(--reg-w-mobile,100%);width:var(--reg-w-mobile,100%);min-height:var(--reg-min-h-mobile,0);padding:var(--reg-pt-mobile,20px) var(--reg-pr-mobile,12px) var(--reg-pb-mobile,20px) var(--reg-pl-mobile,12px)}}

.reg-cell-link:focus-visible{outline:2px solid var(--reg-cell-border-color,var(--reg-border-color));outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.reg-cell-link{transition:none!important}}

/* v1.4 Security Max Icons */
.reg-icon{display:flex;width:100%;line-height:0}
.reg-icon img,.reg-icon-image{display:block;max-width:100%;object-fit:contain;object-position:center}
@media(prefers-reduced-motion:reduce){.reg-icon img{transition:none!important;transform:none!important}}


/* v1.5 Security Max - reliable border colors */
.reg-cell{
  border-color:var(--reg-cell-border-color,var(--reg-border-color,#D7B16F));
}


/* v1.6 Security Max - true rows/columns grid */
.reg-grid.reg-grid-mode{
  display:grid !important;
  grid-template-columns:repeat(var(--reg-cols-d,2),minmax(0,1fr));
  grid-template-rows:repeat(var(--reg-rows-d,2),minmax(0,auto));
  grid-auto-flow:var(--reg-flow,row);
  grid-auto-rows:minmax(0,auto);
  width:100%;
  align-items:stretch;
}

.reg-grid.reg-grid-mode .reg-cell{
  width:auto !important;
  flex:none !important;
  min-width:0;
  max-width:none;
}

@media(max-width:1024px){
  .reg-grid.reg-grid-mode{
    grid-template-columns:repeat(var(--reg-cols-t,2),minmax(0,1fr));
    grid-template-rows:repeat(var(--reg-rows-t,2),minmax(0,auto));
  }
}

@media(max-width:767px){
  .reg-grid.reg-grid-mode{
    grid-template-columns:repeat(var(--reg-cols-m,1),minmax(0,1fr));
    grid-template-rows:repeat(var(--reg-rows-m,4),minmax(0,auto));
  }
}

/* v1.7 - Albo dei premiati preset; editorial mode remains untouched */
.reg-grid[data-reg-preset="albo"] .reg-albo-card{display:block;min-width:0;overflow:hidden;border:1px solid #e5e5e5;background:#fff;color:inherit;text-decoration:none;box-sizing:border-box}
.reg-albo-image{height:140px;background:#f1f2f4;overflow:hidden}
.reg-albo-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.reg-albo-body{padding:9px 12px 12px}
.reg-albo-name{font-size:12px;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:0;color:#17243b;overflow-wrap:anywhere}
.reg-albo-company{font-size:12px;line-height:1.5;color:#344054;margin-top:3px;overflow-wrap:anywhere}
.reg-albo-year{font-size:11px;line-height:1.4;color:#667085;margin-top:4px}
.reg-albo-card[href]:hover .reg-albo-name{text-decoration:underline}
.reg-albo-card[href]:focus-visible{outline:2px solid #267fb9;outline-offset:-2px}

/* v1.7.1: consistent Albo image frames regardless of source image proportions
   or global Elementor/WordPress img height:auto rules. */
.reg-grid[data-reg-preset="albo"] .reg-albo-card{align-self:start;min-width:0}
.reg-grid[data-reg-preset="albo"] .reg-albo-image{
  position:relative;display:block;width:100%;min-width:0;max-width:100%;
  box-sizing:border-box;overflow:hidden;flex:none;
  aspect-ratio:var(--reg-albo-ratio,auto);
}
.reg-grid[data-reg-preset="albo"] .reg-albo-image:not([style]){height:140px}
.reg-grid[data-reg-preset="albo"] .reg-albo-image img.reg-albo-photo{
  position:absolute;inset:0;display:block;width:100%;max-width:none;
  height:100%;min-height:100%;max-height:none;margin:0;padding:0;
  object-fit:cover;object-position:var(--reg-albo-x,50%) var(--reg-albo-y,50%);
}
/* An aspect-ratio selection takes priority over the legacy pixel-height control. */
.reg-grid[data-reg-preset="albo"] .reg-albo-image[style*="--reg-albo-ratio"]{height:auto}

/* v1.7.2: ALL Albo portraits have an identical frame ratio and fill it fully.
   This rule intentionally overrides old saved pixel-height and contain settings. */
.reg-grid[data-reg-preset="albo"] .reg-albo-card .reg-albo-image{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:var(--reg-albo-ratio,4 / 5) !important;
  min-height:0 !important;
  overflow:hidden !important;
  flex:none !important;
  padding:0 !important;
}
.reg-grid[data-reg-preset="albo"] .reg-albo-card .reg-albo-image img.reg-albo-photo{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:var(--reg-albo-x,50%) var(--reg-albo-y,50%) !important;
}

/* v1.7.3: year label anchored to the bottom of every Albo card.
   Grid items stretch to equal row height; photo frames remain uniform. */
.reg-grid[data-reg-preset="albo"]{align-items:stretch !important;}
.reg-grid[data-reg-preset="albo"] .reg-albo-card{
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
  height:100%;
  min-height:0;
}
.reg-grid[data-reg-preset="albo"] .reg-albo-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.reg-grid[data-reg-preset="albo"] .reg-albo-year{
  margin-top:auto !important;
  padding-top:12px;
  flex-shrink:0;
}
