/* World Philosophy Day — wide editorial layout (1.0.15) */
.ifop-dfg-page *, .ifop-dfg-page *::before, .ifop-dfg-page *::after {box-sizing:border-box}
.ifop-dfg-page .dfg-page-main{width:100%;max-width:100%;min-width:0;padding:20px 0 50px;color:#17242b}
.ifop-dfg-page .dfg-ribbon{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #13212a;border-bottom:1px solid #13212a;padding:13px 0;margin-bottom:21px;font:900 11px/1.5 Arial,sans-serif;letter-spacing:.08em}
.ifop-dfg-page .dfg-hero{background:#d8fc62;min-height:270px;padding:36px 38px;border:2px solid #15232d;display:flex;justify-content:space-between;gap:15px;position:relative;overflow:hidden;margin-bottom:28px}
.dfg-hero>div:first-child{position:relative;z-index:1;max-width:850px}.dfg-hero>div:first-child>span{font:900 11px/1 Arial;letter-spacing:.17em}
.dfg-hero h1{font:950 clamp(46px,5.9vw,93px)/.99 Arial,sans-serif;letter-spacing:-.07em;margin:22px 0 14px;max-width:900px;color:#121e24}
.dfg-hero h1 i{font:italic 500 1.03em Georgia,serif;letter-spacing:-.055em}.dfg-hero h1 .dfg-sun{font:400 .7em Arial,sans-serif;color:#ff5b6c;margin-left:8px}
.dfg-hero p{font:700 16px/1.5 Arial,sans-serif;margin:0}.dfg-hero-art{font:320px/.9 Georgia,serif;color:rgba(34,57,35,.17);position:absolute;right:50px;top:0}
.dfg-layout{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(285px,.7fr);gap:24px;align-items:start;max-width:100%;min-width:0}
.dfg-primary,.dfg-sidebar{display:grid;gap:20px;min-width:0;max-width:100%}
.dfg-panel{min-width:0;width:100%;background:#fffaf0;border:2px solid #18242c;box-shadow:5px 5px 0 #18242c;padding:26px 28px 29px;overflow-wrap:anywhere}
.dfg-panel-eyebrow{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #c1c5c3;padding-bottom:14px;margin-bottom:20px;font:900 11px/1.4 Arial,sans-serif;letter-spacing:.12em;color:#60666a}
.dfg-panel h2{font:950 clamp(28px,3vw,43px)/1.08 Arial,sans-serif;letter-spacing:-.055em;margin:0 0 19px}
.dfg-panel h2 em{font:italic 500 1em Georgia,serif;letter-spacing:-.035em}.dfg-panel .dfg-intro{font:500 15px/1.65 Arial,sans-serif;margin:0 0 18px;color:#485457}
.dfg-prize{padding:19px 64px 20px 21px;background:#ffd4b4;border-left:5px solid #f2595e;position:relative;margin:22px 0 23px}
.dfg-prize strong{display:block;font:950 17px/1.3 Arial,sans-serif;letter-spacing:-.025em}.dfg-prize p{font:500 15px/1.6 Arial,sans-serif;margin:8px 0 0}.dfg-prize b{font-weight:900}
.dfg-prize>span{font:48px/1 Arial;position:absolute;top:10px;right:14px;color:#fb5667}
.dfg-activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #a9b0ad;border-top:1px solid #a9b0ad}
.dfg-activity{display:flex;gap:11px;align-items:flex-start;min-height:94px;padding:13px 10px 15px;border-right:1px solid #a9b0ad;border-bottom:1px solid #a9b0ad;text-decoration:none;color:#1a272c;background:#fff9f2;transition:background .2s}
.dfg-activity:hover,.dfg-activity:focus-visible,.dfg-activity.is-selected{background:#d8fc62;color:#152329}
.dfg-activity-num{flex:none;font:950 21px/1 Arial,sans-serif;color:#ed6667;letter-spacing:-.06em}.dfg-activity-text{flex:1;min-width:0;font:750 13px/1.48 Arial,sans-serif}.dfg-activity>span:last-child{font:900 15px/1.3 Arial,sans-serif}
.dfg-video-form{background:#fff8e9}.dfg-video-form[hidden]{display:none!important}.dfg-picked{padding:14px 18px;border:1px solid #24323a;background:#d8fc62;font:850 13px/1.5 Arial,sans-serif;margin-bottom:16px}
.dfg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dfg-fields label{display:flex;flex-direction:column;gap:7px;font:800 11px/1.4 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.dfg-fields input,.dfg-fields textarea{width:100%;max-width:100%;min-width:0;min-height:46px;padding:12px;border:1px solid #929e9b;background:white;color:#17242b;font:500 14px/1.45 Arial,sans-serif;letter-spacing:0;text-transform:none}
.dfg-fields input[type=file]{min-height:52px}.dfg-fields textarea{resize:vertical}.dfg-fields label small{font:500 11px/1.5 Arial,sans-serif;color:#596365;letter-spacing:0;text-transform:none}
.dfg-full{grid-column:1/-1}.dfg-form{display:grid;gap:18px}.dfg-consent{display:flex;gap:9px;align-items:flex-start;font:550 12px/1.55 Arial,sans-serif}.dfg-consent input{margin-top:3px}
.dfg-cta{background:#d8fc62;border:2px solid #17242b;color:#17242b;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:53px;padding:14px 19px;font:950 12px/1.25 Arial,sans-serif;letter-spacing:.07em;cursor:pointer;width:fit-content;max-width:100%}.dfg-cta:hover{background:#c0ef40}
.dfg-form-note{font:500 12px/1.55 Arial,sans-serif!important;color:#6d7674!important;margin:0}.dfg-trap{position:absolute;left:-200vw;width:1px;height:1px;overflow:hidden}
.dfg-status{border:1px solid #b45f5f;background:#ffe3de;color:#8a2837;padding:11px 14px;margin-bottom:16px;font:750 13px/1.45 Arial,sans-serif}.dfg-status.ok{border-color:#58975e;background:#e3f7db;color:#2a613b}
.dfg-empty{padding:22px;border:1px dashed #adb5b1;background:#fcf8ec;color:#61706f;font:550 14px/1.6 Arial,sans-serif}
.dfg-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dfg-video{border:1px solid #abb1ad;background:#fff;min-width:0}
.dfg-video-media{aspect-ratio:16/9;background:#17242a}.dfg-video-media video{display:block;width:100%;height:100%;object-fit:contain}
.dfg-video-body{padding:15px}.dfg-video-body small{font:850 10px/1.3 Arial,sans-serif;color:#6d7674;letter-spacing:.055em}
.dfg-video h3{font:900 18px/1.2 Arial,sans-serif;letter-spacing:-.035em;margin:9px 0 7px}.dfg-video p{font:500 12px/1.5 Arial,sans-serif;color:#586467;margin:0 0 15px;min-height:37px}.dfg-video-actions{display:flex;gap:8px;flex-wrap:wrap}
.dfg-video-actions button{border:1px solid #19272d;background:#fff;color:#19272d;padding:9px 12px;font:900 10px/1.3 Arial,sans-serif;cursor:pointer;min-height:36px}.dfg-video-actions button:hover{background:#d8fc62}
.dfg-material-row{display:flex;align-items:center;gap:14px;border-top:1px solid #c8ccc6;padding:17px 0;min-width:0}.dfg-material-row:last-child{border-bottom:1px solid #c8ccc6}
.dfg-material-num{font:950 24px/1 Arial,sans-serif;color:#ed5c61;flex:none}.dfg-material-row strong{flex:1;min-width:0;font:850 15px/1.4 Arial,sans-serif}/* Festival resource descriptions: preserve readable line breaks without widening the page. */
.dfg-material-content{flex:1 1 250px;min-width:0}
.dfg-material-row .dfg-material-content strong{display:block;flex:none;min-width:0;overflow-wrap:anywhere}
.dfg-material-description{margin:7px 0 0;color:#536166;font:500 13px/1.55 Arial,sans-serif;white-space:pre-line;overflow-wrap:anywhere}
.dfg-material-actions{display:flex;flex-wrap:wrap;gap:6px}.dfg-material-actions a{border:1px solid #19272d;color:#19272d;text-decoration:none;padding:9px 12px;font:900 10px/1.2 Arial,sans-serif}.dfg-material-actions a:hover{background:#d8fc62}
.dfg-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dfg-album{min-width:0;border:1px solid #b4bbb7;background:#fff;display:block}
.dfg-open-album{all:unset;box-sizing:border-box;display:block;width:100%;height:100%;cursor:pointer;color:#1b2a2f}.dfg-cover{display:block;aspect-ratio:1/1;overflow:hidden;background:#f2aec9}.dfg-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.dfg-open-album:hover .dfg-cover img{transform:scale(1.045)}.dfg-album-data{padding:12px;display:grid;gap:7px}.dfg-album-data small{font:800 9px/1.35 Arial,sans-serif;color:#65706c}.dfg-album-data strong{font:900 15px/1.3 Arial,sans-serif}.dfg-album-data>span:last-child{font:950 10px/1.3 Arial,sans-serif;color:#d95059}
.dfg-album-dialog{border:2px solid #192830;border-radius:0;max-height:87vh;max-width:min(980px,94vw);width:100%;padding:23px;background:#fffaf0;box-shadow:10px 10px 0 #d8fc62}.dfg-album-dialog::backdrop{background:rgba(13,26,32,.82)}
.dfg-dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid #bac0bc;margin-bottom:16px;padding-bottom:12px}
.dfg-dialog-head h3{font:900 24px/1.2 Arial,sans-serif;margin:4px 0}.dfg-dialog-head small{font:700 11px/1.4 Arial,sans-serif}.dfg-dialog-head button{background:#19262f;color:white;border:0;padding:10px 15px;font:800 17px Arial;cursor:pointer}
.dfg-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dfg-dialog-grid img{width:100%;aspect-ratio:1;object-fit:cover}
.dfg-pagination{display:flex;gap:12px;justify-content:center;align-items:center;padding:17px}.dfg-pagination a{text-decoration:none;background:#d8fc62;color:#17242c;border:1px solid #17242c;padding:9px 13px;font:850 11px Arial}
.dfg-sidepanel{border:2px solid #1a2830;background:#fffdf8;padding:20px 20px 22px;min-width:0}.dfg-side-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #bfc4c1;padding-bottom:12px;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.075em;color:#66706c}
.dfg-sidepanel h2{font:950 clamp(25px,2.6vw,37px)/1.05 Arial,sans-serif;letter-spacing:-.055em;margin:18px 0}.dfg-sidepanel h2 em{font:italic 500 1em Georgia,serif}.dfg-sidepanel p{font:500 13px/1.5 Arial,sans-serif;color:#66716d}
.dfg-side-row{display:flex;gap:11px;align-items:center;color:#1c2a30;text-decoration:none;padding:14px 0;border-top:1px solid #d2d7d3}.dfg-side-row>span:first-child{color:#f26869;font:950 18px Arial,sans-serif}.dfg-side-row strong{flex:1;min-width:0;font:850 13px/1.35 Arial,sans-serif}.dfg-side-row>span:last-child{font:900 16px Arial}
.dfg-side-album{display:flex;align-items:center;gap:10px;border-top:1px solid #d2d7d3;padding:12px 0;text-decoration:none;color:#1a2930}.dfg-side-album img{flex:none;width:59px;height:59px;object-fit:cover}.dfg-side-album>span:nth-child(2){display:grid;gap:5px;min-width:0;flex:1}.dfg-side-album strong{font:850 12px/1.3 Arial,sans-serif}.dfg-side-album small{font:500 10px/1.4 Arial,sans-serif;color:#68736c}
.dfg-side-pink{border:2px solid #1b2830;background:#f4adc8;min-height:270px;padding:21px;position:relative;overflow:hidden}.dfg-side-pink>small{font:850 10px Arial,sans-serif;letter-spacing:.12em}.dfg-side-pink strong{display:block;font:950 35px/1.1 Arial,sans-serif;letter-spacing:-.05em;margin-top:40px;position:relative;z-index:1}.dfg-side-pink strong em{font:italic 500 1em Georgia,serif}.dfg-side-pink>span{position:absolute;font:200px Arial;color:#f9d3e0;right:-32px;bottom:-83px}
.dfg-sidebar .ifop-news-panel{min-width:0}
@media(max-width:1190px){.dfg-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.78fr);gap:17px}.dfg-panel{padding:20px 21px 25px}.dfg-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.dfg-layout{grid-template-columns:minmax(0,1fr)}.dfg-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.dfg-sidebar>.ifop-news-panel{grid-column:1/-1}.dfg-hero-art{right:0;font-size:240px}}
@media(max-width:620px){.ifop-dfg-page .dfg-ribbon>span:last-child{display:none}.ifop-dfg-page .dfg-hero{padding:23px 19px;min-height:210px}.dfg-hero h1{font-size:clamp(39px,10.8vw,66px)}.dfg-hero-art{right:-25px;top:14px;font-size:190px}.dfg-panel{padding:17px 15px 20px;box-shadow:3px 3px 0 #18242c}.dfg-activities{grid-template-columns:minmax(0,1fr)}.dfg-activity{min-height:70px}.dfg-fields{grid-template-columns:1fr}.dfg-full{grid-column:auto}.dfg-video-grid{grid-template-columns:minmax(0,1fr)}.dfg-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dfg-sidebar{grid-template-columns:minmax(0,1fr)}.dfg-sidebar>.ifop-news-panel{grid-column:auto}.dfg-material-row{align-items:flex-start;flex-wrap:wrap}.dfg-material-row strong{flex-basis:calc(100% - 40px)}.dfg-material-actions{margin-left:36px}.dfg-prize{padding:16px 43px 16px 16px}.dfg-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dfg-album-dialog{padding:12px}}
@media(prefers-reduced-motion:reduce){.dfg-cover img,.dfg-activity{transition:none}}
