/* Free Custom Design page — isolated styles */

#csw-free-design-page {

    --csw-fd-blue: #0878f9;

    --csw-fd-blue-dark: #075ac5;

    --csw-fd-navy: #10294b;

    --csw-fd-text: #172b48;

    --csw-fd-muted: #66758a;

    --csw-fd-border: #e2e9f2;

    --csw-fd-pale: #eef6ff;

    color: var(--csw-fd-text);

    font-family: inherit;

    line-height: 1.55;

    background: #fff;

}

#csw-free-design-page * { box-sizing: border-box; }

#csw-free-design-page img { max-width: 100%; height: auto; }

#csw-free-design-page a { text-decoration: none; }

#csw-free-design-page button,

#csw-free-design-page input,

#csw-free-design-page select,

#csw-free-design-page textarea { font: inherit; }

#csw-free-design-page .csw-fd-container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }

#csw-free-design-page .csw-fd-hero { overflow: hidden; background: linear-gradient(118deg,#f5faff 0%,#eaf4ff 53%,#dbeaff 100%); position: relative; }

#csw-free-design-page .csw-fd-hero:before { content:""; position:absolute; inset:0; opacity:.45; background:linear-gradient(135deg,transparent 0 24%,rgba(255,255,255,.85) 24% 27%,transparent 27% 48%,rgba(255,255,255,.55) 48% 51%,transparent 51%); pointer-events:none; }

#csw-free-design-page .csw-fd-hero-inner { position:relative; z-index:1; width:min(1200px,calc(100% - 48px)); min-height:350px; margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:24px; padding:42px 0 32px; }

#csw-free-design-page .csw-fd-hero-copy { max-width:570px; }

#csw-free-design-page .csw-fd-eyebrow { display:block; margin:0 0 10px; color:var(--csw-fd-blue); font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }

#csw-free-design-page .csw-fd-hero h1 { margin:0 0 8px; color:var(--csw-fd-navy); font-size:clamp(36px,4.3vw,56px); line-height:1.06; letter-spacing:-.045em; font-weight:850; }

#csw-free-design-page .csw-fd-hero h1 span { color:var(--csw-fd-blue); }

#csw-free-design-page .csw-fd-hero h2 { margin:0 0 12px; font-size:clamp(18px,2vw,24px); color:var(--csw-fd-navy); font-weight:750; }

#csw-free-design-page .csw-fd-hero-copy > p { max-width:520px; margin:0 0 22px; color:#4b5d74; font-size:15px; }

#csw-free-design-page .csw-fd-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 23px; border:1px solid transparent; border-radius:10px; font-size:14px; font-weight:750; line-height:1.2; cursor:pointer; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }

#csw-free-design-page .csw-fd-button:hover { transform:translateY(-2px); }

#csw-free-design-page .csw-fd-button-primary { color:#fff; background:var(--csw-fd-blue); box-shadow:0 8px 20px rgba(8,120,249,.18); }

#csw-free-design-page .csw-fd-button-primary:hover { color:#fff; background:var(--csw-fd-blue-dark); }

#csw-free-design-page .csw-fd-hero-benefits { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:22px; color:#29415e; font-size:11px; font-weight:700; }

#csw-free-design-page .csw-fd-hero-benefits span { display:inline-flex; align-items:center; gap:6px; }

#csw-free-design-page .csw-fd-hero-benefits b { color:var(--csw-fd-blue); font-size:16px; }

#csw-free-design-page .csw-fd-hero-visual { position:relative; min-height:275px; display:flex; align-items:center; justify-content:center; isolation:isolate; }

#csw-free-design-page .csw-fd-hero-glow { position:absolute; width:88%; height:78%; border-radius:50%; background:radial-gradient(ellipse,rgba(255,255,255,.95),rgba(255,255,255,0) 70%); z-index:-1; }

#csw-free-design-page .csw-fd-hero-product { position:absolute; width:42%; height:88%; display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 18px 18px rgba(16,41,75,.14)); }

#csw-free-design-page .csw-fd-hero-product img { width:100%; height:100%; object-fit:contain; }

#csw-free-design-page .csw-fd-hero-product-1 { left:0; transform:rotate(-7deg) scale(.87); }

#csw-free-design-page .csw-fd-hero-product-2 { left:29%; z-index:2; transform:translateY(8px) scale(1.02); }

#csw-free-design-page .csw-fd-hero-product-3 { right:0; transform:rotate(7deg) scale(.87); }

#csw-free-design-page .csw-fd-visual-caption { position:absolute; right:4px; bottom:0; display:flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid rgba(255,255,255,.9); border-radius:99px; background:rgba(255,255,255,.8); color:#2c4665; font-size:11px; font-weight:700; box-shadow:0 6px 20px rgba(16,41,75,.07); }

#csw-free-design-page .csw-fd-caption-dot { width:7px; height:7px; border-radius:50%; background:#18b878; }

#csw-free-design-page .csw-fd-jersey-art { width:29%; height:220px; position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; clip-path:polygon(22% 0,39% 9%,61% 9%,78% 0,100% 17%,83% 42%,76% 35%,76% 100%,24% 100%,24% 35%,17% 42%,0 17%); color:#fff; font-weight:900; box-shadow:0 20px 30px rgba(16,41,75,.2); }

#csw-free-design-page .csw-fd-jersey-art span { margin-top:25px; font-size:9px; letter-spacing:.1em; }

#csw-free-design-page .csw-fd-jersey-art strong { font-size:42px; }

#csw-free-design-page .csw-fd-jersey-blue { left:8%; background:linear-gradient(130deg,#0574ef,#071f52); transform:rotate(-8deg) scale(.88); }

#csw-free-design-page .csw-fd-jersey-white { z-index:2; background:linear-gradient(130deg,#fff,#dfe9f7); color:#0c3265; border:1px solid #c6d4e7; }

#csw-free-design-page .csw-fd-jersey-black { right:7%; background:linear-gradient(130deg,#16263d,#020813); transform:rotate(8deg) scale(.88); }

#csw-free-design-page .csw-fd-products { padding-top:44px; padding-bottom:40px; }

#csw-free-design-page .csw-fd-section-heading { max-width:760px; margin:0 auto 24px; text-align:center; }

#csw-free-design-page .csw-fd-section-heading-left { margin-left:0; text-align:left; }

#csw-free-design-page .csw-fd-section-heading .csw-fd-eyebrow { margin-bottom:5px; }

#csw-free-design-page .csw-fd-section-heading h2 { margin:0 0 5px; color:var(--csw-fd-navy); font-size:clamp(24px,3vw,32px); line-height:1.2; letter-spacing:-.025em; font-weight:800; }

#csw-free-design-page .csw-fd-section-heading p { margin:0; color:var(--csw-fd-muted); font-size:14px; }

#csw-free-design-page .csw-fd-product-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }

#csw-free-design-page .csw-fd-product-card { min-width:0; padding:10px 8px 12px; border:1px solid var(--csw-fd-border); border-radius:12px; background:#fff; text-align:center; cursor:pointer; transition:border-color .2s,box-shadow .2s,transform .2s; }

#csw-free-design-page .csw-fd-product-card:hover,#csw-free-design-page .csw-fd-product-card.is-selected { border-color:var(--csw-fd-blue); box-shadow:0 6px 18px rgba(8,120,249,.1); transform:translateY(-2px); }

#csw-free-design-page .csw-fd-product-card-image { position:relative; display:flex; height:115px; align-items:center; justify-content:center; overflow:hidden; }

#csw-free-design-page .csw-fd-product-card-image > img { max-width:100%; max-height:112px; object-fit:contain; }

#csw-free-design-page .csw-fd-product-check { display:none; position:absolute; top:2px; right:2px; width:22px; height:22px; border-radius:50%; background:var(--csw-fd-blue); color:#fff; font-size:13px; line-height:22px; }

#csw-free-design-page .csw-fd-product-card.is-selected .csw-fd-product-check { display:block; }

#csw-free-design-page .csw-fd-product-card-title { display:block; margin-top:8px; color:var(--csw-fd-navy); font-size:12px; font-weight:750; line-height:1.35; }

#csw-free-design-page .csw-fd-product-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; width:68px; height:94px; color:#fff; background:linear-gradient(135deg,#0878f9,#092b63); clip-path:polygon(22% 0,39% 9%,61% 9%,78% 0,100% 17%,83% 42%,76% 35%,76% 100%,24% 100%,24% 35%,17% 42%,0 17%); }

#csw-free-design-page .csw-fd-product-placeholder span { margin-top:13px; font-size:8px; font-weight:800; }

#csw-free-design-page .csw-fd-product-placeholder b { font-size:25px; }

#csw-free-design-page .csw-fd-placeholder-2,#csw-free-design-page .csw-fd-placeholder-6 { background:linear-gradient(135deg,#f4f6fa,#c9d4e5); color:#10294b; }

#csw-free-design-page .csw-fd-placeholder-3 { background:linear-gradient(135deg,#fa6ca4,#74194e); }

#csw-free-design-page .csw-fd-placeholder-4,#csw-free-design-page .csw-fd-placeholder-5 { width:75px; height:100px; clip-path:none; border-radius:10px; background:linear-gradient(130deg,#067bf6,#071d42); }

#csw-free-design-page .csw-fd-form-section { padding-top:0; padding-bottom:62px; scroll-margin-top:25px; }

#csw-free-design-page .csw-fd-form-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); align-items:start; gap:18px; }

#csw-free-design-page .csw-fd-form-card { min-width:0; padding:28px; border:1px solid var(--csw-fd-border); border-radius:14px; background:#fff; box-shadow:0 6px 25px rgba(16,41,75,.035); }

#csw-free-design-page .csw-fd-form-intro { margin-bottom:24px; }

#csw-free-design-page .csw-fd-form-intro .csw-fd-eyebrow { margin-bottom:5px; }

#csw-free-design-page .csw-fd-form-intro h2 { margin:0 0 6px; color:var(--csw-fd-navy); font-size:28px; line-height:1.2; font-weight:800; }

#csw-free-design-page .csw-fd-form-intro p { margin:0; color:var(--csw-fd-muted); font-size:13px; }

#csw-free-design-page .csw-fd-fieldset { min-width:0; margin:0 0 25px; padding:0; border:0; }

#csw-free-design-page .csw-fd-fieldset legend { display:flex; align-items:center; gap:9px; width:100%; margin-bottom:15px; padding:0; color:var(--csw-fd-navy); font-size:16px; font-weight:800; }

#csw-free-design-page .csw-fd-fieldset legend > span { display:inline-flex; width:25px; height:25px; align-items:center; justify-content:center; border-radius:50%; background:#e8f2ff; color:var(--csw-fd-blue); font-size:12px; }

#csw-free-design-page .csw-fd-fieldset legend em { margin-left:auto; color:#8b98aa; font-size:11px; font-style:normal; font-weight:500; }

#csw-free-design-page .csw-fd-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; }

#csw-free-design-page .csw-fd-field { display:flex; min-width:0; flex-direction:column; gap:6px; color:#233b59; font-size:12px; font-weight:700; }

#csw-free-design-page .csw-fd-field > span i,#csw-free-design-page .csw-fd-consent i { color:#ed4b5b; font-style:normal; }

#csw-free-design-page .csw-fd-field input,#csw-free-design-page .csw-fd-field select,#csw-free-design-page .csw-fd-field textarea { width:100%; min-width:0; min-height:43px; margin:0; padding:10px 12px; border:1px solid #d9e2ed; border-radius:7px; outline:none; background:#fff; color:var(--csw-fd-text); font-size:13px; font-weight:400; box-shadow:none; }

#csw-free-design-page .csw-fd-field input:focus,#csw-free-design-page .csw-fd-field select:focus,#csw-free-design-page .csw-fd-field textarea:focus { border-color:var(--csw-fd-blue); box-shadow:0 0 0 3px rgba(8,120,249,.1); }

#csw-free-design-page .csw-fd-field input::placeholder,#csw-free-design-page .csw-fd-field textarea::placeholder { color:#9aa6b6; }

#csw-free-design-page .csw-fd-field-full { grid-column:1/-1; }

#csw-free-design-page .csw-fd-field textarea { min-height:108px; resize:vertical; }

#csw-free-design-page .csw-fd-field small { color:#8a97a8; font-size:11px; font-weight:400; }

#csw-free-design-page .csw-fd-upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }

#csw-free-design-page .csw-fd-upload-box { position:relative; display:flex; min-height:132px; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:18px 10px; border:1px dashed #8bbdff; border-radius:9px; background:#f6faff; text-align:center; cursor:pointer; transition:background .2s,border-color .2s; }

#csw-free-design-page .csw-fd-upload-box:hover,#csw-free-design-page .csw-fd-upload-box.has-file { border-color:var(--csw-fd-blue); background:#eef6ff; }

#csw-free-design-page .csw-fd-upload-box input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }

#csw-free-design-page .csw-fd-upload-icon { display:flex; width:34px; height:34px; align-items:center; justify-content:center; border:1px solid #c7e0ff; border-radius:10px; background:#fff; color:var(--csw-fd-blue); font-size:24px; font-weight:700; }

#csw-free-design-page .csw-fd-upload-box strong { color:var(--csw-fd-navy); font-size:12px; }

#csw-free-design-page .csw-fd-upload-filename { max-width:100%; overflow-wrap:anywhere; color:#7b8ba1; font-size:10px; }

#csw-free-design-page .csw-fd-consent { display:flex; align-items:flex-start; gap:9px; margin:0 0 18px; color:#5b6d82; font-size:12px; font-weight:400; }

#csw-free-design-page .csw-fd-consent input { width:16px; height:16px; flex:0 0 auto; margin:2px 0 0; accent-color:var(--csw-fd-blue); }

#csw-free-design-page .csw-fd-submit { width:100%; min-height:50px; }

#csw-free-design-page .csw-fd-form-footnote { margin:10px 0 0; color:#8b98aa; font-size:11px; text-align:center; }

#csw-free-design-page .csw-fd-sidebar { display:flex; flex-direction:column; gap:16px; }

#csw-free-design-page .csw-fd-benefit-card { padding:26px 23px; border-radius:14px; background:linear-gradient(145deg,#eef6ff,#e4f0ff); }

#csw-free-design-page .csw-fd-benefit-card h3 { margin:0 0 22px; color:var(--csw-fd-navy); font-size:19px; font-weight:800; }

#csw-free-design-page .csw-fd-benefit { display:grid; grid-template-columns:48px 1fr; align-items:center; gap:12px; margin-top:18px; }

#csw-free-design-page .csw-fd-benefit:first-of-type { margin-top:0; }

#csw-free-design-page .csw-fd-benefit-icon { display:flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:50%; background:#fff; color:var(--csw-fd-blue); font-size:24px; font-weight:800; box-shadow:0 5px 15px rgba(8,120,249,.07); }

#csw-free-design-page .csw-fd-benefit strong { display:block; margin-bottom:3px; color:var(--csw-fd-navy); font-size:12px; }

#csw-free-design-page .csw-fd-benefit p { margin:0; color:#65758b; font-size:11px; line-height:1.5; }

#csw-free-design-page .csw-fd-inspiration-card { min-height:210px; display:flex; align-items:center; padding:24px; overflow:hidden; border:1px solid #e0edfc; border-radius:14px; background:radial-gradient(circle at 100% 100%,#cfe5ff 0,transparent 46%),linear-gradient(120deg,#f6faff,#eaf4ff); }

#csw-free-design-page .csw-fd-inspiration-card h3 { max-width:240px; margin:0 0 8px; color:var(--csw-fd-navy); font-size:21px; line-height:1.2; font-weight:800; }

#csw-free-design-page .csw-fd-inspiration-card p { max-width:280px; margin:0 0 16px; color:#65758b; font-size:12px; }

#csw-free-design-page .csw-fd-outline-button { display:inline-flex; align-items:center; gap:8px; padding:10px 13px; border:1px solid var(--csw-fd-blue); border-radius:8px; color:var(--csw-fd-blue); background:#fff; font-size:12px; font-weight:750; }

#csw-free-design-page .csw-fd-outline-button:hover { background:var(--csw-fd-blue); color:#fff; }

#csw-free-design-page .csw-fd-notice { margin:0 0 20px; padding:16px 18px; border-radius:9px; font-size:13px; }

#csw-free-design-page .csw-fd-notice p { margin:5px 0 0; }

#csw-free-design-page .csw-fd-notice-success { border:1px solid #b7ebd0; background:#effcf5; color:#12643b; }

#csw-free-design-page .csw-fd-notice-error { border:1px solid #f3c2c2; background:#fff5f5; color:#9d2525; }

#csw-free-design-page .csw-fd-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

#csw-free-design-page .csw-fd-process { padding-top:0; padding-bottom:62px; }

#csw-free-design-page .csw-fd-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }

#csw-free-design-page .csw-fd-step { position:relative; text-align:center; }

#csw-free-design-page .csw-fd-step-number { position:absolute; z-index:2; top:10px; left:calc(50% - 145px); display:flex; width:36px; height:36px; align-items:center; justify-content:center; border:3px solid #fff; border-radius:50%; background:var(--csw-fd-blue); color:#fff; font-size:13px; font-weight:800; box-shadow:0 5px 12px rgba(8,120,249,.22); }

#csw-free-design-page .csw-fd-step-visual { display:flex; height:155px; align-items:flex-end; justify-content:center; overflow:hidden; border-radius:10px; background:linear-gradient(140deg,#dcecff,#f3f8ff); }

#csw-free-design-page .csw-fd-step-visual span { margin-bottom:16px; padding:6px 10px; border-radius:5px; background:rgba(255,255,255,.8); color:#15365e; font-size:11px; font-weight:850; letter-spacing:.1em; }

#csw-free-design-page .csw-fd-step-visual-one { background:linear-gradient(145deg,#edf6ff,#bddcff); }

#csw-free-design-page .csw-fd-step-visual-two { background:linear-gradient(145deg,#e6f1ff,#a9cfff); }

#csw-free-design-page .csw-fd-step-visual-three { background:linear-gradient(145deg,#d6e8ff,#87b9f8); }

#csw-free-design-page .csw-fd-step h3 { margin:14px 0 5px; color:var(--csw-fd-navy); font-size:15px; font-weight:800; }

#csw-free-design-page .csw-fd-step p { max-width:330px; margin:0 auto; color:var(--csw-fd-muted); font-size:12px; }

#csw-free-design-page .csw-fd-gallery { padding-bottom:58px; }

#csw-free-design-page .csw-fd-gallery-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }

#csw-free-design-page .csw-fd-gallery-item { min-width:0; overflow:hidden; border:1px solid var(--csw-fd-border); border-radius:10px; background:#fff; transition:transform .2s,box-shadow .2s; }

#csw-free-design-page .csw-fd-gallery-item:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(16,41,75,.09); }

#csw-free-design-page .csw-fd-gallery-image { display:flex; height:150px; align-items:center; justify-content:center; padding:8px; background:#f7f9fc; }

#csw-free-design-page .csw-fd-gallery-image img { width:100%; height:100%; object-fit:contain; }

#csw-free-design-page .csw-fd-gallery-name { display:block; padding:10px; overflow:hidden; color:var(--csw-fd-navy); font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }

#csw-free-design-page .csw-fd-bottom-cta { position:relative; overflow:hidden; padding:52px 24px; background:radial-gradient(ellipse at 50% 140%,rgba(16,119,249,.42),transparent 60%),linear-gradient(110deg,#071d3a,#0b3569 55%,#06172e); text-align:center; }

#csw-free-design-page .csw-fd-bottom-cta:before { content:""; position:absolute; inset:0; opacity:.12; background:repeating-linear-gradient(125deg,transparent 0 80px,#fff 81px 83px,transparent 84px 150px); pointer-events:none; }

#csw-free-design-page .csw-fd-bottom-cta-inner { position:relative; max-width:760px; margin:auto; }

#csw-free-design-page .csw-fd-bottom-cta .csw-fd-eyebrow { color:#8fc5ff; }

#csw-free-design-page .csw-fd-bottom-cta h2 { margin:0 0 8px; color:#fff; font-size:clamp(26px,3vw,36px); font-weight:850; }

#csw-free-design-page .csw-fd-bottom-cta p { margin:0 0 22px; color:#d3e4fa; font-size:14px; }

#csw-free-design-page .csw-fd-button-light { background:#fff; color:var(--csw-fd-blue-dark); }

#csw-free-design-page .csw-fd-button-light:hover { background:#eaf4ff; color:var(--csw-fd-blue-dark); }

@media (max-width: 1050px) {

    #csw-free-design-page .csw-fd-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

    #csw-free-design-page .csw-fd-form-layout { grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr); }

    #csw-free-design-page .csw-fd-hero-inner { min-height:320px; }

    #csw-free-design-page .csw-fd-hero-visual { min-height:240px; }

    #csw-free-design-page .csw-fd-jersey-art { height:185px; }

    #csw-free-design-page .csw-fd-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

}

@media (max-width: 760px) {

    #csw-free-design-page .csw-fd-container,#csw-free-design-page .csw-fd-hero-inner { width:calc(100% - 32px); }

    #csw-free-design-page .csw-fd-hero-inner { grid-template-columns:1fr; gap:6px; padding:34px 0 22px; }

    #csw-free-design-page .csw-fd-hero h1 { font-size:clamp(35px,9vw,48px); }

    #csw-free-design-page .csw-fd-hero-copy > p { font-size:14px; }

    #csw-free-design-page .csw-fd-hero-visual { min-height:220px; max-width:500px; width:100%; margin:0 auto; }

    #csw-free-design-page .csw-fd-jersey-art { height:175px; }

    #csw-free-design-page .csw-fd-hero-product { height:95%; }

    #csw-free-design-page .csw-fd-hero-benefits { gap:8px 12px; font-size:10px; }

    #csw-free-design-page .csw-fd-products { padding-top:32px; padding-bottom:30px; }

    #csw-free-design-page .csw-fd-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }

    #csw-free-design-page .csw-fd-product-card { display:flex; align-items:center; gap:10px; padding:8px; text-align:left; }

    #csw-free-design-page .csw-fd-product-card-image { flex:0 0 64px; height:70px; }

    #csw-free-design-page .csw-fd-product-card-image > img { max-height:68px; }

    #csw-free-design-page .csw-fd-product-placeholder { width:42px; height:60px; }

    #csw-free-design-page .csw-fd-product-placeholder span { font-size:5px; margin-top:8px; }

    #csw-free-design-page .csw-fd-product-placeholder b { font-size:17px; }

    #csw-free-design-page .csw-fd-product-card-title { margin:0; font-size:11px; }

    #csw-free-design-page .csw-fd-form-section { padding-bottom:42px; }

    #csw-free-design-page .csw-fd-form-layout { grid-template-columns:1fr; }

    #csw-free-design-page .csw-fd-form-card { padding:20px 16px; }

    #csw-free-design-page .csw-fd-form-intro h2 { font-size:24px; }

    #csw-free-design-page .csw-fd-fields-grid { gap:14px 10px; }

    #csw-free-design-page .csw-fd-field { font-size:11px; }

    #csw-free-design-page .csw-fd-field input,#csw-free-design-page .csw-fd-field select,#csw-free-design-page .csw-fd-field textarea { padding:10px; font-size:12px; }

    #csw-free-design-page .csw-fd-upload-grid { grid-template-columns:1fr; }

    #csw-free-design-page .csw-fd-upload-box { min-height:115px; }

    #csw-free-design-page .csw-fd-benefit-card { padding:22px 18px; }

    #csw-free-design-page .csw-fd-steps { grid-template-columns:1fr; gap:24px; }

    #csw-free-design-page .csw-fd-step { max-width:440px; margin:0 auto; width:100%; }

    #csw-free-design-page .csw-fd-step-number { left:12px; }

    #csw-free-design-page .csw-fd-step-visual { height:170px; }

    #csw-free-design-page .csw-fd-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

    #csw-free-design-page .csw-fd-gallery-image { height:130px; }

    #csw-free-design-page .csw-fd-bottom-cta { padding:40px 20px; }

}

@media (max-width: 420px) {

    #csw-free-design-page .csw-fd-fields-grid { grid-template-columns:1fr; }

    #csw-free-design-page .csw-fd-field-full { grid-column:auto; }

    #csw-free-design-page .csw-fd-product-grid { grid-template-columns:1fr 1fr; }

    #csw-free-design-page .csw-fd-hero-benefits { display:grid; grid-template-columns:1fr 1fr; }

}





/* ---------------------------------------------------------

   Frontend polish pass — Free Custom Design

   Appended overrides only; existing responsive layout remains.

\---------------------------------------------------------- */

#csw-free-design-page .csw-fd-section-heading h2,

#csw-free-design-page .csw-fd-form-intro h2 {

    letter-spacing: -.035em;

}

#csw-free-design-page .csw-fd-product-card {

    box-shadow: 0 3px 12px rgba(16, 41, 75, .025);

    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;

}

#csw-free-design-page .csw-fd-product-card:hover {

    transform: translateY(-3px);

    box-shadow: 0 12px 24px rgba(16, 41, 75, .09);

}

#csw-free-design-page .csw-fd-product-card.is-selected {

    box-shadow: 0 8px 22px rgba(8, 120, 249, .12);

}

#csw-free-design-page .csw-fd-form-card {

    box-shadow: 0 12px 34px rgba(16, 41, 75, .055);

}

#csw-free-design-page .csw-fd-field input,

#csw-free-design-page .csw-fd-field select,

#csw-free-design-page .csw-fd-field textarea {

    border-radius: 8px;

    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;

}

#csw-free-design-page .csw-fd-field input:focus,

#csw-free-design-page .csw-fd-field select:focus,

#csw-free-design-page .csw-fd-field textarea:focus {

    border-color: #0878f9;

    box-shadow: 0 0 0 3px rgba(8, 120, 249, .12);

    outline: 0;

}

#csw-free-design-page .csw-fd-benefit-card {

    border: 1px solid #e2ecfa;

    box-shadow: 0 10px 28px rgba(16, 41, 75, .045);

}

#csw-free-design-page .csw-fd-benefit-icon {

    flex: 0 0 48px;

    color: #0878f9;

    background: linear-gradient(145deg, #fff 0%, #edf6ff 100%);

    border: 1px solid #e2efff;

}

#csw-free-design-page .csw-fd-benefit:nth-of-type(5) .csw-fd-benefit-icon {

    color: #0878f9;

}

#csw-free-design-page .csw-fd-inspiration-card {

    border: 1px solid #d9e9ff;

    box-shadow: 0 8px 24px rgba(16, 41, 75, .035);

}

#csw-free-design-page .csw-fd-notice-success {

    position: relative;

    padding: 18px 20px 18px 56px;

    border-radius: 12px;

    box-shadow: 0 8px 20px rgba(18, 100, 59, .055);

}

#csw-free-design-page .csw-fd-notice-success:before {

    content: "✓";

    position: absolute;

    left: 17px;

    top: 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 26px;

    height: 26px;

    border-radius: 50%;

    color: #fff;

    background: #16a36a;

    font-size: 15px;

    font-weight: 800;

}

#csw-free-design-page .csw-fd-notice-success strong {

    display: block;

    font-size: 14px;

    line-height: 1.45;

}

#csw-free-design-page .csw-fd-notice-success p {

    line-height: 1.65;

}

#csw-free-design-page .csw-fd-upload-box {

    min-height: 142px;

    border-width: 1.5px;

    background: linear-gradient(145deg, #f8fbff 0%, #f0f7ff 100%);

}

#csw-free-design-page .csw-fd-upload-box strong {

    color: #10294b;

    font-size: 12px;

}

#csw-free-design-page .csw-fd-upload-filename {

    max-width: 100%;

    overflow-wrap: anywhere;

}

#csw-free-design-page .csw-fd-submit {

    min-height: 52px;

    box-shadow: 0 9px 20px rgba(8, 120, 249, .19);

}

#csw-free-design-page .csw-fd-submit:hover {

    box-shadow: 0 12px 25px rgba(8, 120, 249, .25);

}

#csw-free-design-page .csw-fd-submit:disabled,

#csw-free-design-page .csw-fd-submit.is-submitting {

    opacity: .78;

    cursor: wait;

    transform: none;

}

#csw-free-design-page .csw-fd-step-visual {

    position: relative;

    isolation: isolate;

    min-height: 170px;

    border: 1px solid rgba(255,255,255,.7);

    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);

}

#csw-free-design-page .csw-fd-step-visual:before,

#csw-free-design-page .csw-fd-step-visual:after {

    content: "";

    position: absolute;

    pointer-events: none;

}

#csw-free-design-page .csw-fd-step-visual:before {

    z-index: 0;

    left: 50%;

    top: 22px;

    width: 122px;

    height: 105px;

    transform: translateX(-50%) rotate(-4deg);

    border: 1px solid rgba(91, 143, 207, .2);

    border-radius: 10px;

    background:

        linear-gradient(#9ec8f5,#9ec8f5) 16px 20px / 60% 5px no-repeat,

        linear-gradient(#d4e5f8,#d4e5f8) 16px 34px / 78% 4px no-repeat,

        linear-gradient(#d4e5f8,#d4e5f8) 16px 45px / 68% 4px no-repeat,

        linear-gradient(#d4e5f8,#d4e5f8) 16px 56px / 76% 4px no-repeat,

        linear-gradient(135deg,#fff,#f8fbff);

    box-shadow: 0 12px 25px rgba(40, 91, 153, .13);

}

#csw-free-design-page .csw-fd-step-visual:after {

    z-index: 1;

    top: 78px;

    left: calc(50% + 28px);

    width: 28px;

    height: 28px;

    border-radius: 7px;

    background: linear-gradient(135deg, #0878f9, #67b4ff);

    box-shadow: 0 5px 12px rgba(8,120,249,.22);

}

#csw-free-design-page .csw-fd-step-visual-two:before {

    top: 17px;

    width: 105px;

    height: 116px;

    transform: translateX(-50%) rotate(2deg);

    border: 0;

    border-radius: 0;

    clip-path: polygon(22% 0, 38% 8%, 62% 8%, 78% 0, 100% 20%, 82% 39%, 73% 31%, 73% 100%, 27% 100%, 27% 31%, 18% 39%, 0 20%);

    background: linear-gradient(145deg, #ffffff 0%, #e8f3ff 48%, #0878f9 49%, #075ac5 100%);

    box-shadow: none;

}

#csw-free-design-page .csw-fd-step-visual-two:after {

    content: "10";

    top: 60px;

    left: 50%;

    width: auto;

    height: auto;

    transform: translateX(-50%);

    color: #fff;

    background: transparent;

    box-shadow: none;

    font-size: 26px;

    line-height: 1;

    font-weight: 900;

}

#csw-free-design-page .csw-fd-step-visual-three:before {

    top: 25px;

    width: 112px;

    height: 98px;

    transform: translateX(-50%) rotate(3deg);

    border-radius: 12px;

    border: 1px solid rgba(91,143,207,.2);

    background:

        radial-gradient(circle at 50% 37%, #c4e2ff 0 20px, transparent 21px),

        linear-gradient(#0878f9,#0878f9) center 69px / 54px 5px no-repeat,

        linear-gradient(#c5dcf5,#c5dcf5) center 80px / 70px 4px no-repeat,

        #fff;

    box-shadow: 0 12px 25px rgba(40,91,153,.13);

}

#csw-free-design-page .csw-fd-step-visual-three:after {

    content: "✓";

    top: 43px;

    left: 50%;

    width: 38px;

    height: 38px;

    transform: translateX(-50%);

    border: 3px solid #fff;

    border-radius: 50%;

    color: #fff;

    background: #16a36a;

    box-shadow: 0 5px 12px rgba(22,163,106,.25);

    font-size: 23px;

    line-height: 32px;

    font-weight: 900;

    text-align: center;

}

#csw-free-design-page .csw-fd-step-visual > span {

    position: relative;

    z-index: 2;

    margin-bottom: 12px;

    box-shadow: 0 3px 10px rgba(16,41,75,.06);

}

#csw-free-design-page .csw-fd-step-number {

    box-shadow: 0 5px 14px rgba(8,120,249,.24);

}

#csw-free-design-page .csw-fd-gallery-item {

    box-shadow: 0 4px 14px rgba(16,41,75,.035);

}

#csw-free-design-page .csw-fd-gallery-name {

    display: block;

    min-height: 42px;

    padding: 10px 12px;

    line-height: 1.45;

    overflow-wrap: anywhere;

}

#csw-free-design-page .csw-fd-bottom-cta {

    position: relative;

    overflow: hidden;

}

@media (max-width: 760px) {

    #csw-free-design-page .csw-fd-step-visual { min-height: 160px; }

    #csw-free-design-page .csw-fd-notice-success { padding-left: 52px; }

    #csw-free-design-page .csw-fd-upload-box { min-height: 125px; }

}

@media (prefers-reduced-motion: reduce) {

    #csw-free-design-page *,

    #csw-free-design-page *:before,

    #csw-free-design-page *:after {

        scroll-behavior: auto !important;

        transition-duration: .01ms !important;

        animation-duration: .01ms !important;

    }

}





/* Personal Support icon: use a blue text glyph to match the other benefit icons. */

#csw-free-design-page .csw-fd-benefit-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: #0878f9;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 23px;

    font-weight: 700;

    line-height: 1;

    background: linear-gradient(145deg, #fff 0%, #edf6ff 100%);

    border: 1px solid #e2efff;

}





/* Upload area polish: clearer hierarchy, more generous spacing and consistent states. */

#csw-free-design-page .csw-fd-upload-grid {

    gap: 14px;

    margin-top: 4px;

}

#csw-free-design-page .csw-fd-upload-box {

    min-height: 146px;

    gap: 9px;

    padding: 20px 14px 18px;

    overflow: hidden;

    border: 1px dashed #9bc6ff;

    border-radius: 13px;

    background:

        radial-gradient(circle at 50% 0%, rgba(255,255,255,.95), rgba(255,255,255,0) 58%),

        linear-gradient(135deg, #f7fbff 0%, #edf5ff 100%);

    box-shadow: 0 3px 12px rgba(20, 91, 170, .035);

}

#csw-free-design-page .csw-fd-upload-box::after {

    content: "Click to browse";

    display: inline-flex;

    align-items: center;

    justify-content: center;

    margin-top: 1px;

    padding: 4px 10px;

    border: 1px solid #d7e8ff;

    border-radius: 999px;

    background: rgba(255,255,255,.82);

    color: #0878f9;

    font-size: 10px;

    font-weight: 600;

    line-height: 1.2;

    transition: background .2s ease, border-color .2s ease;

    pointer-events: none;

}

#csw-free-design-page .csw-fd-upload-box:hover,

#csw-free-design-page .csw-fd-upload-box:focus-within {

    border-color: #0878f9;

    background:

        radial-gradient(circle at 50% 0%, #fff 0%, rgba(255,255,255,0) 60%),

        linear-gradient(135deg, #f0f7ff 0%, #e4f0ff 100%);

    box-shadow: 0 8px 22px rgba(8, 120, 249, .09);

    transform: translateY(-1px);

}

#csw-free-design-page .csw-fd-upload-box.has-file {

    border-style: solid;

    border-color: #62b99a;

    background: linear-gradient(135deg, #f3fcf8 0%, #eaf8f2 100%);

}

#csw-free-design-page .csw-fd-upload-box.has-file::after {

    content: "File selected";

    border-color: #c6eadb;

    color: #16835d;

    background: #fff;

}

#csw-free-design-page .csw-fd-upload-icon {

    width: 42px;

    height: 42px;

    border: 1px solid #d7e8ff;

    border-radius: 13px;

    background: linear-gradient(180deg, #fff 0%, #f5faff 100%);

    box-shadow: 0 4px 10px rgba(8, 120, 249, .08);

    font-size: 24px;

    transition: transform .2s ease, box-shadow .2s ease;

}

#csw-free-design-page .csw-fd-upload-box:hover .csw-fd-upload-icon {

    transform: translateY(-2px);

    box-shadow: 0 7px 14px rgba(8, 120, 249, .13);

}

#csw-free-design-page .csw-fd-upload-box strong {

    font-size: 13px;

    font-weight: 700;

    letter-spacing: -.01em;

}

#csw-free-design-page .csw-fd-upload-filename {

    display: block;

    width: 100%;

    max-width: 100%;

    color: #71839b;

    font-size: 10px;

    line-height: 1.55;

}

#csw-free-design-page .csw-fd-upload-box.has-file .csw-fd-upload-filename {

    color: #167d5b;

    font-size: 11px;

    font-weight: 600;

}

#csw-free-design-page .csw-fd-consent {

    align-items: center;

    gap: 10px;

    margin: 18px 0 18px;

    padding: 11px 13px;

    border: 1px solid #e7eef8;

    border-radius: 10px;

    background: #fbfdff;

    line-height: 1.55;

}

#csw-free-design-page .csw-fd-consent input {

    width: 17px;

    height: 17px;

    margin-top: 0;

    border-radius: 4px;

}

#csw-free-design-page .csw-fd-submit {

    min-height: 52px;

    border-radius: 11px;

    box-shadow: 0 8px 18px rgba(8, 120, 249, .18);

    letter-spacing: -.01em;

}

#csw-free-design-page .csw-fd-submit:hover {

    box-shadow: 0 11px 24px rgba(8, 120, 249, .24);

    transform: translateY(-1px);

}

#csw-free-design-page .csw-fd-form-footnote {

    margin-top: 12px;

    line-height: 1.5;

}

@media (max-width: 560px) {

    #csw-free-design-page .csw-fd-upload-grid {

        grid-template-columns: minmax(0, 1fr);

        gap: 10px;

    }

    #csw-free-design-page .csw-fd-upload-box {

        min-height: 138px;

    }

    #csw-free-design-page .csw-fd-consent {

        align-items: flex-start;

        padding: 10px 11px;

    }

}





/* Refined upload icons: consistent blue outline SVGs instead of text glyphs. */

#csw-free-design-page .csw-fd-upload-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 42px;

    color: #0878f9;

}

#csw-free-design-page .csw-fd-upload-icon svg {

    display: block;

    width: 22px;

    height: 22px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;

}

#csw-free-design-page .csw-fd-upload-box:hover .csw-fd-upload-icon svg {

    stroke-width: 1.9;

}





/* How It Works photo cards — matching the supplied reference layout */

#csw-free-design-page .csw-fd-process {

    padding-top: 30px;

    padding-bottom: 64px;

}

#csw-free-design-page .csw-fd-process .csw-fd-section-heading {

    margin-bottom: 28px;

}

#csw-free-design-page .csw-fd-process .csw-fd-section-heading > p {

    margin-top: 7px;

}

#csw-free-design-page .csw-fd-steps-photo {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 28px;

    align-items: start;

}

#csw-free-design-page .csw-fd-step-photo {

    position: relative;

    min-width: 0;

    text-align: center;

}

#csw-free-design-page .csw-fd-step-photo:not(:last-child)::after {

    content: "›";

    position: absolute;

    z-index: 4;

    top: 72px;

    right: -22px;

    color: #234b7c;

    font-size: 30px;

    font-weight: 400;

    line-height: 1;

    transform: translateX(50%);

}

#csw-free-design-page .csw-fd-step-photo .csw-fd-step-number {

    position: absolute;

    z-index: 5;

    top: -13px;

    left: 17px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 39px;

    height: 39px;

    border: 3px solid #fff;

    border-radius: 50%;

    background: #0878f9;

    color: #fff;

    font-size: 15px;

    font-weight: 800;

    line-height: 1;

    box-shadow: 0 4px 12px rgba(8, 120, 249, .2);

}

#csw-free-design-page .csw-fd-step-photo .csw-fd-step-photo-visual {

    position: relative;

    display: block;

    width: 100%;

    height: auto;

    min-height: 0;

    aspect-ratio: 2.15 / 1;

    overflow: hidden;

    margin: 0;

    border: 1px solid #e2eaf4;

    border-radius: 10px;

    background: linear-gradient(135deg, #edf5ff, #dceaff);

    box-shadow: 0 5px 18px rgba(20, 62, 112, .06);

    isolation: isolate;

    transition: transform .22s ease, box-shadow .22s ease;

}

#csw-free-design-page .csw-fd-step-photo:hover .csw-fd-step-photo-visual {

    transform: translateY(-3px);

    box-shadow: 0 12px 25px rgba(20, 62, 112, .13);

}

#csw-free-design-page .csw-fd-step-photo .csw-fd-step-photo-visual::before {

    display: none !important;

    content: none !important;

}

#csw-free-design-page .csw-fd-step-photo-visual img {

    position: absolute;

    z-index: 1;

    inset: 0;

    display: block;

    width: 100%;

    height: 100%;

    max-width: none;

    margin: 0;

    object-fit: cover;

    object-position: center;

}

#csw-free-design-page .csw-fd-step-photo-visual > span {

    position: absolute;

    z-index: 3;

    left: 50%;

    bottom: -1px;

    display: inline-block;

    margin: 0;

    padding: 7px 12px 6px;

    border: 1px solid rgba(255,255,255,.9);

    border-bottom: 0;

    border-radius: 6px 6px 0 0;

    background: rgba(255,255,255,.94);

    color: #12345b;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .09em;

    line-height: 1.2;

    white-space: nowrap;

    transform: translateX(-50%);

    box-shadow: 0 2px 8px rgba(15, 40, 75, .08);

}

#csw-free-design-page .csw-fd-step-photo h3 {

    margin: 13px 0 6px;

    color: #102d52;

    font-size: 16px;

    font-weight: 800;

    line-height: 1.4;

}

#csw-free-design-page .csw-fd-step-photo p {

    max-width: 360px;

    margin: 0 auto;

    color: #62748b;

    font-size: 12px;

    line-height: 1.6;

}

@media (max-width: 760px) {

    #csw-free-design-page .csw-fd-process {

        padding-top: 20px;

        padding-bottom: 46px;

    }

    #csw-free-design-page .csw-fd-steps-photo {

        grid-template-columns: 1fr;

        gap: 30px;

        max-width: 520px;

        margin-right: auto;

        margin-left: auto;

    }

    #csw-free-design-page .csw-fd-step-photo:not(:last-child)::after {

        content: "⌄";

        top: auto;

        right: 50%;

        bottom: -28px;

        font-size: 24px;

        transform: translateX(50%);

    }

    #csw-free-design-page .csw-fd-step-photo .csw-fd-step-number {

        top: -10px;

        left: 12px;

    }

    #csw-free-design-page .csw-fd-step-photo .csw-fd-step-photo-visual {

        aspect-ratio: 2.1 / 1;

    }

    #csw-free-design-page .csw-fd-step-photo h3 {

        margin-top: 12px;

    }

}

@media (prefers-reduced-motion: reduce) {

    #csw-free-design-page .csw-fd-step-photo .csw-fd-step-photo-visual {

        transition: none;

    }

}

/* ---------------------------------------------------------
   Final visual refinement — Free Custom Design
   Keeps the existing structure and form behavior intact.
---------------------------------------------------------- */

/* A little more breathing room without creating a large gap before the process section. */
#csw-free-design-page .csw-fd-products {
    padding-top: 42px;
    padding-bottom: 32px;
}

#csw-free-design-page .csw-fd-form-section {
    padding-bottom: 42px;
}

#csw-free-design-page .csw-fd-form-layout {
    gap: 20px;
}

#csw-free-design-page .csw-fd-form-card {
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(16, 41, 75, .045);
}

#csw-free-design-page .csw-fd-sidebar {
    gap: 14px;
}

#csw-free-design-page .csw-fd-benefit-card,
#csw-free-design-page .csw-fd-inspiration-card {
    border-radius: 16px;
}

#csw-free-design-page .csw-fd-benefit {
    gap: 12px;
    margin-top: 16px;
}

#csw-free-design-page .csw-fd-benefit-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    border: 1px solid #e1edfc;
    background: linear-gradient(145deg, #ffffff 0%, #f1f7ff 100%);
    color: #0878f9;
    font-size: 22px;
}

/* Product cards share the same image area and feel less crowded. */
#csw-free-design-page .csw-fd-product-card {
    padding: 10px 8px 13px;
    border-radius: 13px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

#csw-free-design-page .csw-fd-product-card-image {
    height: 112px;
}

#csw-free-design-page .csw-fd-product-card-image > img {
    width: 100%;
    height: 100%;
    max-height: 108px;
    object-fit: contain;
}

#csw-free-design-page .csw-fd-product-card-title {
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Upload boxes: clearer hover/focus state and consistent icon treatment. */
#csw-free-design-page .csw-fd-upload-box {
    min-height: 138px;
    border-radius: 12px;
    background: linear-gradient(145deg, #f8fbff 0%, #eef6ff 100%);
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

#csw-free-design-page .csw-fd-upload-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(8, 120, 249, .08);
}

#csw-free-design-page .csw-fd-upload-box:focus-within {
    outline: 3px solid rgba(8, 120, 249, .15);
    outline-offset: 2px;
    border-color: var(--csw-fd-blue);
}

#csw-free-design-page .csw-fd-upload-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(8, 120, 249, .08);
}

/* The process section should feel connected to the form, not separated by a large blank area. */
#csw-free-design-page .csw-fd-process {
    padding-top: 8px;
    padding-bottom: 54px;
}

#csw-free-design-page .csw-fd-process .csw-fd-section-heading {
    margin-bottom: 26px;
}

#csw-free-design-page .csw-fd-steps-photo {
    gap: 30px;
}

#csw-free-design-page .csw-fd-step-photo .csw-fd-step-photo-visual {
    aspect-ratio: 2.12 / 1;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(20, 62, 112, .075);
}

#csw-free-design-page .csw-fd-step-photo:hover .csw-fd-step-photo-visual {
    box-shadow: 0 13px 28px rgba(20, 62, 112, .14);
}

#csw-free-design-page .csw-fd-step-photo h3 {
    margin-top: 14px;
    margin-bottom: 5px;
}

#csw-free-design-page .csw-fd-step-photo p {
    max-width: 350px;
    line-height: 1.65;
}

/* Refined CTA: shorter, calmer diagonal pattern, and the same blue primary action used above. */
#csw-free-design-page .csw-fd-bottom-cta {
    padding: 48px 24px;
    background:
        radial-gradient(ellipse at 50% 125%, rgba(8, 120, 249, .30), transparent 58%),
        linear-gradient(112deg, #081d38 0%, #0b2d57 52%, #081b34 100%);
}

#csw-free-design-page .csw-fd-bottom-cta:before {
    opacity: .055;
    background: repeating-linear-gradient(
        125deg,
        transparent 0 105px,
        rgba(255,255,255,.8) 106px 107px,
        transparent 108px 190px
    );
}

#csw-free-design-page .csw-fd-bottom-cta h2 {
    margin-bottom: 10px;
    letter-spacing: -.025em;
}

#csw-free-design-page .csw-fd-bottom-cta p {
    margin-bottom: 20px;
}

#csw-free-design-page .csw-fd-bottom-cta .csw-fd-button-light {
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 10px;
    background: #0878f9;
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
}

#csw-free-design-page .csw-fd-bottom-cta .csw-fd-button-light:hover {
    background: #0068e8;
    color: #fff;
    box-shadow: 0 11px 24px rgba(0, 0, 0, .2);
}

/* Success feedback remains readable, but can be dismissed and won't reappear on refresh. */
#csw-free-design-page .csw-fd-notice-success {
    position: relative;
    padding: 16px 44px 16px 18px;
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(18, 100, 59, .045);
    transition: opacity .25s ease, transform .25s ease;
}

#csw-free-design-page .csw-fd-notice-success.is-hiding {
    opacity: 0;
    transform: translateY(-5px);
}

#csw-free-design-page .csw-fd-notice-dismiss {
    position: absolute;
    top: 8px;
    right: 9px;
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #12643b;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

#csw-free-design-page .csw-fd-notice-dismiss:hover {
    background: rgba(18, 100, 59, .08);
}

@media (max-width: 1050px) {
    #csw-free-design-page .csw-fd-product-card-title {
        min-height: 30px;
    }

    #csw-free-design-page .csw-fd-bottom-cta {
        padding: 44px 24px;
    }
}

@media (max-width: 760px) {
    #csw-free-design-page .csw-fd-products {
        padding-top: 32px;
        padding-bottom: 26px;
    }

    #csw-free-design-page .csw-fd-form-section {
        padding-bottom: 32px;
    }

    #csw-free-design-page .csw-fd-product-card-title {
        min-height: 0;
        justify-content: flex-start;
        text-align: left;
    }

    #csw-free-design-page .csw-fd-upload-box {
        min-height: 124px;
    }

    #csw-free-design-page .csw-fd-process {
        padding-top: 8px;
        padding-bottom: 42px;
    }

    #csw-free-design-page .csw-fd-bottom-cta {
        padding: 38px 20px;
    }

    #csw-free-design-page .csw-fd-bottom-cta h2 {
        font-size: clamp(24px, 6vw, 31px);
    }
}

@media (prefers-reduced-motion: reduce) {
    #csw-free-design-page .csw-fd-product-card,
    #csw-free-design-page .csw-fd-upload-box,
    #csw-free-design-page .csw-fd-notice-success,
    #csw-free-design-page .csw-fd-bottom-cta .csw-fd-button-light {
        transition: none;
    }
}
