/* Readable guides inside the existing Fruitfits catalogue identity. */
.ff-guide-page { --ffg-ink: #26372c; --ffg-muted: #5f665e; --ffg-green: #315f2e; --ffg-soft: #ecf3e5; background: #fafaf8; color: var(--ffg-ink); }
/* These guides provide an in-page LINE action and QR, without an overlay. */
.ff-guide-page .ff-float-line { display: none; }
.ffg-main { width: min(1240px, calc(100% - 64px)); margin: 0 auto; padding: 0 0 64px; font-size: 17px; line-height: 1.7; }
.ffg-main * { box-sizing: border-box; }
.ffg-main h2, .ffg-main h3, .ffg-main p, .ffg-main figure, .ffg-main ol, .ffg-main ul { margin: 0; }
.ffg-main h2, .ffg-main h3 { color: var(--ffg-ink); font-weight: 500; text-wrap: balance; }
.ffg-main h2 { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.45; }
.ffg-main p { color: var(--ffg-muted); }
.ffg-main a { color: var(--ffg-green); text-decoration: none; }
.ffg-main a:focus-visible { outline: 3px solid var(--ffg-green); outline-offset: 5px; }
.ffg-main ::selection { background: #d9edc9; color: #20341b; }
.ffg-intro { max-width: 65ch; font-size: 19px; margin-bottom: 32px !important; }
.ffg-step-list { padding: 0 !important; list-style: none !important; }
.ffg-step { display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(280px, .72fr); column-gap: 28px; align-items: center; border-top: 1px solid #dedfd6; padding: 36px 0; }
.ffg-number { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: var(--ffg-soft); color: var(--ffg-green); border-radius: 50%; font-size: 25px; font-weight: 500; font-variant-numeric: tabular-nums; align-self: start; }
.ffg-step-copy p { margin-top: 14px; max-width: 48ch; }
.ffg-states { display: flex; gap: 12px; align-items: center; margin-top: 18px; flex-wrap: wrap; }
.ffg-state { display: inline-flex; padding: 3px 10px; border-radius: 6px; font-size: 14px; line-height: 1.6; }
.ffg-state--ready { background: #ecf3e5; color: #315f2e; }
.ffg-state--ask { background: #f0f0eb; color: #50564f; }
.ffg-step-copy .ffg-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 16px; font-weight: 500; text-decoration: underline; text-underline-offset: 5px; }
.ffg-image { text-align: center; }
.ffg-card-shot { display: block; width: 236px; max-width: 100%; height: auto; margin: auto; border-radius: 12px; }
.ffg-image figcaption { color: var(--ffg-muted); font-size: 13px; line-height: 1.6; margin-top: 12px; }
.ffg-button-shot { display: block; width: 360px; max-width: 100%; height: auto; margin: auto; }
.ffg-line-preview { display: flex; justify-content: center; align-items: center; padding: 30px 24px; background: var(--ffg-soft); border-radius: 12px; }
.ffg-chat-list { padding: 0 !important; list-style: none !important; margin-top: 16px !important; display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--ffg-ink); }
.ffg-chat-list li { display: flex; align-items: center; gap: 8px; }
.ffg-chat-list li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ffg-green); flex: none; }
.ffg-qr .ff-line-qr { background: transparent; border: 0; padding: 0; box-shadow: none; }
.ffg-qr .ff-line-qr__media { width: 162px; max-width: 100%; padding: 12px; margin-inline: auto; background: #fff; border: 1px solid #dedfd6; border-radius: 12px; box-shadow: none; }
.ffg-qr .ff-line-qr__media:hover { border-color: var(--ffg-green); box-shadow: none; transform: none; }
.ffg-qr .ff-line-qr__image { width: 136px; height: 136px; }
.ffg-qr a img { max-width: 136px; height: auto; }
.ffg-payment { display: grid; grid-template-columns: .7fr 1fr; gap: 36px; background: var(--ffg-soft); padding: 28px 32px; border-radius: 12px; margin-top: 12px; }
.ffg-payment p + p { margin-top: 8px; }
.ffg-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 22px; background: #83c452; border-radius: 8px; color: #20341b !important; font-weight: 500; font-size: 17px; line-height: 1.5; }
.ffg-button:hover { background: #75b445; color: #14240f !important; }
.ffg-button svg { width: 22px; height: 22px; flex: none; }
.ffg-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #dedfd6; padding-top: 26px; margin-top: 36px; flex-wrap: wrap; }
.ffg-actions a:not(.ffg-button) { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }
.ffg-delivery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 24px; padding: 0 !important; list-style: none !important; margin: 0 0 32px !important; }
.ffg-delivery > li { position: relative; min-width: 0; }
.ffg-scene { display: block; width: 100%; aspect-ratio: 1 / 1; background-image: url('images/delivery-scenes-motorcycle.webp'); background-size: 500% auto; background-repeat: no-repeat; background-position: 0% 50%; }
.ffg-scene--2 { background-position-x: 25%; }
.ffg-scene--3 { background-position-x: 50%; }
.ffg-scene--4 { background-position-x: 75%; }
.ffg-scene--5 { background-position-x: 100%; }
.ffg-delivery h2 { font-size: 22px; margin-top: 18px; }
.ffg-delivery p { font-size: 16px; line-height: 1.75; margin-top: 12px; }
.ffg-delivery .ffg-number { width: 38px; height: 38px; font-size: 20px; margin-top: 18px; position: relative; }
.ffg-delivery-heading { display: flex; align-items: center; gap: 12px; }
.ffg-delivery-heading .ffg-number { flex: none; }
.ffg-delivery-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 28px 0; border-top: 1px solid #dedfd6; }
.ffg-delivery-notes h2 { font-size: 24px; margin-bottom: 10px; }
.ffg-download { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; text-decoration: underline !important; text-underline-offset: 5px; }
@media(max-width: 1000px) { .ffg-step { grid-template-columns: 48px minmax(0, 1fr) 270px; gap: 20px; } .ffg-delivery { column-gap: 16px; } .ffg-delivery h2 { font-size: 19px; } .ffg-delivery-heading { gap: 7px; } }
@media(max-width: 760px) { .ffg-main { width: calc(100% - 40px); padding-bottom: 40px; } .ffg-intro { font-size: 17px; margin-bottom: 24px !important; } .ffg-step { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 26px 0; align-items: start; } .ffg-number { width: 36px; height: 36px; font-size: 20px; } .ffg-step h2 { font-size: 24px; } .ffg-step-copy p { font-size: 16px; margin-top: 10px; } .ffg-image, .ffg-qr { grid-column: 2; margin-top: 8px !important; } .ffg-card-shot { width: 208px; } .ffg-image figcaption { font-size: 12px; } .ffg-line-preview { padding: 20px 16px; } .ffg-payment { grid-template-columns: 1fr; gap: 12px; padding: 22px; } .ffg-payment h2 { font-size: 24px; } .ffg-actions { gap: 12px; margin-top: 26px; } .ffg-delivery { grid-template-columns: 1fr; margin-bottom: 24px !important; } .ffg-delivery > li { display: grid; grid-template-columns: 106px minmax(0, 1fr); gap: 14px; padding: 20px 0; border-top: 1px solid #dedfd6; align-items: center; } .ffg-scene { grid-row: 1 / 3; } .ffg-delivery-heading { align-items: center; gap: 10px; } .ffg-delivery-heading .ffg-number { margin: 0; width: 30px; height: 30px; font-size: 17px; } .ffg-delivery h2 { font-size: 21px; margin: 0; } .ffg-delivery p { grid-column: 2; margin: -4px 0 0; font-size: 15px; } .ffg-delivery-notes { grid-template-columns: 1fr; gap: 24px; padding: 24px 0; } .ffg-delivery-notes h2 { font-size: 23px; } }
