/*
 * Amabride shop polish (2026-11-08).
 * Loaded after style.css by v1/views/includes/header.php. Spacing, alignment
 * and consistency fixes only: brand colours, fonts and wording are unchanged.
 * To undo everything, remove the polish.css <link> from header.php.
 */

/* ---------- Site wide ---------- */

/* The top bar only ever showed the placeholder "Promotionals to go here".
   Put real promo text in header.php and delete this rule to bring it back. */
.bd_one { display: none; }

/* Footer: the email was forced into 120px and broken mid-word. */
.bd_last_top_one li[style] { width: auto !important; }
.bd_last_top_one a[href^="mailto:"] { word-break: normal !important; overflow-wrap: anywhere; }

/* Empty cart and wishlist: give the message room instead of a thin strip
   with the footer pressed against it. */
.cart_empty_message {
  min-height: 45vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 64px 0;
  text-align: center;
}

/* Flat brand buttons instead of the green-to-orange gradient. */
.ld_one_topographic a,
.new_ld_divide_right a {
  background: #2D4630;
  border: 1px solid #2D4630;
  transition: background .2s ease, color .2s ease;
}
.new_ld_divide_right a { background: #F9F0D9; border-color: #F9F0D9; color: #273D2A; }
.ld_one_topographic a:hover { background: #273D2A; }
.new_ld_divide_right a:hover { background: transparent; color: #F9F0D9; }

/* ---------- Home ---------- */

/* Remove the stray 32px cream strips between full-width sections. */
.bd_container:has(> .ld_stats),
.new_ld_divide_container { margin-bottom: 0 !important; } /* beats the inline style="" */

/* The map is a card: give it even breathing room and the page's 48px gutter. */
body .map_container { margin: 64px 48px; } /* "body" beats the page's own <style> */

/* Category cards fill the row instead of leaving a gap on the right. */
@media (min-width: 998px) {
  .ld_three .carl { flex: 1 1 0; width: auto; min-width: 0; }
  .ld_three .carl img { width: 100%; }
}

/* Testimonial: long quotes scroll; fade the last line so it reads as
   "more below" instead of text sliced in half. */
.testimonial-text {
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent);
          mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent);
  padding-bottom: 12px;
}

/* ---------- Category page ---------- */

.bd_prod_card_bottom .bd_bot_two { text-transform: capitalize; }
.bd_prod_listing { row-gap: 24px; }
.bd_prod_card { margin-bottom: 0; }
.bd_pag { margin-top: 32px; }

/* ---------- Product page ---------- */

/* Empty breadcrumb slot pushed the details 64px below the photo. */
.prod_bx_one_top_right > .bd_five_top:empty { display: none; }
.prod_details h3 {
  font-size: 28px;
  line-height: 36px;
  text-transform: capitalize;
}
.prod_details > .prod_details_bx:first-child { padding-top: 0; }

/* Thumbnails sit beside the photo; arrows hug the thumbnail strip, and are
   hidden when every thumbnail already fits (three or fewer). */
.thumbnail-container { align-self: flex-start; }
.thumbnail-container:not(:has(.thumbnails:nth-of-type(4))) .chevron { display: none; }
.thumbnail-container:not(:has(.thumbnails:nth-of-type(4))) .thumb_scroll { height: auto; }

/* Quantity stepper big enough to tap (product page only; the phone cart
   keeps its compact stepper). */
.prod_details .quantity_container { align-items: stretch; }
.prod_details .quantity_container button { width: 36px; height: 36px; }
.prod_details .quantity_container span {
  min-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}
.prod_details_bx.quantity { align-items: center; }

/* Add to bag and the heart are the same height. */
.prod_details_bx_below .bd_bluc { height: 48px; flex: 1; }
.prod_details_bx_below { width: 100%; max-width: 420px; }
.prod_details_bx_below .fav_big { flex: 0 0 48px; }
.bridal_consultant_note {
  font-family: Gambetta, serif !important;
  font-size: 13px !important;
  color: #5E6B60 !important;
}

/* "You might also love" cards share the full width. */
.also_love_bx_card { flex: 1 0 224px; max-width: 330px; }
.also_love_bx_card_top { width: 100%; }

@media (max-width: 997px) {
  /* Phone and tablet order: photos, then name, price and Add to bag,
     then the description tabs. */
  .prod_bx_one_top_left:not(.prod_bx_one_top_right) { display: contents; }
  .prod_bx_one_top_left_top { order: 1; margin-bottom: 0; }
  .prod_bx_one_top_right { order: 2; }
  .prod_bx_one_top_left_bot { order: 3; }
  .prod_bx_one_top { min-height: 0; }
}
@media (max-width: 624px) {
  .prod_bx_one_top_left_top { min-height: 0; }
  #image-board, #acc_image-board { padding: 0; }
  .prod_details h3 { font-size: 24px; line-height: 32px; }
  .prod_details_bx_below { max-width: none; }
}

/* ---------- Cart ---------- */

/* Payment logos in three equal tiles. */
.cart_services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.cart_options { padding: 12px; min-height: 56px; }
.cart_options img { max-width: 100%; height: auto; }

@media (min-width: 553px) {
  /* Price, quantity and total line up with the product, not the row's foot. */
  .cart_item_card { align-items: center; }
  .cart_item_card > div:not(.cart_item_card_one) { align-self: stretch; display: flex; align-items: center; }
  .cart_item_card .cart_shorter_one p { position: static; }
  .cart_item_card_three { align-items: center; }
}
@media (max-width: 997px) {
  .cart_left { min-height: 0; }
}

/* ---------- Phones ---------- */

@media (max-width: 552px) {
  body .map_container { margin: 48px 24px; }

  /* Map: heading under the map instead of printed over it. */
  body .ld_map_text { flex-direction: column; justify-content: flex-start; min-height: 0; padding: 32px 24px; }
  body .ld_map_text img { position: static; transform: none; width: 100%; padding: 0; }
  body .we_deliver { width: 100%; padding: 24px 0 0; text-align: center; }

  /* Stats: two even columns, icon over the figure, all left aligned. */
  body .ld_stats_cards { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
  body .ld_stats_card { width: auto; flex-direction: column; gap: 12px; padding: 16px; }
  body .ld_stats_card_right, body .ld_stats_card_right h3, body .ld_stats_card_right p { text-align: left; }
  body .ld_stats_card_right h3 { font-size: 26px; line-height: 32px; }
  body .ld_stats_card_right p { font-size: 14px; line-height: 20px; }

  /* Newsletter panel: same 24px inset as the rest of the page. */
  body .ld_divide_below_right { padding: 40px 24px; }
}

@media (max-width: 624px) {
  /* Shop grid: two products per row instead of one long column. */
  .bd_prod_listing { flex-direction: row; column-gap: 12px; row-gap: 20px; }
  .bd_prod_card { width: calc(50% - 6px); height: auto; }
  .bd_prod_card_top { height: 240px; }
  .bd_prod_card_bottom { height: auto; padding: 10px 2px 0; }
}
