.product-card{padding:0;overflow:hidden}
.product-card-content{display:flex;flex:1;flex-direction:column;padding:24px 28px 28px}
.product-image{display:block;width:100%;height:170px;object-fit:cover;background:var(--cream)}
.product-image[src*="/assets/icons/"]{object-fit:contain;padding:32px 46px;background:linear-gradient(135deg,#f8f5ef,#eef3f4)}
.product-image-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#1c5260);color:#fff}
.product-image-placeholder span{display:grid;place-items:center;width:54px;height:60px;background:var(--orange);font-size:2rem;font-weight:900;clip-path:polygon(50% 0,91% 17%,84% 70%,50% 100%,16% 70%,9% 17%)}
.product-card{position:relative}
.image-language-flag{position:absolute;z-index:2;top:12px;right:12px;display:block;width:54px;height:38px;overflow:hidden;clip-path:polygon(0 5%,86% 0,100% 13%,92% 31%,100% 51%,91% 72%,99% 91%,86% 100%,0 95%);transform-origin:left center;animation:image-flag-wind 1.65s cubic-bezier(.45,.05,.55,.95) infinite;filter:drop-shadow(0 5px 5px rgba(9,27,36,.3));will-change:transform,clip-path}
.image-language-flag img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:left center;animation:image-flag-fabric 1.65s ease-in-out infinite;will-change:transform}
.image-language-flag:after{position:absolute;inset:0;background:linear-gradient(105deg,transparent 12%,rgba(255,255,255,.34) 37%,rgba(0,0,0,.16) 57%,transparent 82%);background-position:100% 0;background-size:220% 100%;content:"";pointer-events:none;animation:image-flag-light 1.65s ease-in-out infinite}
@keyframes image-flag-wind{0%,100%{transform:perspective(90px) rotateY(-4deg) rotateZ(-1deg) skewY(0deg) scaleX(1);clip-path:polygon(0 5%,86% 0,100% 13%,92% 31%,100% 51%,91% 72%,99% 91%,86% 100%,0 95%)}17%{transform:perspective(90px) translateY(-1px) rotateY(21deg) rotateZ(2deg) skewY(-2deg) scaleX(.94);clip-path:polygon(0 3%,90% 7%,98% 19%,91% 36%,100% 57%,90% 75%,97% 96%,83% 92%,0 98%)}36%{transform:perspective(90px) translateY(1px) rotateY(-13deg) rotateZ(-2deg) skewY(1.5deg) scaleX(1.03);clip-path:polygon(0 7%,84% 0,100% 11%,93% 29%,99% 48%,89% 68%,100% 88%,87% 100%,0 93%)}58%{transform:perspective(90px) translateY(-1px) rotateY(17deg) rotateZ(1.5deg) skewY(-1deg) scaleX(.96);clip-path:polygon(0 4%,89% 4%,99% 17%,90% 34%,100% 54%,92% 73%,98% 94%,84% 96%,0 97%)}78%{transform:perspective(90px) translateY(1px) rotateY(-9deg) rotateZ(-1deg) skewY(1deg) scaleX(1.01);clip-path:polygon(0 6%,85% 1%,100% 14%,92% 32%,98% 50%,90% 70%,100% 90%,88% 99%,0 94%)}}
@keyframes image-flag-fabric{0%,100%{transform:translateX(0) scaleX(1)}17%{transform:translateX(-1px) scaleX(1.06)}36%{transform:translateX(1px) scaleX(.97)}58%{transform:translateX(-1px) scaleX(1.04)}78%{transform:translateX(0) scaleX(.99)}}
@keyframes image-flag-light{0%,100%{background-position:100% 0;opacity:.68}36%{background-position:0 0;opacity:1}58%{background-position:70% 0;opacity:.78}}
@media(prefers-reduced-motion:reduce){.image-language-flag,.image-language-flag img,.image-language-flag:after{animation:none}}
.course-filter-form{grid-template-columns:1fr 1fr auto;max-width:820px}
.course-card .product-card-content{min-height:390px}
.course-language-count{display:grid;gap:2px;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--cream)}
.course-language-count strong{color:var(--navy);font-size:.9rem}
.course-language-count span{overflow:hidden;color:var(--muted);font-size:.78rem;white-space:nowrap;text-overflow:ellipsis}
.course-detail-section{padding-top:46px}
.course-back{display:inline-flex;margin-bottom:24px;color:var(--orange-dark);font-weight:800;text-decoration:none}
.course-detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.68fr);gap:36px;align-items:start}
.course-detail-main h1{margin:14px 0 22px;font-size:clamp(2.5rem,5vw,4.6rem)}
.course-detail-media{overflow:hidden;margin-bottom:26px;border:1px solid var(--line);border-radius:24px;background:var(--cream)}
.course-detail-image{height:330px}
.course-detail-image[src*="/assets/icons/"]{padding:62px 90px}
.course-description{color:var(--muted);font-size:1.06rem}
.course-duration{margin-top:22px;color:var(--navy)}
.course-order{position:sticky;top:105px;padding:30px}
.course-order h2{margin-bottom:10px;font-size:2rem}
.course-language-picker{display:grid;gap:9px;margin:22px 0;padding:0;border:0}
.course-language-option{display:grid;grid-template-columns:auto 42px 1fr auto;gap:12px;align-items:center;min-height:72px;padding:10px 13px;border:2px solid #d9e1e3;border-radius:13px;background:#fff;cursor:pointer;transition:.18s}
.course-language-option:hover{border-color:#f2a085;background:#fff9f5}
.course-language-option:has(input:checked){border-color:var(--orange);background:#fff2eb;box-shadow:0 0 0 2px rgba(240,100,53,.12)}
.course-language-option input{width:18px;height:18px;accent-color:var(--orange)}
.course-language-option img{display:block;width:42px;height:29px;border-radius:4px;object-fit:cover;box-shadow:0 2px 7px rgba(9,27,36,.18)}
.course-language-option span{display:grid;line-height:1.25}
.course-language-option small{margin-top:3px;color:#47705a;font-size:.76rem}
.course-language-option b{color:var(--deep);font-size:.92rem;white-space:nowrap}
.course-language-option.unavailable{cursor:not-allowed;filter:grayscale(.8);opacity:.55}
.course-order-button{width:100%}
.course-order-note{margin:16px 0 0;color:var(--muted);font-size:.82rem;text-align:center}
@media(max-width:900px){.course-detail-grid{grid-template-columns:1fr}.course-order{position:static}.course-filter-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:600px){.course-filter-form{grid-template-columns:1fr}.course-detail-image{height:235px}.course-detail-image[src*="/assets/icons/"]{padding:45px 62px}.course-language-option{grid-template-columns:auto 38px 1fr}.course-language-option b{grid-column:3}.course-order{padding:22px}}
