/* Roni's additions: logo, location card details, hero text, sticky mobile actions */
.header_logo a img { width: 110px; height: auto; }
.hero_content .hero_text { font-size: 17px; line-height: 28px; margin: 0 0 30px; color: #444; }
.hero_content .btn.btn-link { margin: 0 10px 12px 0; }
.btn.btn-link.btn-dark-ronis { background: #141414; color: #fff; }
.btn.btn-link.btn-dark-ronis:hover { background: #b39a55; }
.btn.btn-link.btn-light-ronis { background: #fff; color: #141414; margin-left: 10px; }
.btn.btn-link.btn-light-ronis:hover { background: #b39a55; color: #fff; }
.hero_shape_banner img { border-radius: 30px; box-shadow: 0 25px 60px rgba(0,0,0,.18); }
.hero_mini_shape img { border-radius: 14px; box-shadow: 0 8px 20px rgba(0,0,0,.15); }
.services_thumb img { border-radius: 50%; object-fit: cover; }
.blog_content .loc-text { font-size: 15px; line-height: 26px; color: #555; margin: 8px 0 18px; }
.blog_content .loc-text i { color: #b39a55; font-size: 18px; vertical-align: -3px; margin-right: 4px; }
.blog_content .loc-buttons .btn.btn-link { padding: 0 18px; height: 40px; line-height: 40px; font-size: 13px; margin: 0 6px 6px 0; background: #141414; }
.blog_content .loc-buttons .btn.btn-link.solid { background: #b39a55; }
.blog_content span.color2 { background: #141414; }
.blog_content span.color3 { background: #8c7536; }
.story-section, .cta-section { position: relative; }
.story-section:before, .cta-section:before { content: ""; position: absolute; inset: 0; background: rgba(20,20,20,.62); }
.story-section .container, .cta-section .container { position: relative; }
.story-section .banner_discount_text h2, .story-section .banner_discount_text h3, .story-section .banner_discount_text p,
.cta-section .banner_discount_text h2, .cta-section .banner_discount_text h3 { color: #fff; }
.price_box .current_price { font-size: 15px; }
.testimonial_author h4 { font-size: 13px; font-style: italic; }
.single_brand img { border-radius: 10px; width: 100%; }
.shipping_icon img { border-radius: 50%; }
.single_banner .banner_thumb img { width: 100%; }
.single_banner .banner_text h2, .single_banner .banner_text h3 { text-shadow: 0 1px 10px rgba(255,255,255,.6); }
.mobile-actions { display: none; }
@media (max-width: 767px) {
    .mobile-actions { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #141414; box-shadow: 0 -3px 12px rgba(0,0,0,.25); }
    .mobile-actions a { flex: 1; text-align: center; color: #fff; padding: 15px 8px; font-size: 15px; font-weight: 700; }
    .mobile-actions a:first-child { background: #b39a55; }
    body { padding-bottom: 52px; }
    #scrollUp { bottom: 70px !important; }
    .header_logo a img { width: 80px; }
}
.header_top_sidebar ul li { color: #fff; }
.services_thumb img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; }
.single_banner .banner_thumb { position: relative; }
.single_banner .banner_thumb > a { display: block; position: relative; }
.single_banner .banner_thumb > a:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,20,20,.78) 0%, rgba(20,20,20,.45) 55%, rgba(20,20,20,0) 100%); }
.single_banner .banner_text { z-index: 2; }
.single_banner .banner_text h2, .single_banner .banner_text h3 { color: #fff; text-shadow: none; }
@media only screen and (min-width: 1200px) { .hero_mini_shape.shape1 { top: 12px; left: 24px; } .hero_mini_shape.shape1 img { width: 100px; } }
/* ===== Click & collect pages (round 3) ===== */
.ronis-crumb { position: relative; }
.ronis-crumb:before { content: ""; position: absolute; inset: 0; background: rgba(20,20,20,.62); }
.ronis-crumb .container { position: relative; }
.ronis-crumb .breadcrumbs_text h1, .ronis-crumb .breadcrumbs_text ul li, .ronis-crumb .breadcrumbs_text ul li a { color: #fff; }
.ronis-crumb .breadcrumbs_text ul li a:hover { color: #d8c99b; }
.collect_notice p { display: inline-block; background: #faf5e1; border: 1px solid #eadfb8; border-radius: 40px; padding: 10px 24px; margin: 0; font-size: 15px; color: #141414; }
.collect_notice i { color: #8c7536; font-size: 20px; vertical-align: middle; margin-right: 6px; }
.mb-40 { margin-bottom: 40px; }
.shop_filter ul li a { cursor: pointer; }
.build_link { margin: 0 !important; }
.single_product .product_content .choose_options { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #8c7536; border-bottom: 1px solid #b39a55; }
.single_product .product_content .choose_options:hover { color: #141414; border-color: #141414; }
/* product builder */
.product_details_sidebar .price_box { margin-bottom: 16px; }
.product_details_sidebar .price_box .current_price { font-size: 26px; font-weight: 600; color: #141414; }
.option_group { border-top: 1px solid #ebe5d3; padding: 18px 0 6px; }
.option_group h4 { font-size: 17px; font-weight: 600; margin-bottom: 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.option_group h4 span { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; background: #141414; color: #fff; font-size: 13px; align-items: center; justify-content: center; }
.option_group h4 em { font-style: normal; font-weight: 400; font-size: 13px; color: #777; }
.option_list { display: flex; flex-wrap: wrap; gap: 8px; }
.option_pill { position: relative; margin: 0; cursor: pointer; }
.option_pill input { position: absolute; opacity: 0; pointer-events: none; }
.option_pill span { display: block; border: 1px solid #d9d2bd; border-radius: 30px; padding: 8px 16px; font-size: 14px; line-height: 1.3; background: #fff; transition: all .2s; }
.option_pill span b { font-weight: 500; color: #8c7536; }
.option_pill:hover span { border-color: #b39a55; }
.option_pill input:checked + span { background: #141414; border-color: #141414; color: #fff; }
.option_pill input:checked + span b { color: #d8c99b; }
.option_pill input:focus-visible + span { outline: 2px solid #b39a55; outline-offset: 2px; }
.pd-note { width: 100%; height: 46px; border: 1px solid #d9d2bd; border-radius: 4px; padding: 0 14px; font-size: 14px; margin-bottom: 10px; }
.pd_summary { background: #faf5e1; border-radius: 6px; padding: 14px 18px; margin: 14px 0 24px; }
.pd_summary h5 { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; color: #8c7536; }
.pd_summary ul li { font-size: 14px; line-height: 1.7; color: #141414; }
.pd_added { display: none; margin-top: 16px; padding: 12px 16px; background: #eef5ea; border: 1px solid #c9dfbf; border-radius: 4px; font-size: 14px; }
.pd_added a { color: #8c7536; text-decoration: underline; }
.pd_added i { color: #4b8a3a; margin-right: 4px; }
.pd_collect { margin-top: 22px; }
.pd_collect li { font-size: 14px; line-height: 1.9; color: #555; }
.pd_collect i { color: #8c7536; font-size: 18px; vertical-align: middle; margin-right: 6px; }
.single_product_gallery .gallery_img_list img { width: 100%; }
/* mini cart */
.mini-lines { display: block; font-size: 12px; color: #777; line-height: 1.4; margin-top: 2px; }
.mini-empty { padding: 20px 0; font-size: 14px; }
.mini-empty a { color: #8c7536; text-decoration: underline; }
/* basket */
.cart-lines { margin-top: 6px; }
.cart-lines li { font-size: 13px; color: #777; line-height: 1.6; }
.table-content table td.product-name { text-align: left; }
.keep_shopping { display: inline-block; line-height: 44px; padding: 0 24px; background: #141414; color: #fff !important; border-radius: 3px; }
.empty_basket { padding: 40px 0; }
.empty_basket h3 { margin-bottom: 10px; }
.empty_basket p { margin-bottom: 25px; }
/* checkout */
.bakery_choices { display: grid; gap: 10px; margin-bottom: 20px; }
.bakery_choice { display: block; position: relative; cursor: pointer; margin: 0; }
.bakery_choice input { position: absolute; opacity: 0; }
.bakery_choice span { display: block; border: 1px solid #d9d2bd; border-radius: 6px; padding: 14px 18px 14px 48px; font-size: 14px; line-height: 1.6; color: #555; position: relative; }
.bakery_choice span:before { content: ""; position: absolute; left: 16px; top: 18px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #b39a55; }
.bakery_choice span strong { display: block; color: #141414; font-size: 16px; }
.bakery_choice input:checked + span { border-color: #141414; background: #faf5e1; }
.bakery_choice input:checked + span:before { background: #141414; box-shadow: inset 0 0 0 3px #faf5e1; border-color: #141414; }
.checkout-form-list input[type="date"] { width: 100%; height: 42px; border: 1px solid #ddd; padding: 0 10px; }
.co-error { display: none; color: #b42318; font-size: 14px; margin: -10px 0 16px; }
.field-error { border-color: #b42318 !important; }
.co-lines { display: block; font-size: 12px; color: #777; margin-top: 3px; }
.terms_row { margin: 20px 0 10px; }
.mt-30 { margin-top: 30px; }
.order_confirm { padding: 20px 0; }
.order_confirm > i { font-size: 80px; color: #b39a55; }
.order_confirm h2 { margin: 10px 0 12px; }
.order_confirm .confirm_cols { background: #faf5e1; border-radius: 6px; padding: 20px 10px; margin: 28px 0; }
.order_confirm .confirm_cols h4 { font-size: 16px; text-transform: uppercase; letter-spacing: .08em; color: #8c7536; }
.order_confirm .btn { margin: 20px 5px 0; }
@media (max-width: 767px) {
    .product_sidebar_header { flex-direction: column; gap: 14px; }
    .option_pill span { padding: 7px 13px; font-size: 13px; }
}
.table-content table td.product-thumbnail img { width: 90px; height: auto; border-radius: 4px; }
.table-content table td.product_pro_button { white-space: nowrap; }
.product_pro_button .pro-qty { background: #141414; }
.checkbox-form .checkout-form-list input[type=tel] { border: 1px solid #dee2e6; background: #fff; border-radius: 0; height: 42px; width: 100%; padding: 0 0 0 10px; }
.terms_row label { display: inline; margin-left: 6px; font-size: 14px; }
.testimonial_section { box-shadow: inset 0 0 0 3000px rgba(250,245,225,.88); }
.cart-lines li { text-transform: none; }
/* ===== Locations, enquiry form & video (round 4) ===== */
.ronis-crumb, .cta-section { overflow: hidden; }
.bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.ronis-crumb:before, .cta-section:before { z-index: 1; }
.ronis-crumb .container, .cta-section .container { position: relative; z-index: 2; }
.story-section .video_local i { margin-right: 6px; }
.video_popup_box { max-width: 960px; margin: 0 auto; position: relative; }
.video_popup_box video { width: 100%; display: block; border-radius: 6px; background: #000; }
.mfp-inline-holder .mfp-content { width: auto; max-width: 960px; }
.about_video_thumb img { width: 100%; border-radius: 6px; }
.video_paly_icon a img { transition: transform .3s; }
.video_paly_icon a:hover img { transform: scale(1.08); }
.contact_info_content .loc_intro { font-size: 16px; line-height: 1.8; margin-bottom: 35px; max-width: 560px; }
.contact_info_details h3 a { color: inherit; }
.contact_info_details h3 a:hover { color: #8c7536; }
.contact_info_details span a { color: #8c7536; }
.contact_info_details span a:hover { color: #141414; }
.contact_info_details .small_note, .small_note { font-size: 13px; color: #777; }
.loc_actions .btn { margin: 0 8px 10px 0; }
.ronis-enquiry { background: #faf5e1; border-radius: 8px; padding: 40px 34px; }
.ronis-enquiry h2 { margin-bottom: 8px; }
.ronis-enquiry .enquiry_intro { font-size: 14px; margin-bottom: 22px; color: #555; }
.ronis-enquiry .form_input input, .ronis-enquiry .form_textarea textarea { background: #fff; }
.ronis-enquiry .form_select .nice-select { width: 100%; height: 50px; line-height: 48px; border-radius: 0; border-color: #e6dcbf; float: none; }
.ronis-enquiry .form_select .nice-select .list { width: 100%; }
.ronis-enquiry .form_input input[type=date] { width: 100%; height: 50px; border: 1px solid #e6dcbf; padding: 0 15px; }
.ronis-enquiry .date_label { font-size: 13px; color: #777; margin-bottom: 4px; display: block; }
.ronis-enquiry .form_select { margin-bottom: 15px; }
.form-message.is-error { color: #b42318; font-size: 14px; margin-top: 12px; }
.enquiry_thanks { text-align: center; padding: 30px 0 10px; }
.enquiry_thanks i { font-size: 64px; color: #b39a55; }
.enquiry_thanks h3 { margin: 8px 0 10px; }
.loc_gallery .single_brand img { border-radius: 8px; width: 100%; }
.contact_map iframe { width: 100%; height: 420px; display: block; }
@media (prefers-reduced-motion: reduce) { .bg-video { display: none; } }
@media (max-width: 767px) { .ronis-enquiry { padding: 30px 20px; margin-top: 40px; } .contact_map iframe { height: 300px; } }
.map_panel { background-color: #faf5e1; background-image: linear-gradient(rgba(179,154,85,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(179,154,85,.12) 1px, transparent 1px); background-size: 40px 40px; min-height: 420px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 40px 16px; }
.map_panel.map_loaded { display: block; padding: 0; min-height: 0; }
.map_panel_inner i { font-size: 54px; color: #b39a55; }
.map_panel_inner h3 { margin: 6px 0 6px; }
.map_panel_inner p { margin-bottom: 18px; }
.map_panel_inner .btn { margin: 0 5px 12px; }
.contact_map.map_panel { margin-bottom: 90px; } @media (max-width:767px){ .contact_map.map_panel { margin-bottom: 60px; } }
/* ===== About & Catering (round 5) ===== */
.ronis_team .team_text { opacity: 1; visibility: visible; bottom: 0; left: 0; right: 0; padding: 60px 26px 22px; background: linear-gradient(0deg, rgba(20,20,20,.85), rgba(20,20,20,0)); }
.ronis_team:hover .team_text { bottom: 0; }
.ronis_team::before { display: none; }
.ronis_team .team_text h3 a { color: #fff; }
.ronis_team .team_text h4 { color: #d8c99b; font-size: 14px; margin: 0; text-transform: none; }
.about_desc p + p { margin-top: 12px; }
.list_ticks li { position: relative; padding-left: 24px; margin-bottom: 10px; font-size: 15px; line-height: 1.7; }
.list_ticks li:before { content: "\2713"; position: absolute; left: 0; top: 0; color: #b39a55; font-weight: 700; }
.list_ticks a { color: #8c7536; text-decoration: underline; }
.catering_intro { margin-top: 0; }
.catering_intro p { max-width: 720px; margin: 10px auto 0; }
.mb-30 { margin-bottom: 30px; }
.contact_info_details.mb-30 { margin-bottom: 18px; }
.catering_side_img img { width: 100%; border-radius: 8px; margin-top: 20px; }
.ronis-enquiry input[type=number] { width: 100%; height: 50px; border: 1px solid #e6dcbf; padding: 0 15px; background: #fff; }
