.form-post-action, .form-post-success {
	padding: 30px 30px;
	margin-right: -30px;
	margin-left: -30px;
}
.form-post-action input.subject {
	font-weight: bold;
	padding-left: 10px;
}
.form-post-action textarea {
	padding: 10px;
	line-height:1.4rem;
}

.form-post-action small {
	font-size:0.7rem;
	line-height:1rem;	
}
.form-post-action p {
	font-size:0.9rem;
	line-height:1.1rem;	
}
.form-post-action h2,
.form-post-action h3 {
	margin-top: 0 !important;
}

.form-post-action .btn-submit, .form-post-action .btn-next {
	padding: .3em 1.2em;
	font-size: 1.4em;
	line-height: 2;
	background: #DC1D13
}
.form-post-action .btn-submit:hover, .form-post-action .btn-next:hover {
	background: #6bc225
}
.form-post-action .btn svg, .fixed-bottom .btn svg {
    width: 24px;
    height: 24px;
    margin-right: .6rem;
    fill: currentColor;
}

.donate-button {
	clear: both;
	width: 100%;
	margin: 2rem auto 2rem auto !important;
	text-align: center
}
.donate-button a.btn {
	display: inline-block;
	clear: both;
	width: auto;
	margin: 0 auto;
	padding: .5em 1em;
	font-size: 1.8em;
	line-height: normal;    
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	cursor: pointer;
	border: 0;
	background: #6bc225
}

.dot-pulse, .dot-pulse::before, .dot-pulse::after {
  background-color: #FFFFFF !important;
  color: #FFFFFF !important;
}

/* :: Progress bar
----------------------------------------------- */
.total-bar {
	-webkit-border-radius: 6px 6px 00;
	-moz-border-radius: 6px 6px 0 0;
	border-radius: 6px 6px 0 0;
	padding: 0;
	margin-top: 0 !important;
	margin-bottom: .8rem !important
}
.total-bar span {
	display: inline;
}
.progress {
	height: 8px;
	font-size: 1%;
	margin-bottom: 0;
	background: #dbd9db;
	border-color: #dbd9db
}
.progress-bar {
	background-color: #ec2c22;
	border-color: #ec2c22
}
.progress-bar-branded .progress-bar-bg {
	background: #dbd9db;
	border-color: #dbd9db
}
.progress-bar-branded .progress-bar-fill {
	background-color: #ec2c22;
	border-color: #ec2c22
}


/* :: Progress steps
----------------------------------------------- */

:root {
  --color-white: #fff;
  --color-black: #333;
  --color-gray: #75787b;
  --color-gray-light: #bbb;
  --color-gray-disabled: #e8e8e8;
  --color-green: #53a318;
  --color-green-dark: #383;
  --font-size-small: .65rem;
  --font-size-default: .75rem;
}

.progress-steps {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
}
.progress-steps li {
  flex: 2;
  position: relative;
  padding: 0 0 0 0;
  font-size: var(--font-size-default);
  line-height: 1.5;
  color: var(--color-black);
  font-weight: 600;
  white-space: nowrap;
  overflow: visible;
  min-width: 0;
  text-align: center;	
  border-bottom: 4px solid var(--color-gray-disabled);
}
.progress-steps li.is-complete {
	  color: var(--color-white);
}
.progress-steps li.is-active {
	  color: var(--color-green);
}
.progress-steps li:first-child,
.progress-steps li:last-child {
  flex: 1;
}
.progress-steps li:first-child {
  text-align: left;
}
.progress-steps li:last-child {
  text-align: right;
}
.progress-steps li:before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-color: var(--color-gray-disabled);
  border-radius: 50%;
  border: 3px solid var(--color-white);
  position: absolute;
  left: calc(50% - 6px);
  bottom: -14px;
  z-index: 3;
  transition: all .2s ease-in-out;
}
.progress-steps li:first-child:before {
  left: 0;
}
.progress-steps li:last-child:before {
  right: 0;
  left: auto;
}
.progress-steps span {
	position: relative;
	margin: 0 auto;
	top:8px;
	left:9.5px;
	z-index: 30;
	cursor: default;
  transition: opacity .3s ease-in-out;
}
.progress-steps li:first-child span {
	left:12px;
}
.progress-steps li:last-child span {
  width: 200%;
  display: inline-block;
  position: absolute;
  left: calc(-100% - 11px);
}
.progress-steps li.is-complete i {
	margin-left: -2px;
}
/*
.progress-steps li:not(.is-active) span {
  opacity: 0;
}
*/
.progress-steps .is-complete:not(:first-child):after,
.progress-steps .is-active:not(:first-child):after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  bottom: -2px;
  left: -50%;
  z-index: 2;
  border-bottom: 2px solid var(--color-green);
}
.progress-steps .is-complete:last-child:after,
.progress-steps .is-active:last-child:after {
  width: 200%;
  left: -100%;
}

.progress-steps .is-complete:before {
  background-color: var(--color-green);
}
.progress-steps .is-complete:hover:before {
  background-color: var(--color-green);
}
.progress-steps .is-active:before,
.progress-steps li:not(.is-complete):hover:before,
.progress-steps .is-hovered:before {
  background-color: var(--color-white);
  border-color: var(--color-green);
}
.progress-steps li:hover:before,
.progress-steps .is-hovered:before {
  transform: scale(1.33);
}
/*
.progress-steps li:hover span,
.progress-steps li.is-hovered span {
  opacity: 1;
}

.progress-steps:hover li:not(:hover) span {
  opacity: 0;
}
*/

.x-ray .progress-steps,
.x-ray .progress-steps li {
  border: 1px dashed red;
}

.progress-steps .has-changes {
  opacity: 1 !important;
}
.progress-steps .has-changes:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  left: calc(50% - 4px);
  bottom: -20px;
  background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208%208%22%3E%3Cpath%20fill%3D%22%23ed1c24%22%20d%3D%22M4%200l4%208H0z%22%2F%3E%3C%2Fsvg%3E');
}

/* :: Overlay
----------------------------------------------- */

.overlay {
	position: fixed !important; /* Stay in place */
	z-index: 9000; /* Sit on top */
	left: 0 !important;
	top: 0 !important;
	margin: 0 !important;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: #FFF !important;
}
.overlay-show {
	display: none !important;
}
.overlay .overlay-show {
	display: block !important;
}
.overlay .overlay-hide {
	display: none !important;
}

.overlay .donate-form-card .card-header,
.overlay .donate-form-card .card-footer {
    display: none;
}

/* Steps overlay */
.success-wrapper .success-step-2,
.success-wrapper .success-step-3 {
	display: none;
}
.success-wrapper .success-step-1 {
	display: block;
}

/* Donations overlay */
.donations-wrapper.overlay {
	padding: 0.5rem !important;	
	z-index: 10000; /* Sit on top */
}
.donations-wrapper.overlay .card-body:first-child {
	padding: 3rem !important;
}
.donations-wrapper.overlay .card-body:first-child #donate-form-widget {
    margin-left: 3rem !important;	
    margin-right: 3rem !important;
	margin-bottom: 0 !important;
}
.donations-wrapper.overlay .donation-descr-col,
.donations-wrapper.overlay .donation-option-member-col,
.donations-wrapper.overlay .donation-option-volunteer-col {
	display: none;
}
@media (min-width: 1200px) {
  .donations-wrapper.overlay .donation-options-col {
    flex: 0 0 auto !important;
    width: 50%;
  }
}
@media (min-width: 992px) {
  .donations-wrapper.overlay {
    padding: 3rem !important;	
  }	
  .donations-wrapper.overlay .donation-options-col {
    flex: 0 0 auto !important;
    width: 66.66666667% !important;
  }
}


/* SHARE BUTTONS */

.btn-primary, .btn-primary:hover {
  color: #FFF;
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
}
.btn-secondary, .btn-secondary:hover {
  color: #FFF;
  background-color: #6c757d !important;
  border-color: #6c757d !important;
}
.btn-primary:hover, .btn-secondary:hover {
	filter: brightness(90%) saturate(120%);
    transform:scale(.98,.98);
    -webkit-transform:scale(.98,.98);
    -moz-transform:scale(.98,.98);	
}

.btn-twitter, .btn-facebook, .btn-whatsapp, .btn-telegram, .btn-email, .btn-instagram, .btn-copylink {
    color: #FFFFFF !important;
    display: block;
    border: none;
    width: 100%;
    margin: .5rem 0 !important;
    padding: .5rem !important;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    transition: all 0.2s ease;
    cursor: pointer;
}

/* Twitter - progresión oscura */
.btn-twitter { background-color: #14171A !important; }
.btn-twitter:hover { background-color: #657786 !important; }
.btn-twitter:active { background-color: #0a0c0d !important; }

/* Facebook - progresión oscura */
.btn-facebook { background-color: #3B5998 !important; }
.btn-facebook:hover { background-color: #344e86 !important; }
.btn-facebook:active { background-color: #2d4373 !important; }

/* Instagram - progresión oscura */
.btn-instagram { background: linear-gradient(45deg, #405DE6, #5851DB, #833AB4, #C13584, #E1306C, #FD1D1D); }
.btn-instagram:hover { background: linear-gradient(45deg, #3750d4, #4f47c8, #7629a7, #b02c77, #d02862, #e60a0a); }
.btn-instagram:active { background: linear-gradient(45deg, #2e43c2, #453db5, #692395, #9d236a, #b72053, #cc0000); }

/* WhatsApp - progresión oscura */
.btn-whatsapp { background-color: #0d9f16 !important; }
.btn-whatsapp:hover { background-color: #0b8a13 !important; }
.btn-whatsapp:active { background-color: #097610 !important; }

/* Telegram - progresión oscura */
.btn-telegram { background-color: #33abdf !important; }
.btn-telegram:hover { background-color: #1e9bd6 !important; }
.btn-telegram:active { background-color: #1a8bc2 !important; }

/* Email - progresión oscura */
.btn-email { background-color: #ea4335; }
.btn-email:hover { background-color: #e02b1c; }
.btn-email:active { background-color: #c52417; }

/* Copy Link - progresión oscura */
.btn-copylink { background-color: #5A97BE !important; }
.btn-copylink:hover { background-color: #4a87ae !important; }
.btn-copylink:active { background-color: #3a779e !important; }

.share-container {
	display: block;
	text-align: center;
}
.unique-link-box {
    background-color: #f0f2f5;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 5px;
    cursor: pointer;
}
.link-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}
.link-url {
    display: block;
    font-size: 14px;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* ... */
}

.btn-copy-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background-color: #ffd400;
    color: #000;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    padding: 14px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-bottom: 24px;
    box-sizing: border-box; 
}
.btn-copy-link:hover {
    background-color: #f0c300;
}
.btn-copy-link .copy_to_clipboard i {
    margin-right: 8px;
}
.btn-copy-link .copied_to_clipboard i {
    margin-left: 8px;
}

.social-icons-container {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    text-align: center;
}
.social-icon {
    display: flex;
    flex-direction: column; 
    align-items: center;
    text-decoration: none !important;    
    font-size: 12px;
    color: #555;
    width: 60px;
}
.social-icon:hover {
    text-decoration: none !important;    
}
.social-icon i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px; 
    height: 50px;
    border-radius: 50%; /* Círculo */
    font-size: 24px;
    color: #ffffff;
    margin-bottom: 6px;
    transition: opacity 0.2s ease;
}
.social-icon:hover i {
    opacity: 0.85;
    color: #ffffff !important;  
}
.share-container .social-icon span {
    color: #555;
    font-weight: 500;
}

.social-whatsapp i { background-color: #25D366; }
.social-facebook i { background-color: #1877F2; }
.social-twitter i { background-color: #000000; } /* 'X' */
.social-email i { background-color: #777777; }
.social-reddit i { background-color: #FF4500; }
.social-telegram i { background-color: #33abdf; }
.social-instagram i { background: linear-gradient(45deg, #405DE6, #5851DB, #833AB4, #C13584, #E1306C, #FD1D1D); }


@media (max-width:780px){
	.form-post-action textarea {
		font-size:0.8rem;
		height:170px;
		margin-bottom:10px !important;
	}
	.form-post-action h1 {
		margin-top:10px !important;
		padding-top:10px !important;
		font-size:3.7rem;
		text-align:center;
	}
}

.sticky-col p, .sticky-col h1, .sticky-col h2, .sticky-col h3, .card-text, .card-title {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.sticky-col .form-post-success h1 {
    font-size: calc(1.325rem + 0.9vw);
    text-align: center !important;
}

.sticky-col .form-post-success .col-lg-6 {
    flex: 0 0 auto !important;
    width: 100% !important;
}

.sticky-col .letter-trigger {
    cursor: pointer;
    transition: box-shadow 0.2s;
}
.sticky-col .letter-trigger:hover {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.sticky-col .letter-trigger #subject {
    cursor: pointer;
    border: none;
}
.sticky-col .letter-trigger #message {
    cursor: pointer;
    border: none;
    font-size: 0.8rem;
    line-height: 0.9rem;
    height: 120px;
    overflow: hidden;
    resize: none;
    -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}
.sticky-col .letter-trigger .form-control:focus {
    border: none !important;
}

#actionModal .modal-dialog.modal-lg .modal-content {
    height: 80vh; 
    display: flex;
    flex-direction: column;
}
#actionModal .modal-dialog.modal-lg .modal-body {
    flex-grow: 1;
    overflow-y: auto;
    display: flex; 
    flex-direction: column;
}
#actionModal .modal-body > .d-flex.flex-column.flex-fill {
    margin-bottom: 0 !important;
}
#modalSubject {
    font-weight: 700;
    font-size: 1.3rem;
}
#modalMessage {
    height: auto !important;
    font-size: 1.2rem;    
}

#actionModal .modal-dialog-scrollable .modal-body {
  overflow-y: auto;
  overflow-x: hidden;
}

@media (max-width: 991.98px) {
   #actionModal .modal-fullscreen-lg-down, .modal-fullscreen {
        width: 100vw;
        height: 100vh !important;
        margin: 0;
    }
    #actionModal .modal-content {
        height: 100vh !important;
        border-radius: 0;
        display: flex;
        flex-direction: column;
    }
    #actionModal .modal-body {
        flex-grow: 1; 
        overflow-y: auto;
        display: flex; 
        flex-direction: column;
    }
    .sticky-col .letter-trigger #message {
        height: 260px;
        font-size: 1rem;
        line-height: 1.2rem;
    }
}

@media (min-width: 992px) {
    .sticky-col {
        position: sticky;
        top: 60px;
        align-self: flex-start;
        margin-top: -200px;
        padding-right: 1rem;
    }
    .sticky-col .form-post-action {
        padding: 20px !important;
    }
    .sticky-col .col-form {
        text-align: center;
    }
    .sticky-col .col-form, .sticky-col .col-letter {
        flex: 0 0 auto;
        width: 100%;
    }
}

#form-post-widget {
    position: relative;
}

.bubble {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 13px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.bubble .avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #ddd;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 8px;
    flex-shrink: 0;
}

.bubble .bubble-text strong {
    display: block;
    font-size: 13px;
    color: #333;
}

.bubble .bubble-text .action-type {
    font-size: 12px;
    color: #666;
}

.bubble strong {
    font-weight: bold;
}

.action-type {
    display: block;
    font-size: 0.85em;
    opacity: 0.8;
}