/* =========================================================
   V82.33 FEATURED FARM ALBUMS - ISOLATED MODULE STYLES
   Loaded only by the public home featured-albums block and
   Admin > Featured Albums. Keep separate from global style.css
   and Public Farm microsite styles to prevent regressions.
   ========================================================= */
.featured-album-panel,.featured-album-candidates-panel{margin-top:18px}
.featured-album-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px}
.featured-album-admin-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e0e8e3;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(31,58,46,.055);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.featured-album-admin-card.is-dragging{opacity:.55;transform:scale(.985);box-shadow:0 18px 36px rgba(31,58,46,.16)}
.featured-album-admin-card.is-ineligible{background:#fbfbfa}
.featured-album-admin-cover{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#eef3f0}
.featured-album-admin-cover img{width:100%;height:100%;object-fit:cover;display:block}
.featured-album-home-badge,.featured-album-warning-badge{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1}
.featured-album-home-badge{left:10px;top:10px;background:rgba(255,255,255,.94);color:#8a6500;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.featured-album-warning-badge{left:10px;bottom:10px;background:rgba(112,67,18,.9);color:#fff}
.featured-album-admin-body{padding:13px 14px 11px;display:flex;flex-direction:column;gap:9px;flex:1}
.featured-album-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.featured-album-title-row>div{min-width:0}.featured-album-title-row small{display:block;color:#758078;font-size:12px;margin-bottom:3px}.featured-album-title-row h3{margin:0;color:#27453a;font-size:16px;line-height:1.35}
.featured-album-drag-handle{flex:0 0 auto;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce6e0;border-radius:10px;background:#f7faf8;color:#4f6f61;cursor:grab;font-size:18px;touch-action:none}.featured-album-drag-handle:active{cursor:grabbing}
.featured-album-counts{display:flex;gap:12px;flex-wrap:wrap;color:#68776f;font-size:12px}.featured-album-counts span{display:inline-flex;align-items:center;gap:5px}
.featured-album-warning-text{margin:0;padding:8px 10px;border-radius:10px;background:#fff5e8;color:#8b5a21;font-size:11px;line-height:1.45}
.featured-album-admin-actions{display:flex;align-items:center;gap:7px;padding:10px 12px;border-top:1px solid #edf2ef;background:#fbfcfb}.featured-album-admin-actions form{margin:0}.featured-album-admin-actions .farm-admin-secondary-action,.featured-album-admin-actions .farm-tool-muted-button{min-height:34px;padding:6px 9px;font-size:11px;border-radius:9px}
.featured-album-sort-status{font-size:13px;font-weight:700;color:#6f7b75}.featured-album-sort-status.is-saving{color:#7c8580}.featured-album-sort-status.is-success{color:#2f6e50}.featured-album-sort-status.is-error{color:#b23b3b}
.featured-album-filter{margin:0 18px 14px}
.featured-album-table-title{display:flex;align-items:center;gap:10px;min-width:0}.featured-album-table-title img{width:62px;height:46px;object-fit:cover;border-radius:9px;background:#edf2ef;flex:0 0 auto}.featured-album-table-title>div{min-width:0}.featured-album-table-title strong{display:block}.featured-album-table-title small{display:block;margin-top:3px;color:#7b8580;line-height:1.35}
.featured-album-media-summary{display:inline-flex;align-items:center;gap:6px;color:#63736b;white-space:nowrap}

.home-featured-albums-section{background:linear-gradient(180deg,#fff 0%,#f7faf8 100%)}
.home-featured-albums-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.home-featured-albums-head p{margin:8px 0 0;color:#6e7a74;max-width:720px;line-height:1.65}
.home-featured-albums-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-featured-album-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e4ebe7;border-radius:18px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(32,62,49,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.home-featured-album-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(32,62,49,.11);border-color:#cddbd3}
.home-featured-album-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#edf2ef}.home-featured-album-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}.home-featured-album-card:hover .home-featured-album-cover img{transform:scale(1.025)}
.home-featured-album-badge{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#315a49;font-size:11px;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-featured-album-body{display:flex;flex-direction:column;gap:8px;padding:15px 16px 17px;flex:1}.home-featured-album-meta{display:flex;align-items:center;gap:12px;color:#748079;font-size:11px}.home-featured-album-meta span{display:inline-flex;align-items:center;gap:5px}.home-featured-album-body h3{margin:0;color:#244a3a;font-size:18px;line-height:1.4}.home-featured-album-body p{margin:0;color:#6c7872;font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-featured-album-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:#2f6e50;font-size:12px;font-weight:800}

@media(max-width:1280px){.featured-album-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.featured-album-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-featured-albums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.featured-album-admin-grid{grid-template-columns:1fr;padding:12px}.featured-album-filter{margin:0 12px 12px}.home-featured-albums-grid{grid-template-columns:1fr;gap:14px}.home-featured-albums-head{margin-bottom:18px}.featured-album-table-title img{width:50px;height:40px}}


/* =========================================================
   V86.0.43 — Home Album Templates
   ========================================================= */
.home-albums-showcase{background:linear-gradient(180deg,#fff 0%,#f6faf7 100%)}
.home-albums-showcase .home-featured-albums-head{margin-bottom:26px}
.home-albums-showcase .home-featured-albums-head p{max-width:760px;font-size:15px;line-height:1.7}
.home-albums-template{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:minmax(105px,auto);gap:14px}
.home-album-mosaic-card{position:relative;display:block;min-width:0;min-height:230px;overflow:hidden;border-radius:20px;background:#dfe9e3;color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(32,62,49,.08);isolation:isolate;transition:transform .22s ease,box-shadow .22s ease}
.home-album-mosaic-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(32,62,49,.15);color:#fff}
.home-album-mosaic-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .38s ease}
.home-album-mosaic-card:hover>img{transform:scale(1.035)}
.home-album-mosaic-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,28,19,.05) 24%,rgba(8,30,20,.72) 100%);z-index:1}
.home-album-source{position:absolute;z-index:3;left:14px;top:14px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 28px);padding:6px 10px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(19,54,37,.55);backdrop-filter:blur(8px);font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-album-mosaic-content{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:18px 18px 17px;display:flex;flex-direction:column;gap:7px}
.home-album-media-counts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:rgba(255,255,255,.84);font-size:10.5px;font-weight:700}.home-album-media-counts span{display:inline-flex;align-items:center;gap:5px}
.home-album-mosaic-content h3{margin:0;color:#fff;font-size:20px;line-height:1.35;text-shadow:0 1px 14px rgba(0,0,0,.18)}
.home-album-open{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:2px;color:#fff;font-size:11.5px;font-weight:800;opacity:.92}
.home-album-open i{transition:transform .18s ease}.home-album-mosaic-card:hover .home-album-open i{transform:translate(2px,-2px)}
.home-albums-view-all-wrap{margin-top:24px}

/* Featured Left */
.home-albums-template-featured_left .home-album-mosaic-card{grid-column:span 4}
.home-albums-template-featured_left .home-album-card-1{grid-column:span 7;grid-row:span 4;min-height:510px}
.home-albums-template-featured_left .home-album-card-2,.home-albums-template-featured_left .home-album-card-3{grid-column:span 5;grid-row:span 2;min-height:248px}
.home-albums-template-featured_left .home-album-card-1 .home-album-mosaic-content h3{font-size:28px}

/* Featured Top */
.home-albums-template-featured_top .home-album-mosaic-card{grid-column:span 3;min-height:225px}
.home-albums-template-featured_top .home-album-card-1{grid-column:1/-1;grid-row:span 4;min-height:420px}
.home-albums-template-featured_top .home-album-card-1 .home-album-mosaic-content{padding:24px 26px 23px}.home-albums-template-featured_top .home-album-card-1 .home-album-mosaic-content h3{font-size:30px;max-width:780px}

/* Balanced Grid */
.home-albums-template-balanced_grid .home-album-mosaic-card{grid-column:span 4;grid-row:span 3;min-height:280px}

/* Editorial Mosaic */
.home-albums-template-editorial_mosaic .home-album-mosaic-card{grid-column:span 4;grid-row:span 2;min-height:245px}
.home-albums-template-editorial_mosaic .home-album-card-1{grid-column:span 6;grid-row:span 4;min-height:505px}
.home-albums-template-editorial_mosaic .home-album-card-2,.home-albums-template-editorial_mosaic .home-album-card-3{grid-column:span 3;grid-row:span 2}
.home-albums-template-editorial_mosaic .home-album-card-4{grid-column:span 6;grid-row:span 2}
.home-albums-template-editorial_mosaic .home-album-card-1 .home-album-mosaic-content h3{font-size:27px}

@media(min-width:681px){.home-albums-showcase .cms-album-hide-web{display:none!important}}
@media(max-width:980px) and (min-width:681px){
  .home-albums-template{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .home-albums-template .home-album-mosaic-card{grid-column:span 3!important;grid-row:span 2!important;min-height:235px!important}
  .home-albums-template .home-album-card-1{grid-column:1/-1!important;grid-row:span 3!important;min-height:340px!important}
}
@media(max-width:680px){
  .home-albums-showcase .cms-album-hide-mobile{display:none!important}
  .home-albums-showcase .home-featured-albums-head{margin-bottom:18px}
  .home-albums-showcase .home-featured-albums-head p{font-size:13px;line-height:1.6}
  .home-albums-template{grid-template-columns:repeat(var(--album-mobile-cols,1),minmax(0,1fr));grid-auto-rows:auto;gap:10px}
  .home-albums-template .home-album-mosaic-card{grid-column:span 1!important;grid-row:auto!important;min-height:190px!important;border-radius:15px}
  .home-albums-template-featured_left .home-album-card-1,
  .home-albums-template-featured_top .home-album-card-1,
  .home-albums-template-editorial_mosaic .home-album-card-1{grid-column:1/-1!important;min-height:260px!important}
  .home-albums-template-balanced_grid[style*="--album-mobile-cols:1"] .home-album-mosaic-card{min-height:235px!important}
  .home-album-source{left:10px;top:10px;max-width:calc(100% - 20px);padding:5px 8px;font-size:9.5px}
  .home-album-mosaic-content{padding:13px 13px 12px;gap:5px}.home-album-mosaic-content h3,.home-albums-template .home-album-card-1 .home-album-mosaic-content h3{font-size:15px;line-height:1.35}.home-album-media-counts{font-size:9px;gap:7px}.home-album-open{font-size:10px}
  .home-albums-view-all-wrap{margin-top:18px}
}
@media(max-width:400px){.home-albums-template{grid-template-columns:1fr}.home-albums-template .home-album-mosaic-card{grid-column:1/-1!important;min-height:220px!important}}

/* Public album index */
.public-albums-hero{background:linear-gradient(180deg,#f7faf8 0%,#fff 100%)}
.public-albums-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.public-album-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e1eae5;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(32,62,49,.055);transition:transform .2s ease,box-shadow .2s ease}
.public-album-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(32,62,49,.11);color:inherit}
.public-album-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#eaf1ed}.public-album-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.public-album-card:hover .public-album-cover img{transform:scale(1.03)}
.public-album-source{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 24px);padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#315a49;font-size:10.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 10px rgba(0,0,0,.07)}
.public-album-body{display:flex;flex-direction:column;gap:8px;padding:15px 16px 17px;flex:1}.public-album-meta{display:flex;gap:12px;flex-wrap:wrap;color:#75817a;font-size:11px}.public-album-meta span{display:inline-flex;align-items:center;gap:5px}.public-album-body h2{margin:0;color:#284d3d;font-size:18px;line-height:1.4}.public-album-body p{margin:0;color:#6e7973;font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-album-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:#2f6e50;font-size:12px;font-weight:800}
@media(max-width:980px){.public-albums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.public-albums-grid{grid-template-columns:1fr;gap:14px}.public-album-card{border-radius:15px}}
