.template-page .template-page-main{min-height:50vh}.template-error-wrap,.template-loading-wrap{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:2rem}.template-loading{text-align:center}.template-loading-spinner{width:48px;height:48px;margin:0 auto 1rem;border:3px solid rgba(71,85,105,.3);border-top:3px solid var(--primary);border-radius:50%;animation:template-spin .8s linear infinite}@keyframes template-spin{to{transform:rotate(1turn)}}.template-loading-text{color:var(--text-secondary);font-size:1rem}.template-error-card{text-align:center;max-width:420px;padding:2rem;background:rgb(30 41 59/25%);border:1px solid rgba(71,85,105,.4);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.template-error-icon{font-size:3rem;color:var(--text-secondary);margin-bottom:1rem;opacity:.8}.template-error-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.template-error-desc{color:var(--text-secondary);font-size:.95rem;margin:0 0 1.5rem;line-height:1.5}.template-error-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.template-hero{padding:1.5rem 0 2rem;position:relative;z-index:3}.template-breadcrumb{margin-bottom:1rem}.template-breadcrumb-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-color);transition:color .2s,background .2s,border-color .2s}.template-breadcrumb-link:hover{color:var(--primary);background:rgba(59,130,246,.1);border-color:var(--primary)}.template-hero-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text-primary);margin:0 0 1rem;line-height:1.2;letter-spacing:-.02em}.template-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.template-meta-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:rgba(71,85,105,.25);border:1px solid rgba(71,85,105,.35);border-radius:999px}.template-meta-badge i{font-size:.75rem;opacity:.9}.template-meta-price.is-free{color:#10b981;background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3)}.template-section-label{font-size:1.125rem;font-weight:600;color:var(--text-secondary);margin:0 0 1rem;letter-spacing:.02em;text-transform:uppercase}.template-content-section{padding:var(--spacing-3xl) 0;position:relative;z-index:3}.template-extended-description-section{padding:0 0 var(--spacing-3xl) 0;position:relative;z-index:3}.template-extended-description{padding:0}.extended-description-content{color:var(--text-primary);line-height:1.7}.extended-description-content h1,.template-extended-description.extended-description-content h1{font-size:1.75rem;font-weight:700;margin:1.25rem 0 .75rem;line-height:1.3;color:var(--text-primary)}.extended-description-content h2,.template-extended-description.extended-description-content h2{font-size:1.5rem;font-weight:700;margin:1.25rem 0 .75rem;line-height:1.35;color:var(--text-primary)}.extended-description-content h3,.template-extended-description.extended-description-content h3{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;line-height:1.4;color:var(--text-primary)}.extended-description-content h4,.template-extended-description.extended-description-content h4{font-size:1.1rem;font-weight:600;margin:.75rem 0 .5rem;line-height:1.4;color:var(--text-secondary)}.extended-description-content p{margin:0 0 1rem}.extended-description-content p:last-child{margin-bottom:0}.extended-description-content ol,.extended-description-content ul{margin:0 0 1rem;padding-left:1.5rem}.extended-description-content img{max-width:100%;height:auto;border-radius:8px;margin:.75rem 0}.extended-description-content a{color:var(--primary);text-decoration:underline}.extended-description-content a:hover{text-decoration:none}.template-extended-description-section{padding:0 0 var(--spacing-2xl) 0}.template-extended-description .extended-description-content{line-height:1.7;color:var(--text-primary)}.template-extended-description .extended-description-content p{margin:0 0 1rem}.template-extended-description .extended-description-content p:last-child{margin-bottom:0}.template-content-section{padding:1.5rem 0 .5rem}.template-content-section .template-section-label{margin-bottom:1.25rem}.template-content-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem}.template-preview-section{display:flex;flex-direction:column}.template-preview-card{padding:1.25rem}.template-page-preview{display:flex;flex-direction:column;gap:1rem}.preview-image{position:relative;border-radius:12px;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 20px rgba(0,0,0,.15)}.preview-image .template-image{width:100%;height:auto;display:block}.preview-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.preview-image:hover .preview-overlay{opacity:1}.preview-btn{transition:transform .2s ease}.preview-image:hover .preview-btn{transform:scale(1.02)}.preview-thumbnails{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin}.preview-thumbnails .thumbnail{flex-shrink:0;width:100px;height:66px;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color .2s,transform .2s;padding:0;background:var(--bg-secondary)}.preview-thumbnails .thumbnail.active,.preview-thumbnails .thumbnail:hover{border-color:var(--primary);transform:scale(1.03)}.thumbnail .thumbnail-image{width:100%;height:100%;object-fit:cover}.template-get-section{display:flex;flex-direction:column}.template-get-card{padding:1.25rem}.template-get-preview-wrap{margin-bottom:1rem}.template-get-preview-wrap .btn{width:100%}@media (min-width:1025px){.template-get-section .template-get-card{position:sticky;top:1.5rem}}.template-details-specs-section{padding:1.5rem 0;position:relative;z-index:2}.template-details-specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.template-details-card,.template-specs-card{padding:1.5rem;display:flex;flex-direction:column}.template-details-card-title,.template-specs-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.template-details-card .template-description p{color:var(--text-secondary);line-height:1.65;font-size:.9375rem;margin:0 0 1.25rem}.template-details-card .template-features-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.template-details-card .features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.template-details-card .features-list li{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.template-details-card .features-list i{color:#10b981;font-size:.8rem;flex-shrink:0}.template-specs-inside-card{padding:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.template-specs-inside-card .template-spec-item{padding:.5rem 0}@media (max-width:768px){.template-details-specs-grid{grid-template-columns:1fr}}.template-description p{color:var(--text-secondary);line-height:1.65;font-size:.9375rem;margin:0 0 1.25rem}.template-features-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.features-list li{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.features-list i{color:#10b981;font-size:.8rem;flex-shrink:0}.template-extended-description-section .template-section-label{margin-bottom:1rem}.template-extended-card{padding:1.5rem}.template-specs-section{padding:1.5rem 0 2rem;position:relative;z-index:2}.template-specs-section .template-section-label{margin-bottom:.75rem}.template-specs-strip{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding:1rem 1.25rem;background:rgba(30,41,59,.2);border:1px solid rgba(71,85,105,.3);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.template-spec-item{display:flex;flex-direction:column;gap:.25rem}.template-spec-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.template-spec-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.template-spec-value.type-badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.8rem;width:fit-content}.template-spec-value.type-badge.free{background:rgba(16,185,129,.15);color:#10b981}.template-spec-value.type-badge.premium{background:rgba(59,130,246,.15);color:#3b82f6}.template-spec-available{color:#10b981!important}.template-spec-available i{margin-inline-end:.25rem}.template-actions-section{padding:2rem 0 3rem;position:relative;z-index:3}.template-actions-section .template-section-label{margin-bottom:.25rem}.template-actions-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0 0 1.25rem}.template-actions-card{padding:1.75rem;max-width:560px}.template-action-simple{display:flex;flex-direction:column;gap:1.25rem}.template-action-simple .template-action-desc{color:var(--text-secondary);font-size:.95rem;margin:0;line-height:1.55}.template-action-simple .template-action-price{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.template-action-simple .btn-large{padding:.875rem 1.5rem;font-size:1rem;font-weight:600}.template-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.4}.template-alert-warning{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#d97706}.modular-template-box{display:flex;flex-direction:column;gap:1rem}.modular-base-desc{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.45}.modular-pages-list{display:flex;flex-direction:column;gap:1rem}.modular-pages-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;display:block}.modular-page-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9rem}.modular-page-included{color:var(--text-primary)}.modular-page-check{color:#10b981;font-size:.9rem;flex-shrink:0}.modular-page-name{font-weight:500}.modular-page-check-placeholder{width:1rem;flex-shrink:0}.modular-pages-extra{border-top:1px solid rgba(71,85,105,.3);padding-top:.75rem}.modular-extra-login,.modular-extra-points{font-size:.875rem;color:var(--text-secondary);margin:0 0 .5rem}.modular-addon-list{list-style:none;padding:0;margin:0}.modular-addon-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid rgba(71,85,105,.2);font-size:.9rem}.modular-addon-item:last-child{border-bottom:none}.modular-addon-checkbox{margin:0;accent-color:var(--primary)}.modular-addon-name{flex:1 1;color:var(--text-primary)}.modular-addon-owned{color:#10b981;font-weight:600;font-size:.85rem}.modular-addon-cost{color:var(--text-secondary);font-size:.85rem}.modular-footer-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;gap:.5rem}.modular-footer-actions .btn-block{width:100%}.modular-total{font-weight:600;color:var(--text-primary);margin:0}.modular-insufficient{font-size:.875rem;color:#dc2626;margin:0}.modular-confirm-msg{font-size:.8125rem;color:var(--text-secondary);margin:.5rem 0 0;line-height:1.4}.template-modal-confirm .template-modal-title{font-size:1.1rem;margin-bottom:1.25rem}.template-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:template-modal-fade .2s ease}@keyframes template-modal-fade{0%{opacity:0}to{opacity:1}}.template-modal{background:rgb(30 41 59/98%);border:1px solid rgba(71,85,105,.5);border-radius:16px;padding:2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);animation:template-modal-scale .25s ease}@keyframes template-modal-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.template-modal-icon{font-size:3rem;margin-bottom:1rem}.template-modal-icon-success{color:#10b981}.template-modal-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.template-modal-message{font-size:.95rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.template-modal-actions{display:flex;flex-direction:column;gap:.75rem}.template-modal-actions .btn{width:100%}.related-templates-section{padding:var(--spacing-3xl) 0;position:relative;z-index:3}.related-templates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.related-templates-grid .template-card{background:rgba(30,41,59,.2);border:1px solid rgba(71,85,105,.3);border-radius:16px;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);transition:transform .3s ease,box-shadow .3s ease}.related-templates-grid .template-card:hover{transform:translateY(-5px);box-shadow:0 35px 60px -12px rgba(0,0,0,.6)}.related-templates-grid .template-image{position:relative;overflow:hidden}.related-templates-grid .template-image img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.related-templates-grid .template-card:hover .template-image img{transform:scale(1.05)}.related-templates-grid .template-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.related-templates-grid .template-card:hover .template-overlay{opacity:1}.related-templates-grid .template-info{padding:var(--spacing-lg)}.related-templates-grid .template-info h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.related-templates-grid .template-info p{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:var(--spacing-md)}.related-templates-grid .template-meta{display:flex;justify-content:space-between;align-items:center}.related-templates-grid .template-tag{padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.related-templates-grid .template-tag.business{background:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.related-templates-grid .template-tag.portfolio{background:rgba(168,85,247,.1);color:#a855f7;border:1px solid rgba(168,85,247,.2)}.related-templates-grid .template-tag.ecommerce{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2)}.related-templates-grid .template-price{font-size:1.1rem;font-weight:600;color:var(--primary)}@media (max-width:1024px){.template-content-grid{grid-template-columns:1fr;gap:1.25rem}}@media (max-width:768px){.template-hero{padding:1.25rem 0 1.5rem}.template-hero-title{font-size:1.6rem}.template-hero-meta{gap:.4rem}.template-meta-badge{font-size:.75rem;padding:.3rem .6rem}.template-content-section{padding-bottom:.25rem}.template-specs-strip{padding:.875rem 1rem;gap:.75rem 1rem}.template-actions-section{padding:1.5rem 0 2rem}.template-actions-card{max-width:none}.preview-thumbnails .thumbnail{width:80px;height:54px}}@media (max-width:480px){.template-hero-title{font-size:1.4rem}.modular-base-download,.modular-extra-pages,.template-details-card,.template-preview-card{padding:1rem}}.reviews-empty,.reviews-loading{color:var(--text-secondary);padding:var(--spacing-lg)}.template-reviews-section{padding:var(--spacing-2xl) 0}.template-reviews-section .page-card{padding:var(--spacing-xl)}.review-form{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.review-form-group{width:100%}.review-textarea{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:120px;transition:border-color .2s}.review-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(59,130,246,.2)}.review-textarea::placeholder{color:var(--text-secondary);opacity:.8}.review-image-upload{display:flex;flex-direction:column;gap:.5rem}.review-file-input{position:absolute;opacity:0;width:0;height:0}.review-upload-label{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px dashed var(--border-color);border-radius:8px;background:var(--bg-secondary,#f8fafc);color:var(--text-secondary);cursor:pointer;font-weight:500;transition:all .2s;width:fit-content}.review-upload-label:hover:not(.disabled){border-color:var(--primary);background:rgba(59,130,246,.08);color:var(--primary)}.review-upload-label.disabled{opacity:.5;cursor:not-allowed}.review-submit-error,.review-upload-error{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem}.review-submit-error{margin-top:-.5rem}.review-images-preview{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.review-image-item{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.review-image-thumb{width:100%;height:100%;object-fit:cover}.review-remove-image{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:white;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:background .2s}.review-remove-image:hover{background:#dc2626}.review-login-prompt{text-align:center;padding:var(--spacing-xl);background:var(--bg-secondary,#f8fafc);border-radius:12px;margin-bottom:var(--spacing-2xl)}.review-login-prompt i{font-size:2rem;color:var(--primary);margin-bottom:.75rem;display:block}.review-login-prompt p{margin:0 0 1rem;color:var(--text-secondary)}.reviews-list-title{font-size:1.1rem;font-weight:600;margin:0 0 var(--spacing-md) 0;color:var(--text-primary)}.reviews-loading{display:flex;align-items:center;gap:.5rem}.reviews-empty,.reviews-loading{color:var(--text-secondary);padding:var(--spacing-lg)}.reviews-empty{margin:0}.reviews-list-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.review-item{padding:var(--spacing-lg);background:var(--bg-secondary,#f8fafc);border-radius:12px;border:1px solid var(--border-color)}.review-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.review-author{font-weight:600;color:var(--text-primary)}.review-date{font-size:.85rem;color:var(--text-secondary)}.review-content{margin:0 0 .75rem;color:var(--text-primary);line-height:1.5;white-space:pre-wrap}.review-item-images{display:flex;flex-wrap:wrap;gap:.5rem}.review-item-image-link{display:block;width:80px;height:80px;border-radius:8px;overflow:hidden;border:2px solid var(--border-color);transition:border-color .2s}.review-item-image-link:hover{border-color:var(--primary)}.review-item-image{width:100%;height:100%;object-fit:cover}.template-actions{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));justify-content:space-around;margin-top:auto;padding-top:var(--spacing-md)}.btn-small,.template-actions{display:flex;align-items:center}.btn-small{padding:.5rem 1rem;font-size:.875rem;width:100%;justify-content:center}.load-more-section{margin-top:var(--spacing-2xl);padding:var(--spacing-lg) 0}.load-more-btn,.load-more-section{display:flex;justify-content:center}.load-more-btn{padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:white;border:none;cursor:pointer;transition:all .3s ease;align-items:center;gap:.5rem;min-width:200px}.load-more-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,.3)}.load-more-btn:active{transform:translateY(0)}@media (max-width:768px){.template-actions{flex-direction:column;gap:var(--spacing-sm)}.template-actions .btn{width:100%;justify-content:center}}@media (max-width:480px){.template-actions{flex-direction:column;gap:var(--spacing-sm)}.template-actions .btn{width:100%;justify-content:center}.load-more-btn{padding:.875rem 1.5rem;font-size:.9rem;min-width:180px}}