*,*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p{margin:0}p:last-child{margin-bottom:0}ul{margin:0;padding:0;list-style:none}a{color:currentColor;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color:#242424;background-color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{display:flex;flex-direction:column;min-width:100vw;min-height:100vh;margin:0}main{flex-grow:1}main:has(.back-link){text-align:center}.gallery{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;list-style:none;padding:0;margin:32px}.gallery-item{width:280px;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 10px #0000001f;transition:transform .25s ease,box-shadow .25s ease}.gallery-item:hover{transform:translateY(-6px);box-shadow:0 8px 18px #0000002e}.gallery-link{display:block}.gallery-image{width:100%;height:200px;object-fit:cover;display:block}.info{display:flex;justify-content:space-between;align-items:flex-start;background-color:#fafafa;padding:10px 0}.info-block{display:flex;flex-direction:column;align-items:center;flex:1}.card-heading{font-size:.8rem;font-weight:600;color:#333;margin:0}.info__text{font-size:.9rem;font-weight:500;color:#555;margin:4px 0 0}.loader{display:none;width:48px;height:48px;border:5px solid #FFF;border-bottom-color:#ff3d00;border-radius:50%;box-sizing:border-box;animation:rotation 1s linear infinite;margin:20px auto 0}.loader.active{display:block}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form{display:flex;justify-content:center;align-items:center;gap:10px;margin:20px auto 30px;width:100%;max-width:371px}.form input[type=text]{flex:1;padding:10px 14px;font-size:1rem;border:1px solid #808080;border-radius:8px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form input[type=text]:focus{border-color:#000;box-shadow:0 0 6px #007bff4d}.form button{padding:10px 18px;background-color:#4e75ff;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.form button:hover{background-color:#6c8cff;transform:translateY(-1px)}
