:root{--ddm-primary-color:#2271b1;--ddm-secondary-color:#135e96;--ddm-bg-color:#ffffff;--ddm-text-color:#3c434a;--ddm-font-family:sans-serif;--ddm-font-size-base:16px;--ddm-columns:3}.ddm-download-grid{display:grid;grid-template-columns:repeat(var(--ddm-columns),1fr);gap:20px;margin:30px 0;font-family:var(--ddm-font-family);font-size:var(--ddm-font-size-base)}@media (max-width:900px){.ddm-download-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.ddm-download-grid{grid-template-columns:1fr}}.ddm-card{background:var(--ddm-bg-color);border:1px solid #ddd;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform 0.2s,box-shadow 0.2s}.ddm-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgb(0 0 0 / .1)}.ddm-card-image img{width:100%;height:200px;object-fit:cover}.ddm-placeholder-image{width:100%;height:200px;background:#f0f0f0}.ddm-card-content{padding:20px;flex-grow:1;display:flex;flex-direction:column}.ddm-card-title{font-size:1.25rem;margin:0 0 10px}.ddm-card-title a{color:var(--ddm-text-color);text-decoration:none}.ddm-card-excerpt{font-size:.9rem;color:#666;margin-bottom:20px;flex-grow:1}.ddm-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;align-items:center;justify-content:center}.ddm-modal-overlay{position:absolute;width:100%;height:100%;background:rgb(0 0 0 / .7)}.ddm-modal-container{background:#fff;width:100%;max-width:450px;padding:30px;border-radius:12px;position:relative;box-shadow:0 20px 40px rgb(0 0 0 / .2);z-index:10}span.ddm-modal-close{position:absolute;top:15px;right:15px;font-size:24px;cursor:pointer;color:#999}.ddm-modal-title{font-size:1.5rem;margin-bottom:20px;text-align:center}.ddm-modal-form .ddm-form-group{margin-bottom:15px}.ddm-modal-form label{display:block;margin-bottom:5px;font-weight:500}.ddm-modal-form input[type="text"],.ddm-modal-form input[type="email"]{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.ddm-form-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.85rem}.ddm-form-checkbox input{margin-top:3px}#ddm-modal-error{color:#d63638;background:#fcf0f1;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.85rem}#ddm-modal-error:empty{display:none}.ddm-single-download{padding:60px 0;font-family:var(--ddm-font-family);color:var(--ddm-text-color);background:#f8f9fa}.ddm-container{max-width:1000px;margin:0 auto;padding:0 20px}.ddm-download-header{display:flex;gap:40px;background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 20px rgb(0 0 0 / .05);margin-bottom:40px}.ddm-featured-image{flex:0 0 400px}.ddm-featured-image img{width:100%;height:auto;border-radius:8px;display:block}.ddm-download-info{flex:1}.ddm-entry-title{margin:0 0 10px;font-size:2.5rem;line-height:1.2}.ddm-designer{font-size:1rem;color:#888;margin-bottom:25px;font-style:italic}.ddm-entry-content{margin-bottom:30px;line-height:1.6}.ddm-action-area{background:#f0f7ff;padding:30px;border-radius:12px;border-left:4px solid var(--ddm-primary-color);box-shadow:inset 0 2px 4px rgb(0 0 0 / .02)}.ddm-download-btn{background:var(--ddm-primary-color);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all 0.3s cubic-bezier(.4,0,.2,1);text-align:center;width:100%;box-shadow:0 4px 14px 0 rgb(0 118 255 / .39);text-transform:none;letter-spacing:normal}.ddm-download-btn:hover{background:var(--ddm-secondary-color);transform:translateY(-2px);box-shadow:0 6px 20px rgb(0 118 255 / .23)}.ddm-instruction{margin-top:18px;font-size:.85rem;color:#777;text-align:center;font-weight:500}.ddm-carousel-section{margin:60px 0}.ddm-carousel-section h2{margin-bottom:30px;text-align:center}#ddm-image-carousel img{border-radius:12px;width:100%}.ddm-download-footer{margin-top:60px;padding-top:30px;border-top:1px solid #ddd;color:#999;font-size:.85rem}@media (max-width:800px){.ddm-download-header{flex-direction:column}.ddm-featured-image{flex:none;width:100%}}.ddm-modal-actions{margin-top:20px}.ddm-modal-container button.ddm-download-btn{width:100%;margin:0}