/**
 * Sunshine Elementor Widgets — base styling.
 * Author: Mehedi Hasan
 *
 * These are DEFAULTS only. Every colour, size and space below can be overridden
 * from the Elementor Style tab, which outputs higher-specificity generated CSS.
 */
.sswin{
  --navy:#0B3556;--navy-deep:#082941;--ocean:#1C7DB8;--sun:#F5B32D;--sun-hi:#FFC64F;
  --white:#fff;--cream:#FFF4EF;--mist:#EEF3F7;--line:#D9E4EC;--body:#42607A;--faint:#4A6880;--r:12px;
  --display:'Manrope',system-ui,-apple-system,sans-serif;--text:'IBM Plex Sans',system-ui,sans-serif;
  --spec:'IBM Plex Mono',ui-monospace,monospace;--ease:cubic-bezier(.2,.7,.3,1);
  font-family:var(--text);color:var(--navy);
}
.sswin *{box-sizing:border-box}
.sswin .sec{padding:8px 0}

/* ---------- the toggle bar ---------- */
.sswin .w-pick{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap;padding:0 0 26px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.sswin .w-said{font-family:var(--display);font-weight:800;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em;color:var(--navy);margin-right:4px;align-self:center}
.sswin .w-tog{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:13px 26px 15px;border-radius:var(--r);border:1px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .18s,background .18s,color .18s,box-shadow .18s}
.sswin .w-tog .wt{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.022em;color:var(--navy);line-height:1.1}
.sswin .w-tog .ws{font-family:var(--spec);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);transition:color .18s}
.sswin .w-tog::after{content:"";position:absolute;left:26px;right:26px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--sun);transform:scaleX(0);transform-origin:50% 100%;transition:transform .28s var(--ease)}
.sswin .w-tog:hover{border-color:var(--ocean)}
.sswin .w-tog[aria-checked="true"]{background:var(--navy);border-color:var(--navy);box-shadow:0 12px 28px -18px rgba(11,53,86,.85)}
.sswin .w-tog[aria-checked="true"] .wt{color:var(--white)}
.sswin .w-tog[aria-checked="true"] .ws{color:var(--sun)}
.sswin .w-tog[aria-checked="true"]::after{transform:scaleX(1)}

/* ---------- card groups ---------- */
.sswin .cd-group{display:none}
.sswin .cd-group.is-on{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;align-items:stretch}
.sswin .cd{min-width:0;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 14px 34px -26px rgba(11,53,86,.7)}
.sswin .cd::before{content:"";display:block;flex:none;height:3px;background:var(--line)}
.sswin .cd--pri::before{background:var(--sun)}
.sswin .cd-frame{position:relative}
.sswin .cd-shot{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.sswin .cd-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .8s var(--ease)}
.sswin .cd:hover .cd-shot img{transform:scale(1.035)}
.sswin .cd-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,41,65,.94),rgba(8,41,65,.8) 22%,rgba(8,41,65,.4) 44%,rgba(8,41,65,.1) 68%,rgba(8,41,65,.24))}
.sswin .cd-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column-reverse;gap:8px;padding:0 20px 18px}
.sswin .cd-kick{margin:0;font-family:var(--spec);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sun)}
.sswin .cd-nm{margin:0;font-family:var(--display);font-weight:800;font-size:21px;line-height:1.08;letter-spacing:-.028em;color:var(--white)}
.sswin .cd-body{display:flex;flex-direction:column;flex:1 1 auto;padding:17px 20px 20px}
.sswin .cd-desc{margin:0 0 13px;font-size:14.5px;line-height:1.55;color:var(--body)}
.sswin .cd-tog{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin-top:auto;padding:10px 0 0;border:0;border-top:1px solid var(--line);background:none;font-family:var(--spec);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--body);cursor:pointer;transition:color .18s var(--ease)}
.sswin .cd-tog:hover{color:var(--ocean)}
.sswin .cd-sign{position:relative;width:13px;height:13px;flex:none;margin-left:auto;color:var(--ocean)}
.sswin .cd-sign::before,.sswin .cd-sign::after{content:"";position:absolute;background:currentColor;border-radius:1px}
.sswin .cd-sign::before{left:0;right:0;top:5.7px;height:1.6px}
.sswin .cd-sign::after{top:0;bottom:0;left:5.7px;width:1.6px;transition:transform .25s var(--ease)}
.sswin .cd-tog[aria-expanded="true"] .cd-sign::after{transform:scaleY(0)}
.sswin .cd-drop{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
.sswin .cd.is-open .cd-drop{grid-template-rows:1fr}
.sswin .cd-drop>div{overflow:hidden;min-height:0}
.sswin .plate{margin:0;padding:11px 0 1px;display:grid}
.sswin .plate>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:5px 0;align-items:baseline}
.sswin .plate>div+div{border-top:1px solid var(--line)}
.sswin .plate dt{margin:0;font-family:var(--spec);font-size:8.5px;font-weight:600;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.sswin .plate dd{margin:0;font-family:var(--spec);font-size:11.5px;font-weight:500;line-height:1.35;color:var(--body)}
.sswin .plate>div:first-child dd{color:var(--navy);font-weight:600}
.sswin .cd-act{margin:0;padding-top:16px}
.sswin .cd-see{display:inline-flex;align-items:flex-end;gap:9px;font-family:var(--display);font-weight:800;font-size:14.5px;letter-spacing:-.014em;color:var(--navy);border-bottom:2px solid var(--sun);padding-bottom:4px;text-decoration:none;transition:color .18s var(--ease)}
.sswin .cd-see:hover{color:var(--ocean)}

/* ---------- window types wall (span-based mosaic) ---------- */
.sswin.sew-types .wt-wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:3px;height:304px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 16px 38px -24px rgba(11,53,86,.72)}
.sswin.sew-types .wt-pane{position:relative;overflow:hidden;background:var(--mist);min-width:0}
.sswin.sew-types .wt-pane.is-hero{grid-column:span 2;grid-row:span 2}
.sswin.sew-types .wt-pane.is-tall{grid-row:span 2}
.sswin.sew-types .wt-pane img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.sswin.sew-types .wt-pane.is-hero:hover img{transform:scale(1.03)}
.sswin.sew-types .wt-pane:not(.is-hero)::after{content:"";position:absolute;inset:0;background:rgba(8,41,65,.13)}

/* ---------- responsive ---------- */
@media(max-width:1180px){.sswin .cd-group.is-on{grid-template-columns:repeat(2,minmax(0,1fr))}.sswin .cd-shot{aspect-ratio:16/10}}
@media(max-width:767px){.sswin .w-said{display:block;flex:0 0 100%;width:100%;margin:0 0 8px;font-size:20px;align-self:auto}.sswin .w-pick{gap:8px;padding-bottom:20px;margin-bottom:22px}.sswin .w-tog{flex:1 1 0;min-width:0;padding:12px 6px;align-items:center;text-align:center}.sswin .w-tog .wt{font-size:16px}.sswin .w-tog .ws{font-size:8.5px;letter-spacing:.1em}.sswin .w-tog::after{left:10px;right:10px}.sswin .cd-group.is-on{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sswin .cd-shot{aspect-ratio:4/3}.sswin .cd-nm{font-size:15px}.sswin .cd-cap{padding:0 12px 12px}.sswin .cd-body{padding:12px 13px 14px}.sswin .cd-desc{font-size:12.5px}.sswin.sew-types .wt-wall{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;grid-auto-flow:row;height:auto}.sswin.sew-types .wt-pane{aspect-ratio:1/1;grid-row:auto!important;grid-column:auto}.sswin.sew-types .wt-pane.is-hero{grid-column:1/-1!important;grid-row:auto!important;aspect-ratio:16/10}.sswin.sew-types .wt-pane.is-tall{grid-row:auto!important}}