/*------------------------------------*\
    icpo.pk – forms (Get Involved section + popup)
    Two designs:
      .icpo-design-theme   matches the rest of the website (default)
      .icpo-design-custom  rounded modern look
\*------------------------------------*/

/* Shared form engine ---------------------------------------------------- */
.icpo-form { margin: 0; }
.icpo-form .icpo-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.icpo-grid { display: flex; flex-wrap: wrap; }
.icpo-field { box-sizing: border-box; }
.icpo-field.icpo-half { width: 50%; }
.icpo-field.icpo-full { width: 100%; }
.icpo-field label { display: block; }
.icpo-req { color: var(--icpo-req, var(--icpo-main, #33cb98)); }
.icpo-field input,
.icpo-field select,
.icpo-field textarea { display: block; width: 100%; max-width: none; margin: 0; box-sizing: border-box; box-shadow: none; -webkit-appearance: none; appearance: none; }
.icpo-field textarea { resize: vertical; }
.icpo-field select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 36px; }
.icpo-field input[type=file] { cursor: pointer; }
.icpo-form .icpo-field.has-error input,
.icpo-form .icpo-field.has-error select,
.icpo-form .icpo-field.has-error textarea { border-color: #c0392b !important; }
.icpo-submit { cursor: pointer; }
.icpo-submit:disabled { opacity: .65; cursor: wait; }
.icpo-message { margin-top: 18px; font-size: 14px; line-height: 1.6; }
.icpo-message:empty { display: none; }
.icpo-message.is-success { color: #1e7e34; background: #e9f7ee; border: 1px solid #b7e1c4; padding: 12px 16px; }
.icpo-message.is-error { color: #a61b1b; background: #fdeeee; border: 1px solid #f2c4c4; padding: 12px 16px; }
body.icpo-popup-open { overflow: hidden; }

/* Popup shell (both designs) */
.icpo-popup[hidden] { display: none !important; }
.icpo-popup { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.icpo-popup-overlay { position: absolute; inset: 0; animation: icpoFade .2s ease; }
.icpo-popup-dialog { position: relative; width: 100%; max-width: var(--icpo-p-width, 640px); max-height: calc(100vh - 40px); overflow-y: auto; animation: icpoPop .22s ease; }
.icpo-popup-close { position: absolute; background: none; border: 0; line-height: 1; cursor: pointer; padding: 4px 8px; }
@keyframes icpoFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes icpoPop { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }

/* ======================================================================
   1) MATCH WEBSITE THEME (default)
   ====================================================================== */
.dione-sec-involved.icpo-design-theme { padding-top: 135px; padding-bottom: 135px; }
.icpo-design-theme .icpo-involved-head { max-width: 780px; margin: 0 auto; }
.icpo-design-theme .icpo-involved-head.text-left { margin-left: 0; }
.icpo-design-theme .icpo-kicker { margin-bottom: 14px; }
.icpo-design-theme .icpo-card { padding: 50px 50px 55px; max-width: 1000px; margin: 0 auto; }

/* Tabs – same look as the schedule / FAQ tabs */
.icpo-design-theme .icpo-tabs { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 0 45px; }
.icpo-design-theme .icpo-tab {
	background: #fff; color: #272727; border: 1px solid #dfdfdf; margin: 0 -1px -1px 0; border-radius: 0;
	padding: 14px 24px; font-size: 11px; line-height: 20px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
.icpo-design-theme .icpo-tab:first-child { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.icpo-design-theme .icpo-tab:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.icpo-design-theme .icpo-tab:hover { color: var(--icpo-main, #33cb98); }
.icpo-design-theme .icpo-tab.is-active,
.icpo-design-theme .icpo-tab.is-active:hover { background: var(--icpo-main, #33cb98); border-color: var(--icpo-main, #33cb98); color: #fff; position: relative; z-index: 1; }
.icpo-design-theme .icpo-tab:focus-visible { outline: 2px solid var(--icpo-main, #33cb98); outline-offset: 2px; }

/* Fields – the theme's own input style */
.icpo-design-theme .icpo-grid { margin: 0 -15px; }
.icpo-design-theme .icpo-field { padding: 0 15px; margin-bottom: 22px; }
.icpo-design-theme .icpo-field label { margin: 0 0 9px; color: #272727; font-size: 11px; line-height: 20px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.icpo-design-theme .icpo-field input,
.icpo-design-theme .icpo-field select,
.icpo-design-theme .icpo-field textarea {
	background-color: #fff; color: #272727; border: 2px solid rgba(0, 0, 0, .13) !important; border-radius: 0;
	padding: 12px 15px; min-height: 51px; font-size: 13px; line-height: 23px; letter-spacing: 1px;
	transition: border-color .2s ease-in-out;
}
.icpo-design-theme .icpo-field textarea { min-height: 130px; }
.icpo-design-theme .icpo-field input[type=file] { padding: 11px 15px; font-size: 12px; }
.icpo-design-theme .icpo-field input:focus,
.icpo-design-theme .icpo-field select:focus,
.icpo-design-theme .icpo-field textarea:focus { outline: none; border-color: var(--icpo-main, #33cb98) !important; }
.icpo-design-theme .icpo-actions { margin-top: 8px; }
.icpo-design-theme .icpo-submit.btn { border: 0; min-width: 190px; }

/* Popup */
.icpo-popup.icpo-design-theme .icpo-popup-overlay { background: rgba(0, 0, 0, .8); }
.icpo-popup.icpo-design-theme .icpo-popup-dialog { background: #fff; border-radius: 2px; padding: 55px 45px 45px; box-shadow: 5px 5px 50px rgba(0, 0, 0, .25); border-top: 4px solid var(--icpo-main, #33cb98); }
.icpo-popup.icpo-design-theme .icpo-popup-close { top: 14px; right: 16px; font-size: 30px; color: #272727; }
.icpo-popup.icpo-design-theme .icpo-popup-close:hover { color: var(--icpo-main, #33cb98); }
.icpo-popup.icpo-design-theme .icpo-popup-head { margin-bottom: 35px; }
.icpo-popup.icpo-design-theme .icpo-popup-title { margin: 0; }
.icpo-popup.icpo-design-theme .icpo-field { margin-bottom: 16px; }
.icpo-popup.icpo-design-theme .icpo-submit.btn { display: block; width: 100%; }

/* ======================================================================
   2) ROUNDED MODERN
   ====================================================================== */
.icpo-design-custom .icpo-grid { margin: 0 -20px; }
.icpo-design-custom .icpo-field { padding: 0 20px; margin-bottom: 26px; }
.icpo-design-custom .icpo-field label { margin: 0 0 12px; font-weight: 600; font-size: 17px; line-height: 1.3; letter-spacing: 0; text-transform: none; }
.icpo-design-custom .icpo-field input,
.icpo-design-custom .icpo-field select,
.icpo-design-custom .icpo-field textarea { font-size: 16px; letter-spacing: 0; line-height: 1.4; transition: border-color .15s, box-shadow .15s, background-color .15s; }
.icpo-design-custom .icpo-field input::placeholder,
.icpo-design-custom .icpo-field textarea::placeholder { font-size: 17px; letter-spacing: 0; text-transform: none; }
.icpo-design-custom .icpo-submit { border: 0; color: #fff; font-weight: 700; transition: filter .15s; }
.icpo-design-custom .icpo-submit:hover { filter: brightness(1.08); }
.icpo-design-custom .icpo-message.is-success,
.icpo-design-custom .icpo-message.is-error { border-radius: 10px; }

.dione-sec-involved.icpo-design-custom { padding-top: 100px; padding-bottom: 100px; }
.icpo-design-custom .icpo-involved-head { margin-bottom: 40px; }
.icpo-design-custom .icpo-kicker { display: block; color: var(--icpo-kicker, #6b6b6b); font-size: 15px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 26px; }
.icpo-design-custom .icpo-involved-title { color: var(--icpo-title, #1b3a5c); font-size: 42px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; margin: 0; text-transform: none; }
.icpo-design-custom .icpo-involved-intro { color: var(--icpo-title, #1b3a5c); opacity: .8; font-size: 17px; margin: 16px 0 0; }
.icpo-design-custom .icpo-card { background: var(--icpo-card, #fff); border-radius: 16px; padding: 46px 46px 50px; box-shadow: 0 10px 30px rgba(20, 40, 60, .06); }
.icpo-design-custom .icpo-card .icpo-form { max-width: 1075px; }
.icpo-design-custom .icpo-tabs { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 40px; }
.icpo-design-custom .icpo-tab { border: 2px solid var(--icpo-title, #1b3a5c); background: transparent; color: var(--icpo-title, #1b3a5c); border-radius: 999px; padding: 11px 28px; font-size: 18px; font-weight: 700; line-height: 1.3; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.icpo-design-custom .icpo-tab:hover { background: rgba(27, 58, 92, .06); }
.icpo-design-custom .icpo-tab.is-active,
.icpo-design-custom .icpo-tab.is-active:hover { color: #fff; border-color: transparent; background: linear-gradient(90deg, var(--icpo-tab-from, #1b3a5c), var(--icpo-tab-to, #1e8c93)); }
.icpo-design-custom .icpo-form-involved .icpo-field label { color: var(--icpo-title, #1b3a5c); }
.icpo-design-custom .icpo-form-involved .icpo-field input,
.icpo-design-custom .icpo-form-involved .icpo-field select,
.icpo-design-custom .icpo-form-involved .icpo-field textarea { background-color: var(--icpo-input, #f1f1f0); border: 1px solid #d9d9d7 !important; border-radius: 10px; min-height: 72px; padding: 14px 18px; color: #1f2d3a; }
.icpo-design-custom .icpo-form-involved .icpo-field textarea { min-height: 146px; }
.icpo-design-custom .icpo-form-involved .icpo-field input:focus,
.icpo-design-custom .icpo-form-involved .icpo-field select:focus,
.icpo-design-custom .icpo-form-involved .icpo-field textarea:focus { outline: none; border-color: var(--icpo-button, #1e8c93) !important; box-shadow: 0 0 0 3px rgba(30, 140, 147, .15); background-color: #fff; }
.icpo-design-custom .icpo-form-involved .icpo-submit { background: var(--icpo-button, #1e8c93); border-radius: 999px; padding: 18px 42px; font-size: 18px; }

.icpo-popup.icpo-design-custom .icpo-popup-overlay { background: rgba(0, 0, 0, .65); }
.icpo-popup.icpo-design-custom .icpo-popup-dialog { background: var(--icpo-p-bg, #fff); border-radius: 24px; padding: 38px 36px 40px; box-shadow: 0 25px 60px rgba(0, 0, 0, .3); color: var(--icpo-p-text, #0b2a55); }
.icpo-popup.icpo-design-custom .icpo-popup-close { top: 16px; right: 20px; font-size: 34px; color: #111; }
.icpo-popup.icpo-design-custom .icpo-popup-title { text-align: center; color: var(--icpo-p-text, #0b2a55); font-weight: 800; font-size: 38px; line-height: 1.2; margin: 6px 0 22px; text-transform: none; letter-spacing: 0; }
.icpo-popup.icpo-design-custom .icpo-popup-intro { text-align: center; margin: -8px 0 22px; font-size: 16px; }
.icpo-design-custom .icpo-form-popup .icpo-grid { margin: 0 -8px; }
.icpo-design-custom .icpo-form-popup .icpo-field { padding: 0 8px; margin-bottom: 12px; }
.icpo-design-custom .icpo-form-popup .icpo-field label { font-weight: 400; font-size: 18px; margin-bottom: 8px; color: var(--icpo-p-text, #0b2a55); }
.icpo-design-custom .icpo-form-popup .icpo-field input,
.icpo-design-custom .icpo-form-popup .icpo-field select,
.icpo-design-custom .icpo-form-popup .icpo-field textarea { border: 1.5px solid var(--icpo-p-text, #0b2a55) !important; border-radius: 4px; background: #fff; padding: 12px 16px; min-height: 52px; font-size: 17px; color: var(--icpo-p-text, #0b2a55); }
.icpo-design-custom .icpo-form-popup .icpo-field input::-webkit-input-placeholder { color: #6b7a90 !important; font-size: 17px; }
.icpo-design-custom .icpo-form-popup .icpo-field input::-moz-placeholder { color: #6b7a90 !important; font-size: 17px; }
.icpo-design-custom .icpo-form-popup .icpo-actions { margin-top: 10px; }
.icpo-design-custom .icpo-form-popup .icpo-submit { display: block; width: 100%; background: var(--icpo-p-btn, #072b57); border-radius: 3px; padding: 15px 20px; font-size: 18px; font-weight: 500; }

/* Responsive ------------------------------------------------------------- */
@media (max-width: 991px) {
	.icpo-design-theme .icpo-card { padding: 36px 30px 40px; }
	.icpo-design-custom .icpo-involved-title { font-size: 34px; }
	.icpo-design-custom .icpo-card { padding: 32px 26px 36px; }
}
@media (max-width: 767px) {
	.icpo-field.icpo-half { width: 100%; }
	.dione-sec-involved.icpo-design-theme { padding-top: 90px; padding-bottom: 90px; }
	.icpo-design-theme .icpo-card { padding: 26px 18px 30px; }
	.icpo-design-theme .icpo-tabs { margin-bottom: 30px; }
	.icpo-design-theme .icpo-tab { flex: 1 1 50%; padding: 12px 10px; margin: 0 0 -1px 0; border-radius: 0 !important; }
	.icpo-design-theme .icpo-tab:last-child:nth-child(odd) { flex-basis: 100%; }
	.icpo-popup.icpo-design-theme .icpo-popup-dialog { padding: 45px 20px 26px; }
	.icpo-design-custom .icpo-grid { margin: 0 -10px; }
	.icpo-design-custom .icpo-field { padding: 0 10px; margin-bottom: 18px; }
	.icpo-design-custom .icpo-involved-title { font-size: 28px; }
	.icpo-design-custom .icpo-tabs { gap: 10px; margin-bottom: 28px; }
	.icpo-design-custom .icpo-tab { font-size: 15px; padding: 8px 18px; }
	.icpo-design-custom .icpo-card { padding: 24px 18px 28px; border-radius: 12px; }
	.icpo-popup { padding: 10px; }
	.icpo-popup.icpo-design-custom .icpo-popup-dialog { padding: 30px 20px 26px; border-radius: 18px; }
	.icpo-popup.icpo-design-custom .icpo-popup-title { font-size: 30px; }
}

/* Privacy note under forms + footer link (2.3.0) */
.icpo-privacy-note { margin: 4px 0 14px; font-size: 12px; line-height: 1.6; color: #8a8a8a; }
.icpo-privacy-note a { color: inherit; text-decoration: underline; }
.icpo-footer-privacy { margin-top: 6px; }
.icpo-footer-privacy a { color: inherit; }
