.google-review-trust.google-review-showcase,
.page-home .google-review-trust.google-review-showcase {
    background: #f1f2eb;
    border: 1px solid #e0e5d8;
    border-radius: 8px;
    box-shadow: none;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr);
    margin: 0 0 64px;
    overflow: hidden;
    padding: 0;
}
.google-review-showcase .review-showcase-intro { align-self: center; padding: 36px 40px; }
.google-review-showcase .review-showcase-intro h2 { color: #254d40; font-family: 'HK Flowers Display', 'Noto Serif TC', serif; font-size: clamp(1.55rem, 2.4vw, 2rem); font-weight: 500; letter-spacing: .04em; line-height: 1.5; margin: 12px 0; }
.google-review-showcase .review-showcase-intro p { color: #617264; font-size: .92rem; line-height: 1.8; margin: 0 0 20px; }
.google-review-showcase .review-showcase-all { align-items: center; color: #254d40; display: inline-flex; font-size: .85rem; font-weight: 700; gap: 16px; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }
.google-review-showcase .google-review-page-link { color: #617264; display: inline-block; font-size: .78rem; margin-left: 20px; min-height: 44px; padding: 12px 0; }
.google-review-showcase .review-showcase-summary { align-content: center; background: #fbfaf5; border-left: 1px solid #e0e5d8; display: grid; justify-items: center; padding: 28px 24px; text-align: center; }
.google-review-showcase .review-showcase-summary .google-review-attribution { background: none; border: 0; color: #52665b; font-size: .76rem; font-weight: 700; letter-spacing: .04em; padding: 0; }
.google-review-showcase .review-showcase-business { color: #617264; font-size: 12px; margin: 5px 0 12px; }
.google-review-showcase .review-showcase-score { align-items: baseline; color: #758071; display: flex; gap: 8px; white-space: nowrap; }
.google-review-showcase .review-showcase-score strong { color: #254d40; font: 400 4.2rem/1 Georgia, serif; letter-spacing: -.04em; }
.google-review-showcase .review-showcase-score > span { font-size: .9rem; }
.google-review-showcase .review-showcase-stars { color: #a47e31; font-size: 1.1rem; letter-spacing: .14em; margin-top: 10px; }
.google-review-showcase .review-showcase-stars > span { background: linear-gradient(90deg, #a47e31 var(--review-fill), #d5d9cc var(--review-fill)); background-clip: text; -webkit-background-clip: text; color: transparent; }
.google-review-showcase .google-review-count { color: #40594b; font-size: .81rem; margin: 8px 0; }
.google-review-showcase .google-review-freshness { color: #738071; display: block; font-size: 12px; margin: 3px 0 0; }
.google-review-showcase .review-showcase-note { color: #738071; display: block; font-size: 12px; line-height: 1.7; margin-top: 5px; max-width: 260px; }
.google-review-showcase .review-showcase-comments { border-top: 1px solid #e0e5d8; grid-column: 1 / -1; padding: 28px 32px; }
.google-review-showcase .review-showcase-comments-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 18px; }
.google-review-showcase .review-showcase-comments-heading h3 { color: #254d40; font-size: 1rem; margin: 0; }
.google-review-showcase .review-showcase-comments-heading > span { color: #738071; font-size: .75rem; }
.google-review-showcase .review-showcase-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.google-review-showcase .review-comment { background: #fffefb; border: 1px solid #e0e5d8; border-radius: 5px; display: flex; flex-direction: column; min-width: 0; padding: 22px; }
.google-review-showcase .review-comment-heading { align-items: center; display: flex; gap: 10px; }
.google-review-showcase .review-author-initial { align-items: center; background: #edf1e7; border-radius: 50%; color: #40594b; display: inline-flex; flex-shrink: 0; font-family: serif; font-size: 1rem; height: 38px; justify-content: center; width: 38px; }
.google-review-showcase .review-comment-heading > div { min-width: 0; }
.google-review-showcase .review-comment-heading strong { color: #254d40; display: block; font-size: .84rem; overflow-wrap: anywhere; }
.google-review-showcase .review-comment-heading time { color: #7b8577; display: block; font-size: 12px; margin-top: 3px; }
.google-review-showcase .review-comment-quote { color: #d9dfcf; font: 3rem/1 Georgia, serif; margin-left: auto; }
.google-review-showcase .review-comment-stars { color: #a47e31; font-size: .88rem; letter-spacing: .1em; margin-top: 18px; }
.google-review-showcase .review-comment p { color: #526456; font-size: .84rem; line-height: 1.9; margin: 12px 0 20px; overflow-wrap: anywhere; white-space: pre-line; }
.google-review-showcase .review-comment-full summary { color: #254d40; cursor: pointer; font-size: .78rem; min-height: 40px; padding: 8px 0; }
.google-review-showcase .review-comment-source { color: #7b8577; display: block; font-size: 12px; margin-top: auto; padding-top: 8px; }
.google-review-showcase .review-author-avatar { border-radius: 50%; flex-shrink: 0; height: 38px; object-fit: cover; width: 38px; }
.google-review-showcase .review-author-link { color: inherit; text-decoration: none; }
.google-review-showcase .review-author-link:hover { text-decoration: underline; }
.google-review-showcase .google-review-attribution, .google-review-showcase .review-comment-source { font-family: sans-serif; font-style: normal; font-weight: 400; letter-spacing: normal; }
.google-review-showcase .google-review-attribution { color: #5e5e5e !important; font-size: 14px !important; white-space: nowrap; }
.google-review-showcase .google-maps-provider-logo { display: block; height: 18px; margin: 10px 10px 5px; width: auto; }
.google-review-showcase .review-comment-source { font-size: 12px; line-height: 1.7; }
.google-review-showcase .review-showcase-disclosure { color: #738071; font-size: 12px; line-height: 1.8; margin: 18px 0 0; }
.google-review-showcase .review-showcase-disclosure a { color: #40594b; text-underline-offset: 3px; }
.google-review-showcase a:focus-visible, .google-review-showcase summary:focus-visible { outline: 2px solid #977946; outline-offset: 4px; }
@media (max-width: 760px) {
    .google-review-trust.google-review-showcase, .page-home .google-review-trust.google-review-showcase { grid-template-columns: minmax(0, 1fr); margin-bottom: 42px; }
    .google-review-showcase .review-showcase-intro { padding: 26px 22px 20px; }
    .google-review-showcase .review-showcase-summary { border-left: 0; border-top: 1px solid #e0e5d8; gap: 5px 14px; grid-template-columns: max-content minmax(0, 1fr); justify-items: start; padding: 24px 22px; text-align: left; }
    .google-review-showcase .review-showcase-score { align-self: center; grid-column: 1; grid-row: 1 / 4; }
    .google-review-showcase .review-showcase-summary .google-review-attribution { grid-column: 2; grid-row: 1; }
    .google-review-showcase .review-showcase-summary .google-maps-provider-logo { grid-column: 2; grid-row: 1; margin-left: 0; }
    .google-review-showcase .review-showcase-business { display: none; }
    .google-review-showcase .review-showcase-stars { font-size: .95rem; grid-column: 2; grid-row: 2; margin: 0; }
    .google-review-showcase .google-review-count { grid-column: 2; grid-row: 3; margin: 0; }
    .google-review-showcase .review-showcase-summary small { grid-column: 1 / -1; }
    .google-review-showcase .review-showcase-intro .google-review-page-link { margin-left: 0; margin-top: 6px; padding: 0; min-height: 32px; display: block; }

    .google-review-showcase .review-showcase-score strong { font-size: 3.6rem; }
    .google-review-showcase .review-showcase-comments { padding: 24px 16px; }
    .google-review-showcase .review-showcase-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .google-review-showcase .review-comment { padding: 20px; }
}

@media (max-width: 420px) {
    .google-review-showcase .review-showcase-summary { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
    .google-review-showcase .review-showcase-summary :is(.review-showcase-score, .google-review-attribution, .google-maps-provider-logo, .review-showcase-stars, .google-review-count) { grid-column: 1; grid-row: auto; }
}

/* Touch-friendly reviews remain readable without JavaScript. */
.google-review-showcase .review-showcase-unavailable { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #e0e5d8; }
.google-review-showcase .review-showcase-unavailable h3 { margin: 0 0 8px; color: #254d40; font-size: 1rem; }
.google-review-showcase .review-showcase-unavailable p { margin: 0; color: #647265; font-size: .875rem; line-height: 1.8; }
.google-review-showcase .review-showcase-unavailable > a { flex-shrink: 0; }
@media (max-width: 760px) {
    .google-review-showcase .review-showcase-unavailable { flex-direction: column; align-items: flex-start; }
}
.review-carousel-controls[hidden] { display: none; }
.google-review-showcase .review-showcase-grid:focus-visible { outline: 2px solid #977946; outline-offset: 4px; }
@media (max-width: 760px) {
    .google-review-showcase .review-showcase-comments { display: block; min-width: 0; }
    .google-review-showcase .review-showcase-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 92%;
        grid-template-columns: none;
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        scrollbar-color: #bba776 transparent;
        padding: 3px 0 12px;
        align-items: start;
    }
    .google-review-showcase .review-comment { scroll-snap-align: start; min-height: 300px; box-sizing: border-box; }
    .google-review-showcase .review-carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
    .google-review-showcase .review-carousel-hint { color: #647265; font-size: 12px; }
    .google-review-showcase .review-carousel-navigation { display: flex; gap: 8px; align-items: center; }
    .google-review-showcase .review-carousel-navigation button { display: inline-flex; align-items: center; justify-content: center; background: #fffdf7; color: #254d40; border: 1px solid #cbd5c8; border-radius: 50%; width: 44px; height: 44px; padding: 0; font: 26px/1 Georgia, serif; cursor: pointer; }
    .google-review-showcase .review-carousel-navigation button:disabled { opacity: .35; cursor: default; }
    .google-review-showcase .review-carousel-navigation button:focus-visible { outline: 2px solid #977946; outline-offset: 3px; }
    .google-review-showcase .review-carousel-position { font-size: 12px; color: #40594b; min-width: 30px; text-align: center; font-variant-numeric: tabular-nums; }
}
@media (max-width: 760px) {
    .google-review-showcase .review-carousel-navigation button[data-review-step] {
        background: #fffdf7 !important;
        border: 1px solid #cbd5c8 !important;
        border-radius: 50% !important;
        box-shadow: none;
        color: #254d40 !important;
        margin: 0;
        min-width: 44px;
        min-height: 44px;
    }
    .google-review-showcase .review-carousel-navigation button[data-review-step]:enabled:hover { background: #edf2e8 !important; }
}
/* The dedicated reviews page is a reading list, including on narrow screens. */
.google-review-trust--page .review-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; align-items: start; scroll-snap-type: none; }
.google-review-trust--page .review-comment { min-height: 0; }
.google-review-trust--page .review-comment p { font-size: 15px; }
@media (max-width: 760px) {
    .google-review-trust--page .review-showcase-grid { grid-template-columns: minmax(0, 1fr); padding-bottom: 0; }
    .google-review-trust--page .review-comment { padding: 20px; }
}
/* Honest offline presentation: service assurances are visually distinct from customer quotes. */
.google-review-showcase .review-backup-label{display:inline-block;margin:0 0 16px;padding:5px 11px;border:1px solid #ddcfaa;border-radius:20px;background:#faf5e8;color:#776035;font-size:12px;line-height:1.5}
.google-review-showcase .review-backup-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.google-review-showcase .review-backup-heading h3{margin:0 0 8px;font-size:18px;color:#254d40}
.google-review-showcase .review-backup-heading p,.google-review-showcase .review-backup-grid p{margin:0;color:#586c5e;font-size:14px;line-height:1.8}
.google-review-showcase .review-backup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.google-review-showcase .review-backup-grid article{background:#fffef9;border:1px solid #dce3d5;border-radius:10px;padding:22px;position:relative;border-top:2px solid #bcaa78}
.google-review-showcase .review-backup-icon{display:inline-flex;color:#7e713d;background:#f2f1e5;border-radius:50%;padding:10px;margin-bottom:12px}
.google-review-showcase .review-backup-icon svg{width:23px;height:23px}
.google-review-showcase .review-backup-grid h4{margin:0 0 9px;font-size:16px;line-height:1.6;color:#254d40}
.google-review-showcase .review-backup-notice{margin:16px 0 0;font-size:12px;line-height:1.8;color:#657366}
@media(max-width:760px){.google-review-showcase .review-backup-heading{align-items:flex-start;flex-direction:column;gap:12px}.google-review-showcase .review-backup-grid{grid-template-columns:1fr;gap:10px}.google-review-showcase .review-backup-grid article{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;padding:16px}.google-review-showcase .review-backup-icon{grid-row:1/3;align-self:start;margin:0;padding:9px}.google-review-showcase .review-backup-grid h4{margin:0 0 5px}.google-review-showcase .review-backup-grid p{grid-column:2}}
.google-review-showcase .review-archive-note{margin:0 0 20px;padding:10px 14px;border-left:2px solid #bcaa78;background:#f6f3e8;color:#64705e;font-size:12px;line-height:1.8}
/* Homepage: six visible reviews in a responsive grid, without a mobile carousel. */
.google-review-trust--home .review-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;align-items:stretch}
@media(min-width:601px) and (max-width:1023px){.google-review-trust--home .review-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.google-review-trust--home .review-showcase-grid{grid-template-columns:minmax(0,1fr);padding-bottom:0}.google-review-trust--home .review-comment{min-height:0}}
.google-review-showcase .review-comment[hidden],.review-load-more[hidden],.review-load-more button[hidden]{display:none}
.review-load-more{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0 8px}
.review-load-more button{border:1px solid #225b49;border-radius:6px;background:#225b49;color:#fff;padding:12px 24px;font:inherit;cursor:pointer;min-height:44px}
.review-load-more button:focus-visible{outline:2px solid #977946;outline-offset:3px}
.review-load-more span{color:#586c5e;font-size:13px;font-variant-numeric:tabular-nums}

.page-home .google-review-trust.google-review-showcase--without-summary{grid-template-columns:minmax(0,1fr)}

/* Shop-owned delivery photographs belong only to the homepage review panel. */
.google-review-trust--home .review-delivery-strip{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;row-gap:12px;padding:24px 32px 28px;border-top:1px solid #dce2d5;align-items:center}
.google-review-trust--home .review-delivery-copy{grid-column:1;grid-row:1;align-self:end}
.google-review-trust--home .review-delivery-copy h3{margin:0 0 6px;color:#254d40;font-size:20px;font-weight:600;line-height:1.5}
.google-review-trust--home .review-delivery-copy p{margin:0;color:#617264;font-size:13px;line-height:1.7}
.google-review-trust--home .review-delivery-photos{grid-column:2;grid-row:1/3;display:flex;gap:12px}
.google-review-trust--home .review-delivery-photos a{display:block;width:130px;aspect-ratio:3/4;border:1px solid #dce2d5;border-radius:5px;overflow:hidden;background:#eeece4}
.google-review-trust--home .review-delivery-photos img{display:block;width:100%;height:100%;object-fit:contain}
.google-review-trust--home .review-delivery-link{grid-column:1;grid-row:2;align-self:start;justify-self:start;color:#254d40;font-size:14px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center;gap:14px;text-underline-offset:4px}
.google-review-trust--home .review-delivery-strip a:focus-visible{outline:2px solid #977946;outline-offset:4px}
/* Breakpoints follow the review panel rather than the viewport. */
.google-review-trust--home{container-type:inline-size;container-name:review-panel}
.google-review-trust--home .review-delivery-photos a{position:relative;flex:0 0 130px}
.google-review-trust--home .review-delivery-photos a:nth-child(n+4){display:none}
.google-review-trust--home .review-delivery-photos img{position:absolute;inset:0;transition:opacity 400ms ease}
.google-review-trust--home .review-delivery-left{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.google-review-trust--home .review-delivery-controls{grid-column:1;grid-row:3;min-height:36px}
.google-review-trust--home .review-delivery-controls[hidden]{display:none}
.google-review-trust--home .review-delivery-controls button{min-height:36px;padding:4px 10px;border:1px solid #ccd8c9;border-radius:5px;background:transparent;color:#254d40;font:inherit;font-size:13px;cursor:pointer}
.google-review-trust--home .review-delivery-controls button:focus-visible{outline:2px solid #977946;outline-offset:3px}
.google-review-trust--home [data-delivery-next]{display:none}
@container review-panel (min-width:1100px){.google-review-trust--home .review-delivery-photos a:nth-child(-n+5){display:block}}
@container review-panel (max-width:720px){
 .google-review-trust--home .review-delivery-strip{grid-template-columns:minmax(0,1fr);padding:22px 20px;gap:14px}
 .google-review-trust--home .review-delivery-left{display:contents}
 .google-review-trust--home .review-delivery-copy{grid-column:1;grid-row:1}
 .google-review-trust--home .review-delivery-photos{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,130px));gap:8px}
 .google-review-trust--home .review-delivery-photos a{width:100%;min-width:0}
 .google-review-trust--home .review-delivery-link{grid-row:4}
 .google-review-trust--home .review-delivery-copy h3{font-size:18px}
 .google-review-trust--home .review-delivery-controls button{min-height:44px}
 .google-review-trust--home [data-delivery-next]{display:inline-block}
}
@media(prefers-reduced-motion:reduce){.google-review-trust--home .review-delivery-photos img{transition:none}}
.google-review-trust--home .review-delivery-left .review-delivery-copy{align-self:auto}
.google-review-trust--home .review-delivery-controls{justify-self:start}
.google-review-trust--home .review-delivery-controls button{width:auto}
/* Keep the Google mark, numeric score and stars together on a phone. */
@media(max-width:760px){
 .google-review-trust--home .review-showcase-summary{display:grid;grid-template-columns:minmax(0,96px) max-content max-content;align-items:center;justify-content:start;gap:8px 10px;padding:18px 14px}
 .google-review-trust--home .review-showcase-summary :is(.google-review-attribution,.google-maps-provider-logo){grid-column:1;grid-row:1;max-width:96px;width:auto;font-size:12px;white-space:nowrap}
 .google-review-trust--home .review-showcase-summary .review-showcase-score{grid-column:2;grid-row:1;display:flex;align-items:baseline;gap:3px;white-space:nowrap;margin:0}
 .google-review-trust--home .review-showcase-score strong{font-size:30px;line-height:1.2}.google-review-trust--home .review-showcase-score>span{font-size:12px}
 .google-review-trust--home .review-showcase-summary .review-showcase-stars{grid-column:3;grid-row:1;font-size:14px;letter-spacing:0;white-space:nowrap;margin:0}
 .google-review-trust--home .review-showcase-summary :is(.google-review-count,.google-review-freshness,.review-showcase-business,.review-backup-label){grid-column:1/-1;grid-row:auto;margin:0}
 .google-review-trust--home .review-delivery-photos{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px;min-width:0}
 .google-review-trust--home .review-delivery-photos a:nth-child(n+4){display:none!important}
}
@media(max-width:360px){.google-review-trust--home .review-showcase-score strong{font-size:26px}.google-review-trust--home .review-showcase-summary .review-showcase-stars{font-size:12px}.google-review-trust--home .review-showcase-summary{gap:6px}}
@layer hkf-mobile-review-layout{
 @media(max-width:760px){
  .page-home .google-review-trust--home .review-showcase-summary{display:grid!important;grid-template-columns:96px max-content max-content!important;gap:8px!important;justify-content:start!important;align-items:center!important;padding:18px 14px!important}
  .page-home .google-review-trust--home .review-showcase-summary :is(.google-review-attribution,.google-maps-provider-logo){grid-column:1!important;grid-row:1!important;margin:0!important;width:auto!important;max-width:96px!important;white-space:nowrap!important}
  .page-home .google-review-trust--home .review-showcase-summary .review-showcase-score{grid-column:2!important;grid-row:1!important;display:flex!important;gap:3px!important;white-space:nowrap!important;position:static!important;margin:0!important}
  .page-home .google-review-trust--home .review-showcase-summary .review-showcase-stars{grid-column:3!important;grid-row:1!important;position:static!important;margin:0!important;font-size:14px;letter-spacing:0!important;white-space:nowrap!important}
  .page-home .google-review-trust--home .review-showcase-summary :is(.google-review-count,.google-review-freshness,.review-showcase-business,.review-backup-label){grid-column:1/-1!important;grid-row:auto!important;margin:0!important}
 }
 @media(max-width:360px){.page-home .google-review-trust--home .review-showcase-summary{grid-template-columns:96px max-content max-content!important;gap:6px!important}}
}

@layer hkf-mobile-review-layout{
 @media(max-width:760px){
  .page-home .google-review-trust--home .review-showcase-summary .google-review-attribution{font-size:12px!important}
  .page-home .google-review-trust--home .review-showcase-score strong{font-size:30px!important;line-height:1.2!important}
  .page-home .google-review-trust--home .review-showcase-score>span{font-size:12px!important}
  .page-home .google-review-trust--home .review-showcase-summary .review-showcase-stars{font-size:14px!important}
 }
 @media(max-width:360px){.page-home .google-review-trust--home .review-showcase-score strong{font-size:26px!important}.page-home .google-review-trust--home .review-showcase-summary .review-showcase-stars{font-size:12px!important}}
}

@layer hkf-mobile-review-layout {
 @media(max-width:760px) {
  .page-home .google-review-trust--home .review-showcase-summary .google-review-freshness {
   min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;
  }
 }
}
