/* Penrose Farm — front-end shortcode + WooCommerce custom UI styles */
:root{
  --pf-green:#2F4F2F; --pf-cream:#F7F3E9; --pf-earth:#3B2F2F; --pf-red:#7A1E1E;
}
/* Delivery banner */
.pf-banner{display:flex;gap:14px;align-items:flex-start;background:var(--pf-cream);border:1px solid #e6ddc8;border-left:5px solid var(--pf-green);border-radius:6px;padding:16px 18px;margin:24px 0;}
.pf-banner-ic{font-size:24px;line-height:1;}
.pf-banner strong{display:block;color:var(--pf-earth);font-family:'Playfair Display',Georgia,serif;font-size:17px;}
.pf-banner p{margin:4px 0 0;color:var(--pf-earth);}
/* Next box */
.pf-nextbox{display:inline-flex;align-items:center;gap:10px;background:var(--pf-red);color:#fff;padding:8px 16px;border-radius:30px;font-size:14px;}
.pf-nextbox-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;opacity:.85;}
/* Service area */
.pf-service-area{background:var(--pf-cream);border-radius:8px;padding:32px;margin:32px 0;}
.pf-service-area h3{font-family:'Playfair Display',Georgia,serif;color:var(--pf-green);font-size:26px;margin:0 0 10px;}
.pf-town-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin:16px 0 0;padding:0;}
.pf-town-list li{background:#fff;border:1px solid #e0d7c0;color:var(--pf-earth);padding:6px 14px;border-radius:20px;font-size:14px;}
/* CTA strip */
.pf-cta-strip{background:var(--pf-green);border-radius:10px;padding:48px 32px;margin:40px 0;text-align:center;}
.pf-cta-inner h2{font-family:'Playfair Display',Georgia,serif;color:var(--pf-cream);font-size:32px;margin:0 0 10px;}
.pf-cta-inner p{color:#dfe7df;max-width:560px;margin:0 auto 20px;}
.pf-btn{display:inline-block;padding:13px 30px;border-radius:6px;text-decoration:none;font-weight:700;letter-spacing:.02em;}
.pf-btn-light{background:var(--pf-cream);color:var(--pf-green);}
.pf-btn-light:hover{background:#fff;}
/* Newsletter */
.pf-newsletter{background:var(--pf-earth);border-radius:10px;padding:48px 32px;margin:40px 0;text-align:center;color:var(--pf-cream);}
.pf-newsletter h2{font-family:'Playfair Display',Georgia,serif;font-size:32px;margin:0 0 8px;color:var(--pf-cream);}
.pf-newsletter p{max-width:520px;margin:0 auto 18px;color:#e7e0cf;}
.pf-newsletter-form input[type=email]{padding:12px 14px;border-radius:6px;border:none;min-width:260px;}
.pf-newsletter-form input[type=submit]{padding:12px 24px;border-radius:6px;border:none;background:var(--pf-red);color:#fff;font-weight:700;cursor:pointer;margin-left:6px;}
/* FAQ */
.pf-faq{margin:24px 0;}
.pf-faq-item{border:1px solid #e6ddc8;border-radius:6px;margin-bottom:10px;background:#fff;}
.pf-faq-item summary{cursor:pointer;padding:14px 18px;font-weight:600;color:var(--pf-earth);font-family:'Playfair Display',Georgia,serif;font-size:17px;list-style:none;}
.pf-faq-item summary::-webkit-details-marker{display:none;}
.pf-faq-item summary::after{content:'+';float:right;color:var(--pf-green);font-weight:700;}
.pf-faq-item[open] summary::after{content:'–';}
.pf-faq-a{padding:0 18px 16px;color:var(--pf-earth);}
/* WooCommerce reservation notice */
.pf-reserve-notice{background:var(--pf-cream);border-radius:8px;padding:18px 20px;margin:18px 0;}
.pf-reserve-lead{font-weight:600;color:var(--pf-earth);margin:0 0 10px;display:flex;align-items:center;gap:8px;}
.pf-dot{width:10px;height:10px;border-radius:50%;background:var(--pf-red);display:inline-block;flex:none;}
.pf-reserve-meta{list-style:none;margin:0;padding:0;font-size:14px;color:var(--pf-earth);}
.pf-reserve-meta li{padding:3px 0;}
.pf-cutoff{color:var(--pf-red);font-style:italic;}
/* Booking fields */
.pf-booking-fields{background:var(--pf-cream);border-radius:8px;padding:20px 22px;margin:18px 0;}
.pf-booking-fields h3{font-family:'Playfair Display',Georgia,serif;color:var(--pf-green);margin:0 0 6px;}
.pf-booking-intro{color:var(--pf-earth);margin:0 0 14px;font-size:14px;}
.pf-booking-fields .pf-field{display:flex;flex-direction:column;margin-bottom:12px;}
.pf-booking-fields label{font-size:13px;font-weight:600;color:var(--pf-earth);margin-bottom:4px;}
.pf-booking-fields input,.pf-booking-fields textarea{padding:9px 11px;border:1px solid #d8cfb8;border-radius:5px;font-size:14px;}

/* Announcement bar */
.pf-announce{background:var(--pf-green);color:var(--pf-cream);text-align:center;padding:8px 16px;font-size:14px;}
.pf-announce a{color:#fff;text-decoration:underline;font-weight:700;}
