.ef-page { background: #f8f5f1; color: #352a29; }
.ef-hero { padding: clamp(3rem, 6vw, 5rem) 0; background: radial-gradient(circle at 82% 20%, #bb704950, transparent 30%), linear-gradient(125deg, #481210, #75241d); color: #fff; }
.ef-hero > .container { text-align: center; }
.ef-eyebrow, .ef-kicker { display: block; color: #a46335; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ef-eyebrow { color: #f4c89e; }
.ef-hero h1 { margin: .65rem 0; font-family: Georgia, serif; font-size: clamp(2.3rem, 6vw, 4rem); }
.ef-hero p { max-width: 650px; margin: 0 auto; color: #f2dfd7; }
.ef-main, .ef-detail-main { min-width: 0; padding-top: 2.5rem; padding-bottom: 5rem; }
.ef-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; }
.ef-heading h2 { margin: .25rem 0 0; color: #421614; font-family: Georgia, serif; font-size: clamp(1.6rem, 3vw, 2rem); }
.ef-count { color: #766a63; font-size: .85rem; font-weight: 700; white-space: nowrap; }
.ef-filters { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(120px, 1fr) minmax(140px, 1fr) auto; align-items: end; gap: .8rem; padding: 1.2rem; margin-bottom: 1.5rem; border: 1px solid #e7dcd4; border-radius: 14px; background: #fff; }
.ef-filters label { display: block; margin-bottom: .35rem; color: #421614; font-size: .8rem; font-weight: 800; }
.ef-filters input, .ef-filters select { width: 100%; min-width: 0; padding: .75rem; border: 1px solid #d7c9bb; border-radius: 8px; background: #fcfaf8; color: #352a29; }
.ef-filter-actions { display: flex; align-items: center; gap: .65rem; }
.ef-filter-actions button { padding: .76rem 1rem; border: 0; border-radius: 8px; background: #65151d; color: #fff; font-weight: 800; white-space: nowrap; }
.ef-filter-actions a { color: #71302a; font-size: .85rem; font-weight: 700; }
.ef-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.ef-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e7dcd4; border-radius: 15px; background: #fff; color: #421614; text-decoration: none; box-shadow: 0 10px 28px #4a111008; transition: box-shadow .15s, transform .15s; }
.ef-card:hover { color: #421614; box-shadow: 0 16px 35px #4a11101a; transform: translateY(-2px); }
.ef-card-media { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: radial-gradient(circle at 78% 10%, #ba79585c, transparent 36%), linear-gradient(135deg, #4d1515, #85362c); color: #fff; font-size: .8rem; font-weight: 800; }
.ef-card-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, #210c0c8c, transparent 65%); pointer-events: none; }
.ef-card-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.ef-card:hover .ef-card-image { transform: scale(1.035); }
.ef-card-play { position: relative; z-index: 1; display: flex; align-items: center; gap: .7rem; padding: .55rem .8rem; border-radius: 2rem; background: #210c0ca8; text-shadow: 0 1px 2px #0009; }
.ef-card-play i { display: grid; place-items: center; width: 2rem; height: 2rem; padding-left: .12rem; border: 1px solid #ffffff8a; border-radius: 50%; background: #ffffff25; font-size: .72rem; }
.ef-card-content { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 1.3rem; }
.ef-card-date { color: #9a542c; font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.ef-card-content strong { display: block; margin-top: .5rem; font-family: Georgia, serif; font-size: 1.2rem; line-height: 1.3; overflow-wrap: anywhere; }
.ef-card-content small { display: -webkit-box; overflow: hidden; margin-top: .7rem; color: #766a63; font-size: .84rem; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ef-card-link { display: block; margin-top: auto; padding-top: 1.2rem; color: #71302a; font-size: .8rem; font-weight: 800; }
.ef-card-link i { margin-left: .3rem; }
.ef-empty { padding: 3rem 1rem; border: 1px dashed #cdbab0; border-radius: 15px; background: #fff; text-align: center; }
.ef-empty i { color: #a46335; font-size: 2rem; }
.ef-empty h2 { margin: .9rem 0 .4rem; font-family: Georgia, serif; color: #421614; }
.ef-empty p { margin: 0; color: #766a63; }
.ef-pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 2rem; color: #766a63; font-size: .86rem; }
.ef-pagination a { padding: .55rem .8rem; border: 1px solid #cdbab0; border-radius: 8px; background: #fff; color: #71302a; text-decoration: none; font-weight: 700; }
.ef-breadcrumb { display: flex; gap: .7rem; align-items: center; margin-bottom: 1.3rem; color: #766a63; font-size: .84rem; }
.ef-breadcrumb a { color: #71302a; text-decoration: none; font-weight: 700; }
.ef-breadcrumb i { margin-right: .3rem; }
.ef-detail-main { max-width: 1000px; }
.ef-detail { padding: clamp(1.3rem, 4vw, 2.5rem); border: 1px solid #e7dcd4; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px #4a11100d; }
.ef-detail h1 { margin: .55rem 0 1.1rem; color: #421614; font-family: Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.7rem); overflow-wrap: anywhere; }
.ef-description { max-width: 760px; white-space: pre-line; color: #615650; line-height: 1.7; }
.ef-player { overflow: hidden; margin-top: 1.5rem; border-radius: 12px; background: #1d1717; }
.ef-player video { display: block; width: 100%; max-height: 70vh; background: #1d1717; }
.ef-video-note { margin: .8rem 0 0; color: #766a63; font-size: .8rem; }
.ef-page a:focus-visible, .ef-page button:focus-visible, .ef-page input:focus-visible, .ef-page select:focus-visible { outline: 3px solid #c99645; outline-offset: 3px; }
@media (max-width: 900px) { .ef-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ef-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .ef-grid, .ef-filters { grid-template-columns: 1fr; } .ef-heading { align-items: start; flex-direction: column; } }
