.elementor-7605 .elementor-element.elementor-element-950cd40{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-7605 .elementor-element.elementor-element-6425dc3{--display:flex;}.elementor-7605 .elementor-element.elementor-element-e7569ad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7605 .elementor-element.elementor-element-e6a2c64{--display:flex;}.elementor-7605 .elementor-element.elementor-element-4ba1b22{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7605 .elementor-element.elementor-element-ad7b896{--display:flex;}.elementor-7605 .elementor-element.elementor-element-9a558ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7605 .elementor-element.elementor-element-de665f2{--display:flex;}.elementor-7605 .elementor-element.elementor-element-655ca2f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7605 .elementor-element.elementor-element-e487cca{--n-accordion-title-font-size:1rem;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:var( --e-global-color-e5774a2 );--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;}.elementor-7605 .elementor-element.elementor-element-e487cca > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:var( --e-global-color-primary );}:where( .elementor-7605 .elementor-element.elementor-element-e487cca > .e-n-accordion > .e-n-accordion-item ) > .e-con{background-color:var( --e-global-color-e5774a2 );}:where( .elementor-7605 .elementor-element.elementor-element-e487cca > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-weight:bold;}.elementor-widget-divider .elementor-divider__text{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-7605 .elementor-element.elementor-element-bf26f17{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-7605 .elementor-element.elementor-element-bf26f17 .elementor-divider-separator{width:100%;}.elementor-7605 .elementor-element.elementor-element-bf26f17 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-7605 .elementor-element.elementor-element-873ccb7{--display:flex;--border-radius:25px 25px 25px 25px;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-7605 .elementor-element.elementor-element-873ccb7:not(.elementor-motion-effects-element-type-background), .elementor-7605 .elementor-element.elementor-element-873ccb7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e5774a2 );}.elementor-7605 .elementor-element.elementor-element-e2af12d{text-align:center;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;}.elementor-7605 .elementor-element.elementor-element-9b25af6 .elementor-button-content-wrapper{flex-direction:row;}.elementor-7605 .elementor-element.elementor-element-88da619{text-align:center;font-size:16px;}@media(max-width:767px){.elementor-7605 .elementor-element.elementor-element-873ccb7{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-7605 .elementor-element.elementor-element-88da619{font-size:14px;}}/* Start custom CSS for html, class: .elementor-element-0187988 *//* ============================================
   UNIVERSAL CHECKLIST STYLES — tommasoliu.com
   Paste once in Appearance > Additional CSS
   Wrapper class: .cl
   ============================================ */

.cl *, .cl *::before, .cl *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.cl {
  --cl-primary: #015E6A;
  --cl-primary-hover: #2F727C;
  --cl-secondary: #E6F0F2;
  --cl-hover-secondary: #D5E6EA;
  --cl-text: #111111;
  --cl-white: #FFFFFF;
  --cl-gray-bg: #F5F5F5;
  --cl-accent: #FFAB40;
  --cl-radius: 10px;
  --cl-shadow: 0 2px 16px rgba(1,94,106,0.08);
}

.cl .cl-progress {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 32px;
  padding: 14px 18px;
  background: var(--cl-secondary);
  border-radius: var(--cl-radius);
}

.cl .cl-progress-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--cl-primary);
  white-space: nowrap;
  min-width: 120px;
}

.cl .cl-progress-track {
  flex: 1;
  height: 8px;
  background: var(--cl-hover-secondary);
  border-radius: 99px;
  overflow: hidden;
}

.cl .cl-progress-fill {
  height: 100%;
  background: var(--cl-primary);
  border-radius: 99px;
  width: 0%;
  transition: width 0.4s ease;
}

.cl .cl-progress-pct {
  font-size: 13px;
  font-weight: 700;
  color: var(--cl-primary);
  min-width: 36px;
  text-align: right;
}

.cl .cl-reset {
  font-size: 12px;
  color: var(--cl-primary-hover);
  background: none;
  border: 1px solid var(--cl-hover-secondary);
  border-radius: 6px;
  padding: 4px 10px;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.cl .cl-reset:hover { background: var(--cl-white); }

.cl .cl-section {
  margin-bottom: 24px;
  border: 1px solid var(--cl-secondary);
  border-radius: var(--cl-radius);
  overflow: hidden;
  box-shadow: var(--cl-shadow);
}

.cl .cl-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: var(--cl-primary);
  cursor: pointer;
  user-select: none;
  gap: 14px;
}

.cl .cl-section-header h2 {
  font-size: 15px;
  font-weight: 600;
  color: var(--cl-white);
  margin: 0;
  flex: 1;
  line-height: 1.3;
}

.cl .cl-section-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.cl .cl-mini-bar {
  width: 52px;
  height: 4px;
  background: rgba(255,255,255,0.2);
  border-radius: 99px;
  overflow: hidden;
}

.cl .cl-mini-fill {
  height: 100%;
  background: var(--cl-accent);
  border-radius: 99px;
  width: 0%;
  transition: width 0.4s ease;
}

.cl .cl-badge {
  font-size: 12px;
  font-weight: 700;
  color: var(--cl-white);
  background: rgba(255,255,255,0.15);
  border-radius: 99px;
  padding: 3px 10px;
  white-space: nowrap;
  transition: background 0.3s, color 0.3s;
}

.cl .cl-badge.complete {
  background: var(--cl-accent);
  color: #111;
}

.cl .cl-toggle {
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  transition: transform 0.3s;
  flex-shrink: 0;
}

.cl .cl-section.collapsed .cl-toggle { transform: rotate(-90deg); }

.cl .cl-section-body {
  padding: 0 18px 18px;
  background: var(--cl-white);
}

.cl .cl-section.collapsed .cl-section-body { display: none; }

.cl .cl-section-desc {
  font-size: 14px;
  color: #555;
  padding: 14px 0 12px;
  line-height: 1.7;
  border-bottom: 1px solid var(--cl-secondary);
  margin-bottom: 10px;
}

.cl .cl-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 7px;
  cursor: pointer;
  transition: background 0.15s;
  margin-bottom: 2px;
  border: 1px solid transparent;
}

.cl .cl-check:hover { background: var(--cl-gray-bg); }

.cl .cl-check.checked {
  background: var(--cl-secondary);
  border-color: rgba(1,94,106,0.15);
}

.cl .cl-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid #C5D8DC;
  border-radius: 4px;
  background: var(--cl-white);
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  margin-top: 2px;
  pointer-events: none;
}

.cl .cl-check input[type="checkbox"]:checked {
  background: var(--cl-primary);
  border-color: var(--cl-primary);
}

.cl .cl-check input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: 2px solid white;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

.cl .cl-check-text { flex: 1; min-width: 0; }

.cl .cl-check-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--cl-text);
  line-height: 1.4;
  display: block;
  transition: color 0.2s;
}

.cl .cl-check.checked .cl-check-label {
  color: var(--cl-primary);
  text-decoration: line-through;
  text-decoration-color: rgba(1,94,106,0.4);
}

.cl .cl-check-sub {
  font-size: 12.5px;
  color: #888;
  margin-top: 2px;
  line-height: 1.5;
  display: block;
}

.cl .cl-check.checked .cl-check-sub { color: #bbb; }

@media (max-width: 600px) {
  .cl .cl-mini-bar { display: none; }
  .cl .cl-progress { padding: 12px 14px; gap: 10px; }
}/* End custom CSS */