.projects-page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;min-height:calc(100vh - 60px);box-sizing:border-box;width:100%}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-gap:30px;gap:30px;max-width:1200px;width:100%}.project-card{background:linear-gradient(145deg,var(--p-card-bg-start),var(--p-card-bg-end));border-radius:20px;overflow:hidden;border:1px solid var(--p-card-border);transition:all .3s ease;box-shadow:0 8px 32px var(--p-card-shadow);cursor:pointer;position:relative}.project-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px var(--p-card-shadow-hover);border-color:var(--p-card-border-hover)}.project-images{position:relative;height:220px;overflow:hidden;background-size:cover;background-position:50%}.project-images:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;filter:blur(15px) brightness(.6);transform:scale(1.1)}.project-image{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;position:relative;z-index:2}.click-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--p-image-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:3}.project-card:hover .click-overlay{opacity:1}.click-indicator{display:flex;align-items:center;gap:8px;color:var(--p-title-color);font-size:1rem;font-weight:600;background:var(--p-click-indicator-bg);padding:12px 20px;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--p-click-indicator-border)}.project-card:hover .project-image{transform:scale(1.05)}.project-content{padding:25px}.project-title{font-size:1.5rem;font-weight:700;color:var(--p-title-color);margin-bottom:12px;line-height:1.2}.project-description{color:var(--p-desc-color);font-size:.95rem;line-height:1.6;margin-bottom:20px}.technologies-section{margin-top:20px}.technologies-grid{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:linear-gradient(45deg,var(--p-tech-bg-start),var(--p-tech-bg-end));color:var(--p-tech-color);border:1px solid var(--p-tech-border);border-radius:8px;font-weight:500}.tech-more,.tech-tag{padding:6px 12px;font-size:.8rem}.tech-more{background:linear-gradient(45deg,var(--p-tech-more-bg-start),var(--p-tech-more-bg-end));color:var(--p-tech-more-color);border:1px solid var(--p-tech-more-border);border-radius:8px;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--m-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:10002;padding:80px 20px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content{background:linear-gradient(145deg,var(--m-content-bg-start),var(--m-content-bg-end));border-radius:20px;border:1px solid var(--m-content-border);max-width:800px;width:100%;max-height:calc(86vh - 40px);overflow-y:auto;position:relative;box-shadow:0 20px 60px var(--m-shadow)}.modal-close{position:absolute;top:20px;right:20px;border:none;color:var(--p-title-color);font-size:24px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:1001}.modal-close,.modal-close:hover{background:var(--p-click-indicator-bg)}.modal-close:hover{opacity:.8;transform:scale(1.1)}.modal-image-carousel{position:relative;border-radius:20px 20px 0 0;overflow:hidden}.carousel-container{position:relative;height:300px;overflow:hidden;background-size:cover;background-position:50%;transition:background .5s ease-in-out}.modal-project-image{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;position:relative;z-index:2}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:var(--m-carousel-btn-bg);border:none;color:var(--p-title-color);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--m-carousel-btn-border)}.carousel-button:hover{background:var(--m-carousel-btn-hover-bg);transform:translateY(-50%) scale(1.1)}.carousel-button-prev{left:15px}.carousel-button-next{right:15px}.carousel-dots{display:flex;justify-content:center;gap:8px;padding:15px 0;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:5}.carousel-dot{width:12px;height:12px;border-radius:50%;border:none;background:var(--m-carousel-dot-bg);cursor:pointer;transition:all .3s ease}.carousel-dot.active{background:var(--m-carousel-dot-active-bg);transform:scale(1.2)}.carousel-dot:hover{background:var(--m-carousel-dot-bg);opacity:.7}.image-counter{position:absolute;top:15px;left:15px;background:var(--m-img-counter-bg);color:var(--p-title-color);padding:8px 12px;border-radius:20px;font-size:.9rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--m-img-counter-border);z-index:5}.modal-details{padding:30px}.modal-title{font-size:2rem;font-weight:700;color:var(--m-title-color);margin-bottom:16px;line-height:1.2}.modal-description{color:var(--m-desc-color);font-size:1.1rem;line-height:1.6;margin-bottom:20px;font-weight:600}.modal-detailed-description{color:var(--m-detailed-desc-color);font-size:1rem;line-height:1.7;margin-bottom:25px}.modal-github-section{margin-bottom:25px}.github-button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(45deg,var(--m-github-bg-start),var(--m-github-bg-end));color:var(--p-title-color);border:none;border-radius:12px;padding:12px 16px;font-size:.9rem;cursor:pointer;transition:all .3s ease;border:1px solid var(--m-github-border);text-decoration:none}.github-button:hover{background:linear-gradient(45deg,var(--m-github-hover-bg-start),var(--m-github-hover-bg-end));transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.4)}.modal-technologies-section{margin-top:25px}.technologies-title{font-size:1.1rem;font-weight:600;color:var(--m-title-color);margin-bottom:15px}.technologies-grid .tech-button{background:linear-gradient(45deg,var(--p-tech-bg-start),var(--p-tech-bg-end));color:var(--p-tech-color);border:1px solid var(--p-tech-border);border-radius:8px;padding:8px 14px;font-size:.85rem;cursor:default;transition:all .3s ease;display:inline-block}@media (max-width:768px){.projects-page-container{padding:20px 15px}.projects-grid{grid-template-columns:1fr;gap:20px}.project-card{margin:0 auto;max-width:400px}.project-images{height:200px}.project-content{padding:20px}.modal-content{margin-top:60px;margin-bottom:20px;max-height:calc(100vh - 80px)}.modal-overlay{padding-top:0;align-items:flex-start}.carousel-container{height:250px}.carousel-button{width:40px;height:40px}.carousel-button-prev{left:10px}.carousel-button-next{right:10px}.carousel-dots{padding:10px 0}.carousel-dot{width:10px;height:10px}.image-counter{top:10px;left:10px;padding:6px 10px;font-size:.8rem}.modal-details{padding:20px}.modal-title{font-size:1.5rem}}