/* ============================================================
   DYW Job Single — base layout (v1.1)
   All colours & typography are overridable via Elementor controls.
   Font-weights are normal (400) by default; override per-element
   in the Elementor Style panel if you want bolder.
   ============================================================ */

.dyw-js { --dyw-navy:#0B2A4A; --dyw-yellow:#FFD447; --dyw-sky:#C5E3F0; --dyw-pink:#F7C6D0; --dyw-cream:#FAFAF8; --dyw-border:#E8E8E3; --dyw-muted:#6B7280; color:var(--dyw-navy); font-weight:400; }
.dyw-js *,.dyw-js *::before,.dyw-js *::after{box-sizing:border-box;}
.dyw-js p,.dyw-js h1,.dyw-js h2,.dyw-js h3,.dyw-js dt,.dyw-js dd,.dyw-js a,.dyw-js span,.dyw-js li{font-weight:400;}

.dyw-js__container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Constrain icon sizes so Font Awesome / dashicons don't blow up */
.dyw-js svg,.dyw-js i{display:inline-block;line-height:1;}
.dyw-js__btn svg,.dyw-js__btn i{width:16px;height:16px;font-size:14px;flex-shrink:0;}
.dyw-js__meta svg,.dyw-js__meta i{width:14px;height:14px;font-size:12px;}
.dyw-js__fact-icon svg,.dyw-js__fact-icon i{width:18px;height:18px;font-size:16px;color:inherit;fill:currentColor;}
.dyw-js__fact-icon svg path{fill:currentColor;}
.dyw-js__perk-icon svg,.dyw-js__perk-icon i{width:20px;height:20px;font-size:18px;color:inherit;fill:currentColor;}
.dyw-js__perk-icon svg path{fill:currentColor;}
.dyw-js__list-item > svg,.dyw-js__list-item > i{width:18px;height:18px;font-size:16px;margin-top:2px;}
.dyw-js__side-label svg,.dyw-js__side-label i{width:14px;height:14px;font-size:12px;}

/* --- QUICK FACTS --- */
.dyw-js__facts{background:#fff;border-bottom:1px solid var(--dyw-border);}
.dyw-js__facts-grid{display:grid;grid-template-columns:repeat(2,1fr);}
@media (min-width:768px){.dyw-js__facts-grid{grid-template-columns:repeat(4,1fr);}}
.dyw-js__fact{display:flex;align-items:center;gap:12px;padding:20px 24px;border-right:1px solid var(--dyw-border);}
.dyw-js__fact:last-child{border-right:0;}
.dyw-js__fact-icon{display:grid;place-items:center;height:40px;width:40px;border-radius:12px;background:rgba(11,42,74,.05);color:var(--dyw-navy);}
.dyw-js__fact-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(11,42,74,.6);margin:0;}
.dyw-js__fact-value{font-size:14px;color:var(--dyw-navy);margin:2px 0 0;}

/* --- BODY / TWO COLUMN --- */
.dyw-js__body{background:#fff;}
.dyw-js__body-inner{display:grid;gap:40px;padding:64px 0 96px;grid-template-columns:1fr;}
@media (min-width:900px){.dyw-js__body-inner{grid-template-columns:1fr 360px;}}
.dyw-js__main{display:flex;flex-direction:column;gap:48px;min-width:0;}

/* Buttons */
.dyw-js__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 24px;font-size:13px;letter-spacing:.05em;text-transform:uppercase;transition:background-color .2s,transform .2s,color .2s;cursor:pointer;text-decoration:none;border:0;line-height:1;}
.dyw-js__btn--primary{background:var(--dyw-yellow);color:var(--dyw-navy);}
.dyw-js__btn--primary:hover{background:#e6bf3f;}
.dyw-js__btn--ghost{background:transparent;color:var(--dyw-navy);border:2px solid rgba(11,42,74,.4);}
.dyw-js__btn--ghost:hover{background:rgba(11,42,74,.05);}
.dyw-js__btn--dark{background:var(--dyw-navy);color:#fff;}
.dyw-js__btn--dark:hover{background:#0f3a63;}

/* Summary */
.dyw-js__summary{border-radius:24px;border:2px solid rgba(11,42,74,.1);background:rgba(197,227,240,.3);padding:32px;}
.dyw-js__eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(11,42,74,.6);margin:0;}
.dyw-js__summary-text{margin-top:12px;font-size:24px;line-height:1.4;color:var(--dyw-navy);}

/* Block */
.dyw-js__block-title{margin:8px 0 0;font-size:28px;line-height:1.15;color:var(--dyw-navy);}
.dyw-js__block-body{margin-top:24px;}
.dyw-js__block-body p{color:rgba(11,42,74,.8);}

/* Lists */
.dyw-js__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.dyw-js__list--2col{grid-template-columns:1fr;}
@media (min-width:640px){.dyw-js__list--2col{grid-template-columns:1fr 1fr;}}
.dyw-js__list-item{display:flex;gap:12px;align-items:flex-start;border-radius:16px;border:1px solid var(--dyw-border);background:#fff;padding:16px;color:rgba(11,42,74,.85);}
.dyw-js__list-item svg{flex-shrink:0;color:var(--dyw-navy);}
.dyw-js__dot{margin-top:6px;height:8px;width:8px;flex-shrink:0;border-radius:999px;background:var(--dyw-yellow);}

/* Perks */
.dyw-js__perks{display:grid;gap:16px;grid-template-columns:1fr;}
@media (min-width:640px){.dyw-js__perks{grid-template-columns:1fr 1fr;}}
.dyw-js__perk{display:flex;align-items:center;gap:16px;border-radius:16px;border:1px solid var(--dyw-border);background:#fff;padding:20px;transition:transform .2s,box-shadow .2s;}
.dyw-js__perk:hover{transform:translateY(-4px);box-shadow:0 10px 20px -8px rgba(0,0,0,.1);}
.dyw-js__perk-icon{display:grid;place-items:center;height:48px;width:48px;border-radius:12px;background:var(--dyw-sky);color:var(--dyw-navy);flex-shrink:0;}
.dyw-js__perk-label{font-size:14px;color:var(--dyw-navy);margin:0;}

/* Apply CTA */
.dyw-js__cta{position:relative;overflow:hidden;border-radius:24px;background:var(--dyw-navy);color:#fff;padding:48px;}
@media (max-width:640px){.dyw-js__cta{padding:32px;}}
.dyw-js__cta-bg1,.dyw-js__cta-bg2{position:absolute;pointer-events:none;border-radius:24px;}
.dyw-js__cta-bg1{right:-40px;top:-40px;height:192px;width:192px;transform:rotate(12deg);background:rgba(255,212,71,.2);}
.dyw-js__cta-bg2{bottom:-64px;left:-24px;height:224px;width:224px;transform:rotate(-6deg);background:rgba(247,198,208,.15);}
.dyw-js__cta-inner{position:relative;}
.dyw-js__cta .dyw-js__eyebrow{color:rgba(255,255,255,.6);}
.dyw-js__cta-title{margin:12px 0 0;font-size:32px;line-height:1.15;color:#fff;}
.dyw-js__cta-title .accent{color:var(--dyw-yellow);}
.dyw-js__cta-desc{margin-top:12px;max-width:560px;color:rgba(255,255,255,.8);}
.dyw-js__cta-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;}
.dyw-js__cta .dyw-js__btn--ghost{color:#fff;border-color:rgba(255,255,255,.4);}
.dyw-js__cta .dyw-js__btn--ghost:hover{background:rgba(255,255,255,.1);}

/* Sidebar */
.dyw-js__aside{display:flex;flex-direction:column;gap:24px;min-width:0;}
@media (min-width:900px){.dyw-js__aside{position:sticky;top:128px;align-self:flex-start;}}
.dyw-js__side-card{border-radius:24px;border:2px solid rgba(11,42,74,.1);background:#fff;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.dyw-js__side-list{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14px;}
.dyw-js__side-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.dyw-js__side-label{color:rgba(11,42,74,.6);display:inline-flex;align-items:center;gap:8px;}
.dyw-js__side-value{color:var(--dyw-navy);text-align:right;}
.dyw-js__side-btn{margin-top:24px;width:100%;}
.dyw-js__side-btn svg,.dyw-js__side-btn i,.dyw-js__side-btn::after{display:none!important;content:none!important;}
.dyw-js__side-team{border-radius:24px;border:2px solid rgba(11,42,74,.1);padding:24px;background:rgba(247,198,208,.3);}
.dyw-js__side-team-text{margin-top:12px;font-size:14px;color:rgba(11,42,74,.8);}
.dyw-js__side-team-link{margin-top:16px;display:inline-flex;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--dyw-navy);text-decoration:underline;text-underline-offset:4px;}

/* Mobile sticky */
.dyw-js__mobile-cta{position:sticky;bottom:0;z-index:30;border-top:1px solid var(--dyw-border);background:rgba(255,255,255,.95);backdrop-filter:blur(8px);padding:12px;}
.dyw-js__mobile-cta a{display:flex;width:100%;justify-content:center;}
@media (min-width:900px){.dyw-js__mobile-cta{display:none;}}
