/* Published profiles and short, locally hosted films. */
.social-links { margin-top:28px; }
.social-heading { color:var(--forest,#193e2d); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; }
.social-links-list { display:flex; flex-wrap:wrap; gap:10px; }
.social-link { display:inline-flex; align-items:center; gap:11px; min-height:48px; padding:11px 15px; border:1px solid #d9d7c9; border-radius:12px; background:#fcfaf3; color:var(--forest,#193e2d); text-decoration:none; font-size:.79rem; font-weight:600; transition:transform .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease; }
.social-link:hover { transform:translateY(-3px); background:#f0eadb; border-color:#b39c6c; box-shadow:0 8px 20px #102b2010; }
.social-link:focus-visible { outline:3px solid #be995b; outline-offset:4px; }
.social-mark { display:inline-block; flex:0 0 21px; width:21px; height:21px; background:currentColor; mask:center/contain no-repeat; -webkit-mask:center/contain no-repeat; }
.social-mark-facebook { mask-image:url('social/facebook.svg'); -webkit-mask-image:url('social/facebook.svg'); }
.social-mark-instagram { mask-image:url('social/instagram.svg'); -webkit-mask-image:url('social/instagram.svg'); }
.social-mark-tiktok { mask-image:url('social/tiktok.svg'); -webkit-mask-image:url('social/tiktok.svg'); }
.social-mark-youtube { mask-image:url('social/youtube.svg'); -webkit-mask-image:url('social/youtube.svg'); }
.social-mark-x { mask-image:url('social/x.svg'); -webkit-mask-image:url('social/x.svg'); }
.social-external { font-size:.9rem; font-weight:400; }
.social-links-compact .social-link { padding:11px; min-width:45px; justify-content:center; }
.social-links-compact .social-label,.social-links-compact .social-external { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.site-footer .social-heading { color:#e8d6b2; }
.site-footer .social-link { color:#f5eedc; border-color:#53634c; background:#ffffff04; }
.site-footer .social-link:hover { color:#fff5db; background:#ffffff0d; border-color:#b39c6c; }
.site-videos-section { background:#f4f0e5; border-block:1px solid #e1d8c7; }
.site-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.site-video-grid-single { max-width:880px; margin-inline:auto; grid-template-columns:minmax(0,1fr); }
.site-video-card { overflow:hidden; margin:0; border:1px solid #d9d0be; border-radius:22px; background:#fffdf7; box-shadow:0 13px 35px #2c422609; transition:transform .25s ease,box-shadow .25s ease; }
.site-video-card:hover { transform:translateY(-4px); box-shadow:0 19px 43px #2c422615; }
.site-video-frame { position:relative; background:#102b20; aspect-ratio:16/10; }
.site-video-frame video { display:block; width:100%; height:100%; object-fit:contain; background:#102b20; }
.video-frame-label { position:absolute; right:16px; top:16px; border:1px solid #f0dfbc66; border-radius:24px; padding:6px 10px; color:#fff4d9; background:#102b20b3; font-size:.49rem; letter-spacing:.12em; pointer-events:none; transition:opacity .2s; }
.site-video-card.is-playing .video-frame-label { opacity:0; }
.site-video-card figcaption { display:flex; align-items:flex-start; gap:17px; padding:25px; }
.video-caption-mark { display:grid; place-items:center; flex:0 0 35px; width:35px; height:35px; border:1px solid #d8c69e; border-radius:50%; color:#7a6238; font-size:.65rem; margin-top:3px; }
.site-video-card figcaption h3 { font-size:1.65rem; color:var(--forest,#193e2d); }
.site-video-card figcaption p { margin-top:10px; font-size:.84rem; line-height:1.8; color:#5c6b5f; }
.video-playback-help { padding:12px; border:1px solid #d9c6a2; border-radius:10px; background:#f6efdf; }
.content-sections { display:flex; flex-wrap:wrap; gap:11px; margin-bottom:24px; }
.content-sections a { display:inline-flex; align-items:center; min-height:42px; padding:9px 15px; border:1px solid #dedfcf; background:#fffdf7; border-radius:28px; font-size:.82rem; text-decoration:none; }
.content-sections a:hover { border-color:#bfa66d; background:#f3eddd; }
.social-profile-editors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.social-profile-editor { display:grid; gap:18px; padding:23px; border:1px solid #e3e1d3; border-radius:14px; background:#fdfcf5; }
.social-profile-title { display:flex; align-items:center; gap:12px; }
.social-profile-editor label { min-width:0; }
.social-profile-editor input[type=url] { width:100%; }
.video-slot-editors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:26px; }
.video-slot-editor { padding:23px; border:1px solid #dedfce; border-radius:16px; background:#fdfcf6; min-width:0; }
.video-slot-editor .panel-heading { align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.video-slot-editor h3 { font-family:Georgia,serif; font-size:1.65rem; font-weight:400; }
.video-slot-editor input[type=file] { width:100%; padding:11px; font-size:.82rem; border:1px dashed #b5c0ac; background:#f2f4e9; }
.video-slot-editor input::file-selector-button { border:1px solid #bdc7b3; background:white; color:#244a34; border-radius:7px; padding:9px 12px; margin-right:10px; cursor:pointer; }
.video-slot-editor input[type=checkbox] { min-height:0; }
#redes,#videos,#fotografias { scroll-margin-top:110px; }
@media(max-width:760px) { .site-video-grid,.social-profile-editors,.video-slot-editors { grid-template-columns:minmax(0,1fr); } .site-video-card figcaption { padding:22px; gap:14px; } .site-video-card figcaption h3 { font-size:1.5rem; } .video-slot-editor,.social-profile-editor { padding:19px; } }
@media(max-width:480px) { .site-video-frame { aspect-ratio:4/3; } .site-video-card { border-radius:18px; } .site-video-card figcaption { padding:21px 18px; } .video-frame-label { right:12px; top:12px; font-size:.44rem; } .social-link { padding:11px 13px; } }
@media(prefers-reduced-motion:reduce) { .social-link,.site-video-card,.video-frame-label { transition:none; } .social-link:hover,.site-video-card:hover { transform:none; } }
