/* AP 5.28 — T1 presentation skin authority.
   Geometry comes from Template Engine. One real .ap-template-row owns the
   connected ART/TXT frame; individual zones never draw competing borders. */
:root{
  --ap-grunge-border-width:1px;
  --ap-grunge-border-color:#070d18;
  --ap-grunge-shadow-x:1px;
  --ap-grunge-shadow-y:1px;
  --ap-grunge-shadow-blur:0px;
  --ap-grunge-shadow-color:#070d18;
  --ap-grunge-neon:#00f0ff;
  --ap-grunge-neon-alpha:.10;
  --ap-grunge-paper:#fbf7ee;
  --ap-grunge-radius:3px;
  --ap-thin-border:#111827;
  --ap-thin-shadow:rgba(15,23,42,.20);
}

.ap-story-canvas.ap-t1-family{box-sizing:border-box!important}
.ap-t1-family>.ap-template-row{position:relative!important;isolation:isolate!important}
.ap-t1-family>.ap-template-row>.ap-six-zone{border:0!important;outline:0!important;box-shadow:none!important;filter:none!important}
.ap-t1-family>.ap-template-row>.ap-six-zone::before,
.ap-t1-family>.ap-template-row>.ap-six-zone::after{content:none!important;display:none!important}
.ap-it-pair-frame{display:none!important}

/* NONE */
.ap-t1-family[data-panel-border="none"]>.ap-template-row{
  border:0!important;outline:0!important;box-shadow:none!important;filter:none!important;border-radius:0!important;
}
.ap-t1-family[data-panel-border="none"]>.ap-template-row::before,
.ap-t1-family[data-panel-border="none"]>.ap-template-row::after{content:none!important;display:none!important}

/* THIN SHADOW */
.ap-t1-family[data-panel-border="thin_shadow"]>.ap-template-row{
  border:var(--ap-panel-border-width,1px) solid var(--ap-thin-border)!important;
  border-radius:3px!important;
  box-shadow:var(--ap-panel-shadow-strength,2px) var(--ap-panel-shadow-strength,2px) 0 rgba(15,23,42,.16),0 5px 10px var(--ap-thin-shadow)!important;
  filter:none!important;
}
.ap-t1-family[data-panel-border="thin_shadow"]>.ap-template-row::before,
.ap-t1-family[data-panel-border="thin_shadow"]>.ap-template-row::after{content:none!important;display:none!important}

/* GRUNGE / RĂNG CƯA — thin distorted ink edge around the connected row only. */
.ap-t1-family[data-panel-border="grunge"]>.ap-template-row{
  border:0!important;
  border-radius:var(--ap-grunge-radius)!important;
  box-shadow:none!important;
  filter:none!important;
}
.ap-t1-family[data-panel-border="grunge"]>.ap-template-row::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:1px!important;
  z-index:40!important;
  pointer-events:none!important;
  border:var(--ap-panel-border-width,var(--ap-grunge-border-width)) solid var(--ap-grunge-border-color)!important;
  border-radius:inherit!important;
  box-shadow:var(--ap-panel-shadow-strength,var(--ap-grunge-shadow-x)) var(--ap-panel-shadow-strength,var(--ap-grunge-shadow-y)) var(--ap-grunge-shadow-blur) var(--ap-grunge-shadow-color)!important;
  filter:url("grunge-border-filter.svg#grunge-thin")!important;
}
.ap-t1-family[data-panel-border="grunge"][data-grunge-preset="medium"]>.ap-template-row::after{filter:url("grunge-border-filter.svg#grunge-medium")!important}
.ap-t1-family[data-panel-border="grunge"][data-grunge-preset="thick"]>.ap-template-row::after{filter:url("grunge-border-filter.svg#grunge-thick")!important}

/* Shared paper/image treatment remains independent from the chosen border skin. */
.ap-t1-family[data-panel-border] .ap-six-text.ap-paper-text-zone{background:var(--ap-grunge-paper)!important}
.ap-t1-family[data-panel-border] .ap-six-art .ap-story-art img{filter:contrast(1.06) saturate(1.04)!important}

/* Legacy fallback mock canvas (used only if the shared renderer is unavailable). */
.apse-tpl-canvas{padding:var(--ap-template-outer-margin,10px);box-sizing:border-box}
.apse-tpl-canvas-small{padding:min(3px,var(--ap-template-outer-margin,10px))}
.apse-tpl-canvas .apse-tpl-text{box-sizing:border-box!important;padding:var(--ap-text-inner-padding,10px)!important}
.apse-tpl-canvas-small .apse-tpl-text{padding:min(3px,var(--ap-text-inner-padding,10px))!important}
.apse-tpl-canvas[data-panel-border="none"]>.apse-tpl-zone{border:0!important;outline:0!important;box-shadow:none!important;filter:none!important}
.apse-tpl-canvas[data-panel-border="thin_shadow"]>.apse-tpl-zone{border:1px solid var(--ap-thin-border)!important;box-shadow:1px 1px 0 var(--ap-thin-shadow)!important}
.apse-tpl-canvas[data-panel-border="grunge"]>.apse-tpl-zone{border:var(--ap-panel-border-width,1px) solid var(--ap-grunge-border-color)!important;filter:url("grunge-border-filter.svg#grunge-thin")!important}
.apse-tpl-canvas[data-panel-border] .apse-tpl-text{background:var(--ap-grunge-paper)!important}
.apse-tpl-canvas[data-panel-border] .apse-tpl-art img{filter:contrast(1.06) saturate(1.04)!important}
