.gallery-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #d6e5f6;border-radius:11px;background:#f2f7fd}
.gallery-tabs button{min-width:112px;padding:10px 18px;border:0;border-radius:8px;background:transparent;color:#58718e;font:700 12px/1 inherit;cursor:pointer}
.gallery-tabs button.active{background:#1476ff;color:#fff;box-shadow:0 4px 12px #1476ff2b}
.gallery-shell{display:grid;gap:26px}
.gallery-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e4edf7}
.gallery-section-head h2{margin:5px 0 4px;font-size:25px}
.gallery-section-head p{margin:0;color:var(--muted);font-size:13px}
.gallery-search{display:flex;align-items:center;gap:9px;width:min(340px,100%);height:44px;padding:0 14px;border:1px solid #cbdff4;border-radius:10px;background:#fff;color:#6d91b8}
.gallery-search .icon{width:18px;height:18px;flex:none}
.gallery-search input{width:100%;border:0;outline:0;background:transparent;box-shadow:none;padding:0;font-size:13px}
.gallery-format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.gallery-format-card,.gallery-page-card{min-width:0;overflow:hidden;border:1px solid #d5e4f4;border-radius:14px;background:#fff;box-shadow:0 5px 18px #123c6610;transition:transform .2s,border-color .2s,box-shadow .2s}
.gallery-format-card:hover,.gallery-page-card:hover{transform:translateY(-2px);border-color:#9fc5ee;box-shadow:0 12px 30px #123c6618}
.gallery-format-cover{position:relative;aspect-ratio:9/16;overflow:hidden;background:#dceaf8}
.gallery-format-cover img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-format-cover:after{content:'';position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,#071d3b99);pointer-events:none}
.gallery-format-cover>span{position:absolute;z-index:1;left:12px;bottom:11px;padding:5px 8px;border:1px solid #ffffff42;border-radius:7px;background:#071d3bb8;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(7px)}
.gallery-card-body{display:grid;gap:7px;padding:16px}
.gallery-code{color:#1476ff;font-size:9px;font-weight:850;letter-spacing:.13em}
.gallery-card-body h3{margin:0;overflow:hidden;text-overflow:ellipsis;font-size:15px;white-space:nowrap}
.gallery-card-body p{min-height:34px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.gallery-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:6px}
.gallery-card-actions .btn{justify-content:center;padding:9px 8px;font-size:10px}
.gallery-card-actions .icon{width:14px;height:14px}
.gallery-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.gallery-page-cover{position:relative;aspect-ratio:9/16;overflow:hidden;color:#fff;background:#dceaf8}
.gallery-page-cover img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-page-cover:after{content:'';position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,#071d3bbd);pointer-events:none}
.gallery-page-cover span,.gallery-page-cover small{position:absolute;z-index:1;bottom:12px;padding:5px 8px;border:1px solid #ffffff42;border-radius:7px;background:#071d3bb8;backdrop-filter:blur(7px)}
.gallery-page-cover span{left:12px;font-size:11px;font-weight:850;letter-spacing:.08em}
.gallery-page-cover small{right:12px;max-width:58%;overflow:hidden;color:#fff;font-size:9px;font-weight:750;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
@media(max-width:1200px){.gallery-format-grid,.gallery-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.gallery-section-head{align-items:stretch;flex-direction:column}.gallery-search{width:100%}.gallery-format-grid,.gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gallery-tabs{width:100%}.gallery-tabs button{flex:1;min-width:0}.gallery-format-grid,.gallery-page-grid{grid-template-columns:1fr}.gallery-format-card,.gallery-page-card{display:grid;grid-template-columns:132px minmax(0,1fr)}.gallery-format-cover,.gallery-page-cover{height:235px}.gallery-card-actions{grid-template-columns:1fr}}
