@import url("https://fonts.googleapis.com/css?family=Bricolage+Grotesque:500,700|Figtree:400,500,600,700&display=swap");

/* =====================================================================
   Green Fir Christmas Trees – visual refresh for PrestaShop 1.6.1
   default-bootstrap theme. Applies to every shop using this theme
   (christmastreedelivery.ie, wicklow., southdublin.).

   CSS ONLY. Changes colours, fonts, spacing, corners and borders.
   It does not hide, move or re-order anything customers use, and it
   leaves every icon (FontAwesome) alone.

   INSTALL: upload to  /themes/default-bootstrap/css/autoload/freshen-v2.css
   PrestaShop loads every file in that folder on every page.
   Then: Advanced Parameters > Performance > Clear cache.
   UNDO:   delete freshen-v2.css and clear the cache again.

   Most rules start with #page (the wrapper around every shop page),
   so they outrank the stock theme and module styles without !important.
   ===================================================================== */

/* ---------- 1. Base ---------- */
body {
  font-family: "Figtree", "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #3b4a40;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
#page a { color: #3f7a57; }
#page a:hover, #page a:focus { color: #24563c; }
#page a:focus-visible,
#page button:focus-visible,
#page input:focus-visible,
#page select:focus-visible,
#page textarea:focus-visible {
  outline: 3px solid #b3261e;
  outline-offset: 2px;
}
#page .dark,
#page p.info-title { color: #24563c; }

/* Headings: Bricolage Grotesque, sentence case */
#page h1, #page h2, #page h3, #page h4, #page h5,
#page .page-heading,
#page .page-subheading,
#page .title_block,
#page .product-name {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  color: #24563c;
  letter-spacing: -0.01em;
}
#page .page-heading {
  font-size: 26px;
  line-height: 1.15;
  font-weight: 700;
  text-transform: none;
  color: #24563c;
  border-bottom-color: #d5e0d7;
}
#page .page-heading span.heading-counter {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #3f7a57;
}
#page .page-heading span.lighter { color: #6b7d71; }
#page .page-subheading {
  font-size: 19px;
  font-weight: 700;
  text-transform: none;
  border-bottom-color: #d5e0d7;
}
#page .rte h1, #page .rte h2, #page .rte h3 { text-transform: none; }

/* ---------- 2. Header ---------- */
#page header .nav { background: #1c4430; }
#page .header_user_info,
#page #contact-link { border-color: rgba(255, 255, 255, 0.14); }
#page .header_user_info a,
#page #contact-link a {
  color: #fff;
  font-weight: 600;
  text-shadow: none;
}
#page .header_user_info a:hover,
#page .header_user_info a.active,
#page #contact-link a:hover,
#page #contact-link a.active { background: #24563c; color: #fff; }
#page .shop-phone { color: #c3d4c8; }
#page .shop-phone i,
#page .shop-phone strong { color: #fff; }

/* Search */
#page #search_block_top #search_query_top {
  background: #fff;
  border: 1px solid #d5e0d7;
  border-radius: 999px;
  height: 46px;
  color: #17231c;
  font-size: 14px;
}
#page #search_block_top #search_query_top:focus { border-color: #3f7a57; box-shadow: none; }
#page #search_block_top .btn.button-search {
  background: #24563c;
  border-radius: 0 999px 999px 0;
  height: 46px;
  padding: 13px 0;
}
#page #search_block_top .btn.button-search:hover { background: #3f7a57; color: #fff; }

/* Cart button */
#page #header .shopping_cart > a:first-child {
  background: #24563c;
  border-radius: 999px;
  padding: 10px 18px 10px 20px;
  line-height: 26px;
  color: #c3d4c8;
  text-shadow: none;
  font-weight: 500;
}
#page #header .shopping_cart > a:first-child:hover { background: #3f7a57; text-decoration: none; }
#page #header .shopping_cart > a:first-child b {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
}
#page #header .shopping_cart > a:first-child:before { font-size: 20px; line-height: 26px; }
#page #header .shopping_cart > a:first-child:after { color: #c3d4c8; padding-top: 3px; }
#page #header .cart_block {
  border-radius: 0 0 14px 14px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(20, 42, 31, 0.18);
}

/* ---------- 3. Main menu ---------- */
#page #block_top_menu { margin-top: 18px; }
#page #block_top_menu .sf-menu {
  background: #24563c;
  border-bottom: 0;
  border-radius: 14px;
}
#page #block_top_menu .sf-menu > li {
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  margin-bottom: 0;
}
#page #block_top_menu .sf-menu > li > a {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  text-transform: none;
  color: #fff;
  border-bottom: 0;
  padding: 16px 22px;
  text-decoration: none;
}
#page #block_top_menu .sf-menu > li:first-child > a { border-radius: 14px 0 0 14px; }
#page #block_top_menu .sf-menu > li.sfHover > a,
#page #block_top_menu .sf-menu > li > a:hover,
#page #block_top_menu .sf-menu > li.sfHoverForce > a,
#page #block_top_menu .sf-menu > li.sfHover > a.sf-with-ul {
  background: #3f7a57;
  color: #fff;
}
#page #block_top_menu .sf-menu li ul { border-radius: 0 0 14px 14px; }
#page #block_top_menu .sf-menu > li > ul > li > a {
  font-family: "Figtree", Arial, sans-serif;
  text-transform: none;
  color: #24563c;
}

/* Mobile: "Menu" toggle and stacked items */
#page #block_top_menu .cat-title {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 17px;
  font-weight: 600;
  text-transform: none;
  color: #fff;
  background: #24563c;
  border-bottom: 0;
  border-radius: 14px;
}
#page #block_top_menu .cat-title:hover,
#page #block_top_menu .cat-title.active { background: #3f7a57; }
#page #block_top_menu .cat-title.active { border-radius: 14px 14px 0 0; }
@media (max-width: 767px) {
  #page #block_top_menu .sf-menu { border-radius: 0 0 14px 14px; }
  #page #block_top_menu .sf-menu > li {
    border-right: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  #page #block_top_menu .sf-menu > li > a,
  #page #block_top_menu .sf-menu > li:first-child > a { border-radius: 0; }
  #page #block_top_menu .sf-menu > li:last-child > a { border-radius: 0 0 14px 14px; }
  #page #block_top_menu .sf-menu > li > span { color: #fff; }
}

/* ---------- 4. Breadcrumb ---------- */
#page .breadcrumb {
  border-color: #d5e0d7;
  border-radius: 14px;
  font-weight: 600;
  font-size: 13px;
  padding-right: 16px;
}
#page .breadcrumb a { color: #3f7a57; }
#page .breadcrumb a.home { color: #24563c; }
#page .breadcrumb a:hover { color: #24563c; text-decoration: none; }
#page .breadcrumb a:after,
#page .breadcrumb a:before { border-color: #d5e0d7; }

/* ---------- 5. Buttons ---------- */
/* Shared shape: pill, flat colour, no gradient or inner bevel */
#page .button.button-medium,
#page .button.button-small,
#page .button.exclusive-medium,
#page .button.ajax_add_to_cart_button,
#page .button.lnk_view,
#page .btn.button-medium,
#page .btn.button-small {
  border-radius: 999px;
  border: 2px solid transparent;
  background-image: none;
  filter: none;
  text-shadow: none;
  font-family: "Figtree", Arial, sans-serif;
  font-weight: 600;
  overflow: hidden;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
#page .button.button-medium span,
#page .button.button-small span,
#page .button.exclusive-medium span,
#page .button.ajax_add_to_cart_button span,
#page .button.lnk_view span {
  border: 0;
  background: none;
  background-image: none;
  filter: none;
  border-radius: 999px;
}
#page .button.button-medium span,
#page .button.ajax_add_to_cart_button span,
#page .button.lnk_view span,
#page .button.exclusive-medium span { padding: 11px 22px; }

/* Primary: Add to cart, Proceed to checkout, Confirm */
#page .button.button-medium,
#page .button.button-medium.exclusive,
#page .button.ajax_add_to_cart_button {
  background: #b3261e;
  border-color: #b3261e;
  color: #fff;
}
#page .button.button-medium:hover,
#page .button.button-medium.exclusive:hover,
#page .button.ajax_add_to_cart_button:hover,
#page .button.ajax_add_to_cart_button:hover span {
  background: #8f1d17;
  border-color: #8f1d17;
  color: #fff;
}
#page .button.button-medium.exclusive span,
#page .button.button-medium.exclusive:hover span { border-color: transparent; }

/* Secondary: More, Continue shopping, small grey buttons */
#page .button.lnk_view,
#page .button.exclusive-medium,
#page .button.button-small {
  background: #fff;
  border-color: #24563c;
  color: #24563c;
}
#page .button.lnk_view:hover,
#page .button.lnk_view:hover span,
#page .button.exclusive-medium:hover,
#page .button.exclusive-medium span:hover,
#page .button.button-small:hover,
#page .button.button-small span:hover {
  background: #24563c;
  border-color: #24563c;
  color: #fff;
}
#page .button.lnk_view:hover i.left { color: #fff; }
#page .button.button-small span { padding: 6px 14px; }
#page .button.exclusive-medium span i.left { margin-right: 6px; }

/* Text-style "Continue shopping" link in the cart */
#page .cart_navigation .button-exclusive {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #24563c;
}
#page .cart_navigation .button-exclusive:hover { color: #3f7a57; }

/* Quantity +/- */
#page .btn.button-plus,
#page .btn.button-minus {
  border-color: #d5e0d7;
  border-radius: 8px;
  overflow: hidden;
  color: #24563c;
}
#page .btn.button-plus span,
#page .btn.button-minus span { background: #fff; background-image: none; filter: none; border: 0; }
#page .btn.button-plus:hover span,
#page .btn.button-minus:hover span { background: #eef3ee; }

/* Bootstrap .btn-default (used on some account and order pages) */
#page .btn-default {
  border-radius: 999px;
  border-color: #24563c;
  color: #24563c;
}
#page .btn-default:hover { background: #24563c; color: #fff; }

/* ---------- 6. Prices ---------- */
#page .price.product-price,
#page .our_price_display,
#page #our_price_display {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  color: #24563c;
}

/* ---------- 7. Product lists (category page, homepage) ---------- */
#page ul.product_list .product-name,
#page ul.product_list .product-name a {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;
  color: #24563c;
}
#page ul.product_list .product-desc { color: #4d5f54; }
#page ul.product_list .product-image-container {
  border: 1px solid #d5e0d7;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
#page ul.product_list .availability span {
  border-radius: 999px;
  padding: 4px 12px;
  font-weight: 600;
}
#page ul.product_list .availability span.label-success { background: #3f7a57; border-color: #3f7a57; }

/* Grid view */
#page ul.product_list.grid > li .product-container {
  border-radius: 18px;
  padding-bottom: 6px;
}
#page ul.product_list.grid > li .product-container .product-image-container { padding: 0; }
#page ul.product_list.grid > li .product-container .product-image-container .content_price {
  background: rgba(20, 42, 31, 0.82);
}
/* Price on the dark overlay that appears over the photo on hover: white, not green */
#page ul.product_list.grid > li .product-container .product-image-container .content_price .price,
#page ul.product_list.grid > li .product-container .product-image-container .content_price .product-price { color: #fff; }
#page ul.product_list.grid > li .product-container .product-image-container .content_price .old-price { color: #d7e3da; }
@media (min-width: 1200px) {
  #page ul.product_list.grid > li.hovered .product-container {
    box-shadow: 0 10px 30px rgba(20, 42, 31, 0.14);
  }
}

/* List view */
#page ul.product_list.list > li .product-container { border-top-color: #d5e0d7; }
#page ul.product_list.list > li .right-block .right-block-content {
  border-left-color: #d5e0d7;
}

/* Homepage "Popular" tab heading */
#page #home-page-tabs > li a {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  color: #6b7d71;
  border-radius: 999px;
  padding: 6px 18px;
}
#page #home-page-tabs > li.active a,
#page #home-page-tabs > li a:hover {
  background: #24563c;
  color: #fff;
}

/* View switcher and sort bar */
#page .content_sortPagiBar .sortPagiBar,
#page .content_sortPagiBar .sortPagiBar #productsSortForm { border-color: #d5e0d7; }
#page .content_sortPagiBar .display li.selected i,
#page .content_sortPagiBar .display li a:hover i { color: #24563c; }

/* ---------- 8. Product page ---------- */
#page .pb-center-column h1 {
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
  color: #24563c;
}
#page .pb-left-column #image-block {
  border-color: #d5e0d7;
  border-radius: 18px;
  overflow: hidden;
}
#page .pb-left-column #image-block #view_full_size .span_link {
  border-radius: 999px;
  border: 0;
  box-shadow: 0 2px 8px rgba(20, 42, 31, 0.15);
}
#page #thumbs_list li { border-radius: 10px; overflow: hidden; border-color: #d5e0d7; }
#page #thumbs_list li.shown, #page #thumbs_list li:hover { border-color: #3f7a57; }

/* Buy box */
#page .box-info-product {
  background: #eef3ee;
  border: 1px solid #d5e0d7;
  border-radius: 18px;
  overflow: hidden;
}
#page .box-info-product .content_prices { border-bottom-color: #d5e0d7; }
#page .box-info-product .product_attributes,
#page .box-info-product .box-cart-bottom { box-shadow: none; border-top: 1px solid #d5e0d7; }
#page .box-info-product label,
#page .box-info-product .attribute_label {
  color: #24563c;
  font-weight: 600;
}

/* Product page Add to cart (also inside quick view, which has no #page) */
#product .box-info-product .exclusive {
  background: #b3261e;
  background-image: none;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  transition: background-color .15s ease;
}
#product .box-info-product .exclusive:hover {
  background: #8f1d17;
  background-image: none;
}
#product .box-info-product .exclusive:before {
  border: 0;
  text-shadow: none;
  font-size: 22px;
}
#product .box-info-product .exclusive:after { display: none; }
#product .box-info-product .exclusive span {
  border: 0;
  border-radius: 999px;
  text-shadow: none;
  font-family: "Figtree", Arial, sans-serif;
  font-weight: 700;
}
@media (max-width: 991px) {
  #product .box-info-product .exclusive { width: 100%; }
  #product .box-info-product .exclusive span {
    font-size: 17px;
    padding: 13px 20px;
    text-align: center;
  }
}

/* Tabs/sections under the product */
#page #center_column .page_product_box h3,
#page .page-product-box .page-product-heading {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  text-transform: none;
  color: #24563c;
  background: #eef3ee;
  border-color: #d5e0d7;
  border-radius: 14px 14px 0 0;
}
#page .page-product-box .rte { border-color: #d5e0d7; }

/* ---------- 9. Forms ---------- */
#page input.form-control,
#page textarea.form-control {
  border-color: #c9d6cc;
  border-radius: 8px;
  color: #17231c;
}
#page input.form-control:focus,
#page textarea.form-control:focus {
  border-color: #3f7a57;
  box-shadow: 0 0 0 3px rgba(63, 122, 87, 0.18);
}
#page label { color: #24563c; }

/* ---------- 10. Checkout steps (01 Summary ... 05 Payment) ---------- */
#page ul.step {
  border-radius: 14px;
  overflow: hidden;
  background: #eef3ee;
}
#page ul.step li,
#page ul.step li.first,
#page ul.step li.last {
  border: 0;
  border-right: 2px solid #fff;
  border-radius: 0;
  background: #eef3ee;
  background-image: none;
  filter: none;
}
#page ul.step li.last { border-right: 0; }
#page ul.step li a,
#page ul.step li span,
#page ul.step li.step_current span,
#page ul.step li.step_current_end span,
#page ul.step li.step_todo span,
#page ul.step li.step_done a {
  font-family: "Figtree", Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-shadow: none;
  border: 0;
  border-radius: 0;
  padding: 14px 14px;
}
#page ul.step li a:after,
#page ul.step li span:after { display: none; }
#page ul.step li.step_todo span { color: #6b7d71; }
#page ul.step li.step_done { background: #3f7a57; }
#page ul.step li.step_done a { color: #fff; }
#page ul.step li.step_done a:hover { background: #356a4b; text-decoration: none; }
#page ul.step li.step_current,
#page ul.step li.step_current_end { background: #24563c; }
#page ul.step li.step_current span,
#page ul.step li.step_current_end span { color: #fff; }
@media (max-width: 767px) {
  #page ul.step li,
  #page ul.step li.first {
    border-right: 0;
    border-bottom: 2px solid #fff;
  }
  #page ul.step li.last { border-bottom: 0; }
}

/* ---------- 11. Cart and order tables ---------- */
#page .table > thead > tr > th,
#page #cart_summary thead th {
  background: #eef3ee;
  color: #24563c;
  font-weight: 600;
  border-color: #d5e0d7;
}
#page .table tbody > tr > td,
#page .table tfoot > tr > td,
#page .table-bordered,
#page .table-bordered > tbody > tr > td,
#page .table-bordered > tfoot > tr > td,
#page .table-bordered > thead > tr > th { border-color: #d5e0d7; }
#page .table tfoot tr { background: #f7faf7; }
#page #cart_summary tbody td.cart_product img { border-color: #d5e0d7; border-radius: 10px; }
#page #cart_summary tfoot td.total_price_container span,
#page #cart_summary tfoot td#total_price_container,
#page #cart_summary tfoot td#total_price_container span {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  text-transform: none;
  color: #24563c;
}
#page table.std th,
#page table.table_block th {
  background: #24563c;
  text-shadow: none;
  text-transform: none;
  font-size: 13px;
}
#page table.std,
#page table.table_block { border-color: #d5e0d7; border-radius: 12px; overflow: hidden; }

/* Carrier / payment option boxes */
#page .box,
#page .delivery_options_address .delivery_option,
#page p.payment_module a,
#page .order_carrier_content .delivery_options .delivery_option {
  border-color: #d5e0d7;
  border-radius: 14px;
}
#page .box { background: #f7faf7; }
#page p.payment_module a {
  background-color: #fff;
  color: #24563c;
  font-weight: 600;
}
#page p.payment_module a:hover { background-color: #eef3ee; }

/* ---------- 12. Messages ---------- */
#page .alert {
  border-radius: 12px;
  font-weight: 600;
  border-width: 1px;
}
#page .alert-success { background: #e6f2ea; border-color: #b9d8c3; color: #1d4a2f; }
#page .alert-info    { background: #eaf1f8; border-color: #c3d6ea; color: #1f3d5c; }
#page .alert-warning { background: #fdf3e2; border-color: #f0d29b; color: #6b4307; }
#page .alert-danger  { background: #fbeaea; border-color: #ecbcbc; color: #7d1b16; }
#page .alert-success .alert-link,
#page .alert-info .alert-link,
#page .alert-warning .alert-link,
#page .alert-danger .alert-link { color: inherit; text-decoration: underline; }

/* "Added to cart" pop-up */
#layer_cart { border-radius: 18px; overflow: hidden; }
#layer_cart .layer_cart_product .title { color: #3f7a57; font-weight: 700; }
#layer_cart .layer_cart_cart .title,
#layer_cart .layer_cart_product h2 { color: #24563c; }

/* ---------- 13. Homepage blocks ---------- */
#page #htmlcontent_top .item-title,
#page #htmlcontent_top h3 {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  color: #24563c;
}
#page #htmlcontent_top img { border-radius: 18px; }
#page #cmsinfo_block {
  background: #24563c;
  color: #d7e3da;
  border-radius: 18px;
  height: auto;          /* stock theme fixes the height and cuts text off */
  min-height: 344px;
  padding-bottom: 24px;
}
@media (max-width: 767px) {
  #page #cmsinfo_block { min-height: 0; }
  /* Homepage text/image block: stack instead of three squeezed columns */
  #page #htmlcontent_top .htmlcontent-home > li {
    width: 100%;
    float: none;
  }
}
#page #cmsinfo_block h3 {
  color: #fff;
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  text-transform: none;
}
#page #cmsinfo_block em { background: #3f7a57; color: #fff; border-radius: 50%; }
#page #cmsinfo_block a { color: #fff; text-decoration: underline; }

/* Side-column blocks (if a column is ever switched on) */
#page .block .title_block,
#page .block h4 {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  text-transform: none;
  color: #24563c;
  background: #eef3ee;
  border-top: 0;
  border-radius: 14px;
}

/* CMS pages (Delivery, About us, Terms) */
#page .rte { color: #3b4a40; font-size: 15px; line-height: 1.65; }

/* Category banner (dark box with the category title and intro text).
   Keeps its text light: the .rte rule above would otherwise darken it. */
#page .content_scene_cat { border-top: 0; color: #e6eee8; }
#page .content_scene_cat .content_scene_cat_bg {
  background-color: #24563c !important;   /* theme sets this with !important */
  border-radius: 18px;
  padding: 24px 28px 20px;
}
#page .content_scene_cat span.category-name {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.15;
  color: #fff;
}
#page .content_scene_cat .rte,
#page .content_scene_cat .rte p { color: #e6eee8; }
#page .content_scene_cat a,
#page .content_scene_cat .rte a { color: #fff; text-decoration: underline; }
@media (max-width: 767px) {
  #page .content_scene_cat .content_scene_cat_bg { padding: 18px 16px 16px; }
  #page .content_scene_cat span.category-name { font-size: 24px; }
}

/* ---------- 14. Footer ---------- */
#page .footer-container {
  background: #24563c;
  background-image: none;
}
#page .footer-container .container { padding-bottom: 40px; }
#page .footer-container #footer,
#page .footer-container #footer a { color: #c3d4c8; }
#page .footer-container #footer a:hover { color: #fff; }
#page .footer-container #footer h4,
#page .footer-container #footer h4 a {
  font-family: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
#page .footer-container #footer ul li a {
  font-weight: 500;
  text-shadow: none;
}
#page .footer-container #footer #block_contact_infos { border-left-color: rgba(255, 255, 255, 0.15); }
#page .footer-container #footer #block_contact_infos > div ul li i { color: #9cc8a9; }
#page .footer-container #footer #block_contact_infos > div ul li > span,
#page .footer-container #footer #block_contact_infos > div ul li > span a { color: #fff; }
@media (max-width: 767px) {
  #page .footer-container #footer .footer-block {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 6px;
  }
}

/* ---------- 15. Small screens ---------- */
@media (max-width: 767px) {
  body { font-size: 15px; }
  #page .page-heading { font-size: 22px; }
  #page .pb-center-column h1 { font-size: 24px; }
  #page #header .shopping_cart { padding-top: 16px; }
  #page #search_block_top { padding-top: 16px; }
  /* Bigger tap targets in the top bar */
  #page .header_user_info a,
  #page #contact-link a { padding-top: 11px; padding-bottom: 12px; }
}
/* Homepage content built with tables (text + logo side by side):
   stack the cells on phones so the page doesn't scroll sideways.
   Scoped to the homepage top area only, never cart/checkout tables. */
@media (max-width: 767px) {
  #page #top_column table,
  #page #top_column tbody,
  #page #top_column tr,
  #page #top_column td { display: block; width: auto !important; }
  #page #top_column td { padding-left: 0; padding-right: 0; }
  #page #top_column img { max-width: 100%; height: auto; float: none; }
}
@media (prefers-reduced-motion: reduce) {
  #page * { transition: none !important; }
}
