/* Leitner Method Tools — Plugin Styles */

/* Download Gate */
.download-gate { border: 2px solid #e5e7eb; border-radius: 8px; background: #f9fafb; padding: 1.5rem; margin: 2rem 0; }
.download-gate__header { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
.download-gate__icon { font-size: 2rem; line-height: 1; flex-shrink: 0; }
.download-gate__title { font-size: 1.25rem; font-weight: 700; color: #1f2937; margin: 0 0 0.25rem; }
.download-gate__subtitle { color: #6b7280; margin: 0; font-size: 0.9375rem; }
.download-gate__body { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 640px) { .download-gate__body { grid-template-columns: 1fr; } }
.download-gate__benefits-heading { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.05em; color: #6b7280; margin: 0 0 0.5rem; font-weight: 600; }
.download-gate__benefits-list { padding-left: 1.25rem; margin: 0; }
.download-gate__benefits-list li { margin-bottom: 0.375rem; font-size: 0.9375rem; }
.download-gate__delivery { font-size: 0.875rem; color: #6b7280; margin-top: 0.75rem; margin-bottom: 0; font-style: italic; }
.download-gate__kit-placeholder { border: 2px dashed #f59e0b; border-radius: 6px; background: #fffbeb; padding: 1.25rem; }
.download-gate__kit-notice { font-size: 0.875rem; color: #92400e; line-height: 1.7; }
.download-gate__kit-notice code { background: #fde68a; padding: 0.125rem 0.375rem; border-radius: 3px; font-family: 'Courier New', monospace; word-break: break-all; font-size: 0.8125rem; }

/* Product CTA Block */
.product-cta-block { background: #1a6b4a; color: #ffffff; border-radius: 12px; padding: 2rem; margin: 2.5rem 0; }
.product-cta-block__inner { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; }
@media (max-width: 640px) { .product-cta-block__inner { grid-template-columns: 1fr; } }
.product-cta-block__title { font-size: 1.375rem; font-weight: 700; margin: 0 0 0.75rem; color: #ffffff; }
.product-cta-block__desc { opacity: 0.9; margin: 0 0 1rem; line-height: 1.65; font-size: 0.9375rem; color: #ffffff; }
.product-cta-block__features { padding-left: 0; list-style: none; margin: 0; }
.product-cta-block__features li { margin-bottom: 0.375rem; font-size: 0.9375rem; opacity: 0.95; color: #ffffff; }
.product-cta-block__cta { text-align: center; flex-shrink: 0; }
.product-cta-block__price-note { font-size: 0.8125rem; opacity: 0.8; margin-top: 0.625rem; color: #ffffff; }

/* Download Grid */
.download-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; margin: 1.5rem 0; }
.download-card { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; transition: box-shadow 0.15s, transform 0.15s; }
.download-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); transform: translateY(-2px); }
.download-card__icon { font-size: 1.75rem; line-height: 1; }
.download-card__title { font-size: 1.0625rem; font-weight: 700; margin: 0; color: #1f2937; }
.download-card__desc { font-size: 0.9375rem; color: #6b7280; margin: 0; flex: 1; line-height: 1.55; }

/* Guide Grid */
.guide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; margin: 1.5rem 0; }
.guide-card { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow 0.15s; }
.guide-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.guide-card__thumb img { width: 100%; height: 160px; object-fit: cover; display: block; }
.guide-card__body { padding: 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
.guide-card__title { font-size: 1rem; font-weight: 700; margin: 0; line-height: 1.4; }
.guide-card__title a { color: #1f2937; text-decoration: none; }
.guide-card__title a:hover { color: #1a6b4a; }
.guide-card__excerpt { font-size: 0.875rem; color: #6b7280; margin: 0; flex: 1; line-height: 1.55; }
.guide-card__link { font-size: 0.875rem; font-weight: 600; color: #1a6b4a; text-decoration: none; margin-top: auto; }
.guide-card__link:hover { text-decoration: underline; }

/* Badge */
.badge { display: inline-block; background: #e8f5ef; color: #1a6b4a; font-size: 0.75rem; font-weight: 600; padding: 0.2rem 0.55rem; border-radius: 99px; text-transform: uppercase; letter-spacing: 0.04em; }

/* Buttons — used in shortcode output */
.btn { display: inline-block; padding: 0.625rem 1.25rem; border-radius: 6px; font-weight: 600; font-size: 0.9375rem; text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: background 0.15s, color 0.15s; text-align: center; }
.btn--primary { background: #1a6b4a; color: #ffffff; border-color: #1a6b4a; }
.btn--primary:hover { background: #155c3e; border-color: #155c3e; color: #ffffff; }
.btn--accent { background: #f59e0b; color: #1f2937; border-color: #f59e0b; }
.btn--accent:hover { background: #d97706; border-color: #d97706; }
.btn--small { padding: 0.375rem 0.875rem; font-size: 0.875rem; }
.btn--large { padding: 0.875rem 1.75rem; font-size: 1.0625rem; }
