/* =========================================================
   SANTO TORNILLO - GALERÍA DE VIDEOS
========================================================= */
.st-videos, .st-videos * { box-sizing: border-box; }
.st-videos {
    width: min(calc(100% - 48px), 1440px);
    margin: 0 auto;
    padding: 32px 0 90px;
    color: #1e3b2c;
    font-family:'Inter',sans-serif;
}
.st-videos-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 58px; color: #74877b; font-size: 12px; }
.st-videos-breadcrumb a { color: #3e654d; text-decoration: none; }
.st-videos-breadcrumb i { font-size: 9px; opacity: .65; }
.st-videos-heading { max-width: 790px; margin: 0 auto 48px; text-align: center; }
.st-videos-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 17px; border-radius: 99px; background: #eef5ef; color: #346c4a; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; }
.st-videos-eyebrow i { font-size: 14px; }
.st-videos-heading h1 { margin: 19px 0 13px; font-family:var(--st-font-title); font-size: clamp(30px, 3.4vw, 48px); line-height: 1.13; color: #1d3d2b; }
.st-videos-heading p { margin: 0 auto; max-width: 630px; font-size: 15px; color: #718176; line-height: 1.9; }
.st-videos-total { display: inline-flex; align-items: center; gap: 9px; margin-top: 23px; font-size: 12px; font-weight: 700; color: #3c6d4e; }
.st-videos-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; align-items: start; }
.st-video-card { min-width: 0; overflow: hidden; border: 1px solid #e4ece5; border-radius: 18px; background: #fff; box-shadow: 0 10px 32px rgba(21,54,34,.05); transition: transform .2s, box-shadow .2s; }
.st-video-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(21,54,34,.09); }
.st-video-media { aspect-ratio: 16 / 9; background: #eaf0eb; }
.st-video-media video { display: block; width: 100%; height: 100%; object-fit: contain; background: #111a15; }
.st-video-info { padding: 21px 23px 25px; }
.st-video-tag { display: inline-flex; align-items: center; gap: 7px; color: #558368; font-size: 11px; font-weight: 700; letter-spacing: .4px; }
.st-video-info h2 { margin: 10px 0 0; font-family:var(--st-font-title); font-size: 17px; line-height: 1.45; color: #214431; overflow-wrap: anywhere; }
.st-videos-empty { margin: 0 auto 30px; max-width: 650px; text-align: center; padding: 70px 30px; background: #f5f8f5; border: 1px solid #e3ebe4; border-radius: 22px; }
.st-videos-empty > i { display: block; font-size: 42px; color: #4b7a5d; }
.st-videos-empty h2 { font-size: 23px; margin: 20px 0 9px; }
.st-videos-empty p { color: #718176; line-height: 1.8; }
.st-videos-empty a { display: inline-flex; align-items: center; gap: 9px; margin-top: 15px; background: #24533a; color: #fff; padding: 13px 18px; border-radius: 10px; text-decoration: none; font-size: 13px; }
.st-videos-cta { margin-top: 72px; display: flex; gap: 30px; align-items: center; justify-content: space-between; padding: 36px 42px; background: #edf5ee; border: 1px solid #deebdf; border-radius: 21px; }
.st-videos-cta span { font-size: 10px; font-weight: 700; color: #4f8564; letter-spacing: 1.2px; }
.st-videos-cta h2 { font-family:var(--st-font-title); font-size: clamp(22px, 2.3vw, 29px); margin: 11px 0 7px; }
.st-videos-cta p { margin: 0; color: #6e8173; font-size: 13px; line-height: 1.7; }
.st-videos-cta > a { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 23px; background: #23543a; color: #fff; border-radius: 11px; font-weight: 700; font-size: 13px; text-decoration: none; transition: background .2s; }
.st-videos-cta > a:hover { background: #153b2a; }
@media (max-width: 1050px) { .st-videos-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) {
    .st-videos { width: min(calc(100% - 32px), 520px); padding: 25px 0 55px; }
    .st-videos-breadcrumb { margin-bottom: 36px; justify-content: center; }
    .st-videos-heading { margin-bottom: 32px; }
    .st-videos-heading h1 { font-size: clamp(28px, 8vw, 36px); }
    .st-videos-heading p { font-size: 14px; }
    .st-videos-grid { grid-template-columns: 1fr; gap: 20px; }
    .st-video-info { padding: 20px; text-align: center; }
    .st-video-tag { justify-content: center; }
    .st-video-info h2 { font-size: 16px; }
    .st-videos-cta { margin-top: 42px; padding: 30px 22px; flex-direction: column; text-align: center; gap: 24px; }
    .st-videos-cta > a { width: 100%; }
    .st-videos-empty { padding: 55px 20px; }
}
