*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family: Helvetica, Arial, Verdana, sans-serif;
  background:#fff;
  color:#1a1a2e;
  font-size:16px;
  line-height:1.6;
}
@media(max-width:700px){
  .content-card,
  .impact-card,
  .help-card{ padding:28px 20px !important; }
  .poll-section{ padding:28px 20px !important; }
  .footer-banner,
  .green-cta{ padding:36px 20px !important; }
}

/* ─── PAGE WRAPPER ─── */
.page-wrap{
  max-width:1000px;
  margin:0 auto;
  background:#fff;
  padding: 15px;	
}

/* inner content sections get a readable max-width */
.content-card,
.impact-card,
.help-card,
.poll-section,
.footer-banner,
.green-cta{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}


.rugby-banner img{width: 100%; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; margin-bottom:25px; box-shadow: 0px 0px 13px rgba(0, 0, 0, 0.08);}

.content-card{ margin-top:0; margin-bottom:0; border-radius:0; border-left:none; border-right:none; box-shadow:none; padding:40px 60px; }
.impact-card{ border-radius:0; border-left:none; border-right:none; box-shadow:none; padding:40px 60px; }
.help-card{ border-radius:0; border-left:none; border-right:none; box-shadow:none; padding:40px 60px; }
.poll-section{ border-radius:0; margin:0; padding:48px 60px; max-width:100%; }
.footer-banner{ border-radius:0; margin:0; padding:56px 60px; max-width:100%; }
.green-cta{ border-radius:0; margin:0; padding:40px 60px; max-width:100%; }

/* ─── HEADER – dark rugby banner ─── */
.site-header{
  width:100%;
  display:block;
  line-height:0;
}
.site-header img{
  width:100%;
  display:block;
}

/* ─── RUGBY BANNER – Cork Luas Preferred Route ─── */
.rugby-banner{
  width:100%;
  display:block;
  line-height:0;
  margin-bottom:4px;
}
.rugby-banner img{width:100%;display:block;}

/* ─── MAP CARDS ─── */
.map-card{
  margin:0 0 4px 0;
  border-radius:0;
  border-left:none;
  border-right:none;
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
.map-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 14px;
  border-bottom:1px solid #eee;
}
.map-card-header .book-title{
  font-size:13px;
  font-weight:700;
  color:#c0392b;
}
.map-card-header .luas-badge{
  font-size:13px;
  font-weight:500;
  color:#444;
}
.map-card-header .luas-badge strong{font-weight:700;color:#222;}
.map-card img{width:100%;display:block;}
.map-card-footer{
  font-size:10px;
  color:#888;
  padding:5px 14px;
  border-top:1px solid #eee;
  background:#fafafa;
}

/* ─── MAIN CONTENT CARD ─── */
.content-card{
  background:#fff;
  border-radius:16px;
  margin:16px;
  padding:3%;
  box-shadow:0 2px 12px rgba(0, 0, 0, 0.09);
  border:1px solid #e8e8e8;
margin: 0 auto; display: block;
	margin-bottom: 35px;
}

/* ─── SAVE RFC HEADING ─── */
.save-heading{
  font-size:48px;
  font-weight:600;
  color:#1a1a2e;
  line-height:1.2;
  margin-bottom:20px;
  padding-left:16px;
  border-left: 5px solid transparent; /* Required for the gradient to show through */
    background: 
    linear-gradient(white, white) padding-box, /* Inner background (set to your element's color) */
    linear-gradient(to bottom, #c41e3a, #006747) border-box; /* The actual gradient border */
}
.save-heading span{color:#c0392b;}

/* ─── INTRO BLOCKQUOTE (green tinted) ─── */
.intro-quote{
  background:#f0faf0;
  border-left:3px solid #27ae60;
  border-radius:0 8px 8px 0;
  padding:16px 20px;
  margin-bottom:20px;
  font-size:18px;
  color:#1a1a2e;
  line-height:1.65;
}

/* ─── BODY TEXT ─── */
.body-text{
  font-size:18px;
  color:#333;
  line-height:1.7;
  margin-bottom:16px;
}
.body-text .highlight-red{color:#c0392b;font-weight:700;}

/* ─── WARNING BOX (pink/red) ─── */
.warning-box{
  background:#fdf0f0;
  border-left:4px solid #c0392b;
  border-radius:0 8px 8px 0;
  padding:18px 20px;
  margin:20px 0;
  font-size:18px;
  font-weight:600;
  color:#1a1a2e;
  line-height:1.6;
}
.warning-box .red{color:#c0392b;font-weight:800;}

/* ─── CORK CONSULTATION PHOTO ─── */
.consult-photo{
  width:100%;
  border-radius:10px;
  overflow:hidden;
  margin:20px 0;
  line-height:0;
  display:block;
}
.consult-photo img{width:100%;display:block;}

/* ─── IMPACT SECTION ─── */
.impact-card{
  background:#fff;
  border-radius:16px;
  margin:16px;
  padding:28px 28px 32px;
  box-shadow:0 2px 16px rgba(0,0,0,0.07);
  border:1px solid #e8e8e8;
  margin: 0 auto;
margin-bottom: 35px;
}

.impact-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:8px;
}
.impact-heading .icon-circle{
  width:42px;height:42px;
  background:#fdecea;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.impact-heading .icon-circle svg{width:22px;height:22px;}
.impact-heading h2{
  font-size:36px;
  font-weight:600;
  color:#1a1a2e;
}
.impact-sub{
  font-size:18px;
  color:#666;
  margin-bottom:24px;
}

/* ─── IMPACT GRID ─── */
.impact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media(min-width:900px){
  .impact-grid{ grid-template-columns:1fr 1fr; }
}
.impact-item{
  background:#fef5f5;
  border:2px solid oklch(0.93 0.03 17.75);
  border-radius:12px;
  padding:18px 16px 20px;
  transition:box-shadow .2s;
}

.impact-item p{padding-left: 60px;}

.impact-item-green{background:#f3fef6;
  border:2px solid oklch(96.2% 0.044 156.743);
  border-radius:12px;
  padding:18px 16px 20px;
  transition:box-shadow .2s;}

.impact-item-green p{padding-left: 60px;}

.impact-item:hover{box-shadow:0 4px 16px rgba(0,0,0,0.08);}
.impact-item-green.full{grid-column:span 2;}
.impact-item-header{
  display:flex;align-items:center;gap:10px;
  margin-bottom:10px;
}
.item-icon-green{
  width:48px;height:48px;
  background:#006747;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.item-icon-green svg{width:24px;height:24px; stroke: #fff;}

.item-icon{
  width:48px;height:48px;
  background:#c41e3a;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

.item-icon svg{width:24px;height:24px; stroke: #fff;}
.impact-item h3{
  font-size:18px;
  font-weight:700;
  color:#1a1a2e;
}
.impact-item p{
  font-size:16px;
  color:#555;
  line-height:1.65;
}

/* ─── GREEN CTA BOX ─── */
.green-cta{
  background:#1d7a47;
  border-radius:16px;
  margin:16px;
  padding:36px 28px;
  color:#fff;
max-width: 1000px;
	margin: 0 auto;
}
.green-cta-heading{
  display:flex;align-items:center;gap:12px;
  margin-bottom:20px;
}
.green-cta-heading svg{width:28px;height:28px;flex-shrink:0;}
.green-cta-heading h2{
  font-size:36px;
  font-weight:600;
  color:#fff;
  line-height:1.2;
}
.green-cta p{
  font-size:18px;
  color:rgba(255,255,255,0.9);
  line-height:1.7;
  margin-bottom:0;
}
.green-cta p .gold{color:#f0c040;font-weight:700;}
.gold-quote-box{
  background:rgba(255,255,255,0.1);
  border:1.5px solid rgba(255,255,255,0.25);
  border-radius:10px;
  padding:18px 20px;
  margin-top:20px;
  font-size:18px;
  font-weight:700;
  color:#f0c040;
  line-height:1.6;
}

/* ─── HOW TO HELP CARD ─── */
.help-card{
  background:#fff;
  border-radius:16px;
  margin:16px;
  padding:28px 28px 32px;
  box-shadow:0 2px 16px rgba(0,0,0,0.07);
  border:1px solid #e8e8e8;
 margin: 35px auto;
}
.help-card h2{
  font-size:36px;
  font-weight:600;
  color:#1a1a2e;
  margin-bottom:16px;
}
.help-card .help-intro{
  font-size:18px;
  color:#444;
  line-height:1.7;
  margin-bottom:16px;
}

/* yellow call-out box */
.yellow-box{
  background:#fffde7;
  border-left:4px solid #f9a825;
  border-radius:0 8px 8px 0;
  padding:14px 18px;
  margin-bottom:20px;
  font-size:18px;
  font-weight:600;
  color:#1a1a2e;
  line-height:1.65;
}
.yellow-box .red{color:#c0392b;font-weight:800;}

/* ─── HELP STEPS ─── */
.help-steps{display:flex;flex-direction:column;gap:12px;}
.help-step{
  background:#fff;
  border:2px solid oklch(96.7% 0.003 264.542);
  border-radius:12px;
  padding:18px 18px 18px 18px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.help-step:hover{border-color: #c41e3a;}
.step-num{
  width:48px;height:48px;
  background:#a91932;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
  font-weight:800;
  color:#fff;
  flex-shrink:0;
  margin-top:1px;
}
.step-body h3{
  font-size:18px;
  font-weight:700;
  color:#1a1a2e;
  margin-bottom:6px;
}
.step-body p{
  font-size:18px;
  color:oklch(37.3% 0.034 259.733);
  line-height:1.65;
}
.step-body .hashtag{color:#c0392b;font-weight:700;}

/* ─── POLL SECTION ─── */
.poll-section{
  border:2px solid #ab1a33;
  border-radius:16px;
  margin:16px;
  padding:32px 28px;
  background:#fff9f9;
	max-width: 1000px;
  margin: 35px auto 0 auto;
}
.poll-section h2{
  font-size:36px;
  font-weight:600;
  color:#1a1a2e;
  text-align:center;
  margin-bottom:10px;
}
.poll-section .poll-sub{
  font-size:18px;
  color:#555;
  text-align:center;
  line-height:1.65;
  margin-bottom:28px;
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
}

/* poll question blocks */
.poll-question{
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:10px;
  padding:20px 18px;
  margin-bottom:14px;
  border-left:4px solid #006747;
}
.poll-question .q-text{
  font-size:18px;
  font-weight:700;
  color:#1a1a2e;
  margin-bottom:12px;
}
.poll-option{
  background:#fff;
  border:1px solid #ddd;
  border-radius:8px;
  padding:13px 16px;
  margin-bottom:8px;
  font-size:16px;
  color:#333;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  transition:background .15s,border-color .15s;
}
.poll-option:last-child{margin-bottom:0;}
.poll-option:hover{background:#f5f5f5;border-color:#bbb;}
.poll-option.selected{
  background:#e8f5e9;
  border-color:#27ae60;
  color:#1b5e20;
  font-weight:600;
}
.poll-option input[type=radio]{
  accent-color:#c0392b;
  width:16px;height:16px;
  flex-shrink:0;
}

/* priority inputs */
.priority-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.priority-label{
  font-size:16px;
  font-weight:700;
  color:#1a1a2e;
  min-width:90px;
}
.priority-input{
  flex:1;
  border:2px solid oklch(87.2% 0.01 258.338);
  border-radius:10px;
  padding:14px 14px;
  font-size:16px;
  color:#333;
  font-family:inherit;
  outline:none;
  transition:border-color .15s;
}
.priority-input:focus{border-color:#006747;box-shadow:0 0 0 2px rgba(39,174,96,0.1);}

/* ─── SUBMIT BUTTON ─── */
.submit-btn{
  display:block;
  width:45%;
  margin:28px auto 0;
  background:#a01830;
  color:#fff;
  border:none;
  padding:25px 24px;
  padding:25px 24px;
  border-radius:10px;
  font-size:20px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
  text-align:center;
  transition:background .2s,transform .15s;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.submit-btn:hover{background:#a93226;transform:translateY(-1px);}
.submit-btn svg{width:16px;height:16px;fill:#fff;}
.success-msg{
  display:none;
  background:#e8f5e9;
  border:2px solid #27ae60;
  border-radius:10px;
  padding:18px;
  text-align:center;
  color:#1b5e20;
  font-weight:700;
  font-size:18px;
  margin-top:16px;
}

/* ─── FOOTER BANNER ─── */
.footer-banner{
  background:#1d7a47;
  border-radius:16px;
  margin:16px;
  padding:40px 28px;
  text-align:center;
  max-width: 1000px;
  margin: 35px auto;
}
.footer-banner h2{
  font-size:28px;
  font-weight:900;
  color:#fff;
  line-height:1.2;
  margin-bottom:14px;
}
.footer-banner p{
  font-size:17px;
  color:rgba(255,255,255,0.85);
  line-height:1.6;
}
.input-fields-basic input{ width:100%; }
/* ─── PAGE BOTTOM PADDING ─── */
.page-bottom{height:20px;background:#fff;}
.red-bg{background: #a01830;}
.red-bg a{color: #fff;}

@media only screen and (min-width: 320px) and (max-width: 767px) {
	.save-heading { font-size: 24px;}
	.impact-heading h2, .green-cta-heading h2, .help-card h2, .poll-section h2 {font-size: 22px;}
	
	/*.impact-card, .green-cta, .help-card, .poll-section, .footer-banner, .content-card{margin: 20px;}*/
	
	.submit-btn{width: 100%; font-size: 15px;}
	.priority-row{   flex-direction: column;}
	.priority-input{width: 100%;}
	.impact-grid{display: block;}
	.impact-item{margin-bottom: 20px;}
	.impact-item-header{flex-direction: column;}
	.impact-item p, .impact-item-green p{padding: 0; text-align: center;}
	.help-step{flex-direction: column;  align-items: center;}
	.help-steps .step-body{text-align: center;}
}

@media only screen and (min-width: 768px) and (max-width: 900px) {
	.save-heading { font-size: 28px;}
	.impact-heading h2, .green-cta-heading h2, .help-card h2, .poll-section h2 {font-size: 24px;}
	/*.impact-card, .green-cta, .help-card, .poll-section, .footer-banner, .content-card{margin: 20px;}*/
}