/* Storefront refinement: compact navigation, product discovery and honest image framing. */
/* The original responsive logo/scroll effect is owned by site.css and redesign.js. */
body .site-header .site-nav .nav-cta .button { background: var(--thread); border-color: var(--thread); color: #fff; font-size: 15px; font-weight: 500; }
body .site-header .site-nav .nav-cta .button:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
@media (max-width: 480px) {
  body .site-header .site-nav .nav-cta .button { font-size: 18px; }
}
body .wc-main { padding-block: 28px 56px; }
body .woocommerce-products-header { margin-bottom: 20px; }
body .woocommerce-products-header h1,
body .wc-main h1.page-title { font-size: clamp(30px, 3vw, 44px); max-width: none; margin: 0 0 8px; }
body .shop-lede { max-width: 78ch; font-size: 16px; line-height: 1.6; margin: 0 0 18px; }
body .pld-range-nav { gap: 8px; margin: 18px 0; }
body .pld-range-nav a { font-size: 14px; padding: 7px 14px; }
.pld-shop-tools { display: grid; grid-template-columns: minmax(220px, 1.4fr) minmax(320px, 1.8fr) auto; align-items: end; gap: 14px; padding: 18px; background: #f4f0e9; border: 1px solid #dedbd2; border-radius: 14px; }
.pld-filter-details { min-width: 0; }
.pld-filter-details summary { display: none; }
.pld-filter-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.pld-control { display: grid; gap: 5px; min-width: 0; }
.pld-shop-tools label { display: grid; gap: 5px; min-width: 0; font-size: 13px; font-weight: 600; line-height: 1.5; }
.pld-shop-tools input,
.pld-shop-tools select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #8a9691; border-radius: 7px; background: #fff; color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.4; }
body .pld-shop-tools .button { min-height: 46px; padding: 11px 20px; }
.pld-shop-results { display: flex; flex-wrap: wrap; gap: 6px 24px; align-items: center; justify-content: space-between; margin: 14px 0 20px; font-size: 14px; }
.pld-shop-results p { margin: 0; color: var(--muted); }
.pld-shop-results a { text-underline-offset: 4px; min-height: 32px; display: inline-flex; align-items: center; }
.pld-empty-results { max-width: 640px; padding: 24px 0; }
.pld-empty-results .text-link { margin: 12px 18px; }

/* Proportional WordPress images sit inside a common portrait frame, never a crop. */
.woocommerce ul.products { gap: 32px 24px; align-items: stretch; }
.woocommerce ul.products li.product { display: flex; flex-direction: column; margin: 0; padding: 0; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; }
.woocommerce ul.products li.product a img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; object-position: center; padding: 10px; margin: 0 0 12px; border: 1px solid #ebe7df; border-radius: 12px; background: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; margin: 0 0 6px; padding: 0; font-size: clamp(19px, 1.6vw, 23px); line-height: 1.25; }
.woocommerce ul.products li.product .price { margin: auto 0 12px; font-size: 17px; line-height: 1.5; }
.woocommerce ul.products li.product .pld-guide-label { margin-top: 2px; }
.woocommerce ul.products li.product .button { width: auto; margin: 0; min-height: 44px; padding: 10px 18px; font-size: 14px; }
body .pld-inner-disclosure { margin: 24px 0 0; }

/* Product discovery stays before the longer story; the original hero uses site.css. */
@keyframes pld-maker-seal-spin { from { transform: rotate(-10deg); } to { transform: rotate(350deg); } }
.maker-seal { animation: pld-maker-seal-spin 24s linear infinite; }
@media (prefers-reduced-motion: reduce) { .maker-seal { animation: none; } }
body .range-section { padding-block: 36px; }
body .range-section .section-heading { margin-bottom: 22px; }
body .range-image { border-radius: 14px; border-color: #dedbd2; }
body .range-image img { height: 250px; padding: 12px; }
body .range-caption { padding: 14px 0 0; }
body .range-caption h3 { margin-bottom: 4px; font-size: 25px; }
body .range-caption p { margin: 0; font-size: 14px; }
body .range-browse { margin-top: 24px; }
body .pld-home-products { padding-block: 40px; }
.pld-home-products .section-heading { align-items: center; }
.pld-order-note { margin: 24px 0 0; color: var(--muted); font-size: 14px; }

@media (max-width: 1050px) {
  .pld-shop-tools { grid-template-columns: minmax(180px, 1.2fr) minmax(260px, 1.8fr); }
  .pld-shop-tools .button { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 110px; }
  body .site-topbar .site-topbar-email { display: none; }
  body .wc-main { padding-block: 20px 40px; }
  body .woocommerce-products-header h1,
  body .wc-main h1.page-title { font-size: 30px; line-height: 1.15; }
  body .shop-lede { font-size: 14px; margin-bottom: 12px; }
  body .pld-range-nav { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding: 4px 3px 8px; margin: 8px -3px 10px; }
  body .pld-range-nav a { flex-shrink: 0; white-space: nowrap; font-size: 13px; }
  .pld-shop-tools { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; padding: 12px; }
  .pld-shop-tools .pld-search-field { grid-column: 1; grid-row: 1; }
  body .pld-shop-tools .button { grid-column: 2; grid-row: 1; width: auto; padding-inline: 12px; font-size: 14px; }
  .pld-shop-tools input::placeholder { font-size: 14px; }
  .pld-filter-details { grid-column: 1 / -1; }
  .pld-filter-details summary { display: list-item; cursor: pointer; min-height: 44px; padding: 10px 2px; font-size: 14px; font-weight: 600; }
  .pld-filter-fields { gap: 10px; padding-block: 8px; }
  .pld-shop-results { margin-top: 10px; font-size: 13px; }
  .woocommerce ul.products { gap: 24px 14px; }
  .woocommerce ul.products li.product a img { padding: 6px; border-radius: 9px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 19px; }
  .woocommerce ul.products li.product .button { width: 100%; padding: 10px 8px; }
  body .range-section { padding-block: 26px; }
  body .new-home .range-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  body .range-image { border-radius: 10px; }
  body .range-image img { height: 180px; padding: 5px; }
  body .range-caption h3 { font-size: 20px; }
  body .range-caption p { font-size: 13px; }
  body .range-caption { padding-top: 10px; }
  body .range-image .collection-arrow { width: 32px; min-width: 32px; height: 44px; min-height: 44px; padding: 0; }
  body .range-image .collection-prev { left: 2px; }
  body .range-image .collection-next { right: 2px; }
  body .range-index { left: 7px; bottom: 7px; padding: 3px 7px; }
  .pld-home-products .section-heading { align-items: start; flex-direction: column; gap: 12px; }
  body .pld-home-products { padding-block: 28px; }
}
@media (max-width: 480px) {
  body .new-home .range-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .new-home .range-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 16px; }
  body .new-home .range-card:last-child .range-caption { padding-top: 0; }
  body .range-section .section-heading h2 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  body .range-card:hover img { transform: none; }
}

/* Collections has independent card rows; homepage carousel rules stay on .new-home. */
.collections-page > .band { padding-block: 56px; }
.collections-page .section-heading { margin-bottom: 24px; }
.collections-page .section-heading h2 { margin: 0; }
.collections-page .range-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; align-items: stretch; }
.collections-page .range-card { display: flex; flex-direction: column; grid-column: auto; min-width: 0; }
.collections-page .card-media { display: block; position: relative; aspect-ratio: 4 / 5; flex-shrink: 0; background: #fff; border: 1px solid #e5e0d7; border-radius: 14px; overflow: hidden; }
.collections-page .card-media img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.collections-page .card-body { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: 20px 0 0; }
.collections-page .card-body h3 { min-height: 1.25em; line-height: 1.25; margin: 0; }
.collections-page .card-body p { margin: 0; }
.collections-page .card-body .text-link { align-self: flex-start; margin-top: auto; min-height: 44px; }
.collections-page .band > .shell > .button-row { margin-top: 32px; }
@media (min-width: 640px) and (max-width: 1023px) {
  .collections-page .range-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .collections-page > .band { padding-block: 40px; }
  .collections-page .range-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .collections-page .card-body h3 { min-height: 0; }
}

/* One balanced footer row: copyright left, customer links centre, agency right. */
body .site-footer .footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px 24px; align-items: center; margin-top: 32px; padding: 24px 0; }
body .site-footer .footer-bottom p,
body .site-footer .footer-bottom .footer-credit { margin: 0; font-size: 13px; line-height: 1.7; color: var(--ink); }
.site-footer .footer-copyright { justify-self: start; text-align: left; }
.site-footer .footer-bottom .footer-policy-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0; border: 0; }
.site-footer .footer-bottom .footer-policy-links a { font-size: 13px; min-height: 44px; }
.site-footer .footer-bottom .footer-credit { display: block; justify-self: end; text-align: right; }
.site-footer .footer-credit a { font-weight: 700; color: inherit; text-underline-offset: 4px; }
@media (max-width: 1023px) {
  body .site-footer .footer-bottom { grid-template-columns: minmax(0, 1fr); padding-bottom: 90px; }
  .site-footer .footer-bottom .footer-copyright,
  .site-footer .footer-bottom .footer-credit { justify-self: center; text-align: center; }
}

/* Our Story: one reading width, a clear narrative, and grouped supporting content. */
.story-page .shell { max-width: calc(var(--shell) + (var(--gutter) * 2)); }
.story-page .story-hero { padding-block: 64px 48px; }
.story-page .story-intro-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); align-items: center; gap: 64px; }
.story-page .story-intro-copy { min-width: 0; }
.story-page .story-hero h1 { margin: 12px 0 20px; font-size: clamp(38px, 4.3vw, 64px); line-height: 1.1; }
.story-page .story-hero .lede { margin: 0; max-width: 48ch; font-size: 18px; line-height: 1.75; }
.story-page .story-signature { margin: 20px 0 0; font-size: 18px; line-height: 1.6; }
.story-page .story-intro-photo { margin: 0; padding: 16px; background: #fff; border: 1px solid #e5e0d7; border-radius: 18px; }
.story-page .story-intro-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: contain; }
.story-page > .band { padding-block: 56px; }
.story-page .story-chapter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); align-items: start; gap: 48px; }
.story-page .story-chapter + .story-chapter { border-top: 1px solid #ded8cf; margin-top: 36px; padding-top: 36px; }
.story-page .story-chapter .eyebrow { margin: 0 0 12px; }
.story-page .story-chapter h2 { font-size: clamp(28px, 2.8vw, 38px); line-height: 1.2; margin: 0; }
.story-page .story-copy p { max-width: none; margin: 0; font-size: 16px; line-height: 1.8; }
.story-page .story-copy p + p { margin-top: 16px; }
.story-page .story-values { background: #f5eee8; }
.story-page .story-values .section-head { max-width: 720px; margin-bottom: 28px; }
.story-page .story-values .section-head h2 { margin: 10px 0 14px; }
.story-page .story-values .section-head .lede { font-size: 17px; margin: 0; }
.story-page .story-value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.story-page .story-value-card { padding: 26px; background: #fffcf8; border: 1px solid #e5ded6; border-radius: 14px; }
.story-page .story-value-card:nth-child(1) { background: #f8e2e6; border-color: #e8c8cf; }
.story-page .story-value-card:nth-child(2) { background: #e4ecdf; border-color: #cbd8c3; }
.story-page .story-value-card:nth-child(3) { background: #f3e4cd; border-color: #e1cfaf; }
.story-page .story-value-icon { display: block; width: 72px; height: 72px; object-fit: contain; margin: 0 0 18px; }
.story-page .story-value-card h3 { margin: 0 0 14px; font-size: 25px; line-height: 1.25; }
.story-page .story-value-card p { margin: 0; font-size: 16px; line-height: 1.75; color: var(--muted); }
.story-page .story-values .button-row { margin-top: 28px; }
.story-page .story-purpose-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 48px; align-items: start; }
.story-page .story-purpose-copy h2 { margin: 12px 0 20px; }
.story-page .story-purpose-copy > p { max-width: 56ch; }
.story-page .story-purpose-copy .craft-note { padding: 18px 20px; margin: 20px 0 0; font-size: 15px; }
.story-page .story-purpose-note { padding: 32px; background: var(--ink); color: #fffaf7; border-radius: 16px; }
.story-page .story-purpose-note .eyebrow { color: #ebc5ca; margin: 0 0 20px; }
.story-page .story-purpose-note h2 { color: #fffaf7; font-size: clamp(28px, 2.6vw, 36px); line-height: 1.3; margin: 0 0 24px; }
.story-page .story-purpose-note .button { background: #fffaf7; color: var(--ink); border-color: #fffaf7; }
.story-page .story-purpose-note .button:hover { background: #f6dbe0; border-color: #f6dbe0; }
@media (max-width: 860px) {
  .story-page .story-intro-layout { gap: 28px; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  .story-page .story-chapter { gap: 28px; }
  .story-page .story-value-grid { grid-template-columns: 1fr; gap: 16px; }
  .story-page .story-purpose-grid { gap: 28px; grid-template-columns: 1fr; }
}
@media (max-width: 639px) {
  .story-page .story-hero { padding-block: 48px 32px; }
  .story-page .story-intro-layout,
  .story-page .story-chapter { grid-template-columns: 1fr; gap: 24px; }
  .story-page .story-intro-photo { width: 100%; max-width: 350px; justify-self: center; }
  .story-page .story-hero h1 { font-size: 38px; }
  .story-page .story-hero .lede { font-size: 17px; }
  .story-page > .band { padding-block: 36px; }
  .story-page .story-chapter + .story-chapter { margin-top: 28px; padding-top: 28px; }
  .story-page .story-value-card { padding: 22px; }
  .story-page .story-purpose-note { padding: 24px; }
}

/* Contact actions use matching, lightweight icons. */
.site-topbar-contact a { gap: 7px; }
.site-topbar-contact svg { width: 16px; height: 16px; flex: 0 0 16px; }

/* Homepage collection previews keep the complete photograph in a portrait frame. */
body .new-home .range-image { aspect-ratio: 4 / 5; border-radius: 14px; }
body .new-home .range-image > a { display: block; width: 100%; height: 100%; }
body .new-home .range-image img { display: block; width: 100%; height: 100%; padding: 12px; object-fit: contain; transform: none; }
body .new-home .range-section .section-heading h2 { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  body .new-home .range-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
}
@media (max-width: 639px) {
  body .new-home .range-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body .new-home .range-card:last-child { display: block; grid-column: auto; }
  body .new-home .range-card:last-child .range-caption { padding-top: 14px; }
  body .new-home .range-caption h3 { font-size: 26px; }
  body .new-home .range-caption p { font-size: 14px; }
  body .new-home .range-image .collection-arrow { width: 44px; height: 44px; min-height: 44px; }
  body .new-home .range-image .collection-prev { left: 8px; }
  body .new-home .range-image .collection-next { right: 8px; }
}

/* Custom orders: Patricia's blush palette and genuine cushion photography. */
.custom-orders-page .shell { max-width: calc(var(--shell) + (var(--gutter) * 2)); }
.custom-orders-page .custom-hero { background: #fbefea; padding-block: 48px; }
.custom-orders-page .custom-hero-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 64px; align-items: center; }
.custom-orders-page .breadcrumb { margin-bottom: 32px; }
.custom-orders-page .custom-hero h1 { margin: 14px 0 22px; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.1; }
.custom-orders-page .custom-hero .lede { max-width: 46ch; font-size: 18px; line-height: 1.75; margin-bottom: 28px; }
.custom-orders-page .custom-hero-photo { margin: 0; background: #fff; padding: 16px; border: 1px solid #eaded7; border-radius: 180px 180px 16px 16px; }
.custom-orders-page .custom-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; }
.custom-orders-page .custom-hero-photo figcaption { font-size: 13px; text-align: center; padding-top: 12px; color: var(--muted); }
.custom-orders-page .custom-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 28px 0; margin: 0; border-bottom: 1px solid #e5ded6; }
.custom-orders-page .custom-steps li { display: flex; gap: 14px; padding: 0; margin: 0; }
.custom-orders-page .custom-steps li > span { font-family: var(--serif); color: var(--thread); font-size: 26px; line-height: 1.4; }
.custom-orders-page .custom-steps strong { display: block; font-size: 15px; line-height: 1.6; }
.custom-orders-page .custom-steps p { font-size: 13px; line-height: 1.6; margin: 4px 0 0; color: var(--muted); }
.custom-orders-page > .band { padding-block: 56px; }
.custom-orders-page .custom-enquiry-section { scroll-margin-top: 110px; }
.custom-orders-page .custom-enquiry-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.custom-orders-page .custom-inspiration h2 { margin: 12px 0 24px; }
.custom-orders-page .custom-inspiration > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; margin-bottom: 16px; }
.custom-orders-page .custom-photo-note { padding: 24px; border-left: 3px solid #934158; background: #f8eee9; border-radius: 0 12px 12px 0; margin-top: 28px; }
.custom-orders-page .custom-photo-note h3 { font-size: 24px; margin: 0 0 12px; }
.custom-orders-page .custom-photo-note p { font-size: 15px; margin: 0; }
.custom-orders-page .custom-form-panel { min-width: 0; padding: 32px; background: #fff; border: 1px solid #e5ded6; border-radius: 16px; box-shadow: 0 10px 30px #17364b08; }
.custom-orders-page .custom-form-panel h3 { margin: 0 0 12px; }
.custom-orders-page .custom-form-panel > p { margin: 0 0 24px; color: var(--muted); font-size: 15px; }
.custom-orders-page .custom-form-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.custom-orders-page .custom-field { display: grid; gap: 8px; margin-bottom: 22px; min-width: 0; }
.custom-orders-page .custom-field label { font-size: 14px; font-weight: 600; line-height: 1.6; }
.custom-orders-page .custom-field input,
.custom-orders-page .custom-field select,
.custom-orders-page .custom-field textarea { display: block; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #85918b; background: #fff; color: var(--ink); border-radius: 7px; padding: 12px; font: 16px/1.5 var(--sans); }
.custom-orders-page .custom-field textarea { min-height: 150px; resize: vertical; }
.custom-orders-page .custom-field small { font-size: 13px; color: var(--muted); line-height: 1.65; }
.custom-orders-page .custom-photo-help { padding: 16px 18px; background: #f6f2ec; border-radius: 8px; }
.custom-orders-page .custom-photo-help summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.custom-orders-page .custom-photo-help p { font-size: 14px; margin: 12px 0 0; }
.custom-orders-page .custom-status { font-size: 14px; margin: 20px 0 0; }
.custom-orders-page .custom-status:empty { display: none; }
.custom-orders-page [data-custom-submit] { margin-top: 24px; }
.custom-orders-page .custom-form-note { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 16px 0 0; }
.custom-orders-page .custom-guide-section { background: #f6f2ec; }
.custom-orders-page .custom-guide-section .section-heading { margin-bottom: 28px; }
.custom-orders-page .custom-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.custom-orders-page .custom-guide-grid article { padding: 24px; border: 1px solid #e4dcd3; border-radius: 12px; background: #fffcf8; }
.custom-orders-page .custom-guide-grid h3 { font-size: 25px; margin: 0 0 14px; }
.custom-orders-page .custom-guide-grid p { font-size: 15px; margin: 0; line-height: 1.8; }
.custom-orders-page .custom-guide-note { font-size: 14px; color: var(--muted); margin: 28px 0 0; max-width: 78ch; }
@media (max-width: 860px) {
  .custom-orders-page .custom-hero-layout { gap: 28px; }
  .custom-orders-page .custom-enquiry-layout { grid-template-columns: 1fr; gap: 32px; }
  .custom-orders-page .custom-inspiration { max-width: 640px; }
  .custom-orders-page .custom-guide-grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 639px) {
  .custom-orders-page .custom-hero { padding-block: 40px 32px; }
  .custom-orders-page .custom-hero-layout { grid-template-columns: 1fr; gap: 32px; }
  .custom-orders-page .breadcrumb { margin-bottom: 24px; }
  .custom-orders-page .custom-hero-photo { width: 100%; max-width: 350px; justify-self: center; }
  .custom-orders-page .custom-steps { grid-template-columns: 1fr; gap: 22px; padding-block: 28px; }
  .custom-orders-page > .band { padding-block: 36px; }
  .custom-orders-page .custom-form-panel { padding: 22px; }
  .custom-orders-page .custom-form-row { grid-template-columns: 1fr; gap: 0; }
  .custom-orders-page .custom-guide-grid article { padding: 22px; }
  .custom-orders-page [data-custom-submit] { width: 100%; }
}
.custom-orders-page .custom-hero-photo { overflow: hidden; }

/* Catalogue headings clear the floral overhang without changing the logo. */
body.woocommerce.archive .wc-main { padding-top: 112px; }
@media (max-width: 767px) {
  body.woocommerce.archive .wc-main { padding-top: 80px; }
}

/* Footer wayfinding follows the reference with decorative rose arrows/icons. */
.site-footer .footer-links a,
.site-footer .footer-phone { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); }
.site-footer .footer-links svg,
.site-footer .footer-phone svg { width: 20px; height: 20px; flex: 0 0 20px; }
.site-footer .footer-link-arrow { flex: 0 0 16px; color: var(--thread); }
.site-footer .footer-links a:hover,
.site-footer .footer-phone:hover,
.site-footer .footer-links a:focus-visible,
.site-footer .footer-phone:focus-visible { color: var(--thread); }
.site-footer .footer-links a:focus-visible,
.site-footer .footer-phone:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 3px; }
.site-footer .footer-follow > p { margin-top: 4px; }


/* Compact navy legal strip; the floating pill clears it as it enters view. */
body .site-footer { padding-bottom: 0; }
.site-footer .footer-main { padding-bottom: 28px; }
.site-footer .footer-bottom-band { background: var(--ink); color: #fffaf7; }
body .site-footer .footer-bottom { padding: 16px 0; margin: 0; border: 0; gap: 8px 24px; }
body .site-footer .footer-bottom p,
body .site-footer .footer-bottom .footer-credit,
body .site-footer .footer-bottom a { color: #fffaf7; }
body .site-footer .footer-bottom a:hover,
body .site-footer .footer-bottom a:focus-visible { color: #f0c4d1; }
body .site-footer .footer-bottom a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
body .pld-sticky-social { bottom: var(--pld-social-bottom, 18px); }
@media (max-width: 1023px) {
  body .site-footer .footer-bottom { padding-block: 18px; }
  .site-footer .footer-bottom .footer-policy-links { gap: 0 20px; }
}

/* Readable regular copy and controls share a 16px baseline. */
body .site-footer .footer-links a,body .site-footer .footer-phone,body .site-footer .footer-brand p,body .site-footer .footer-title,body .site-footer .footer-bottom p,body .site-footer .footer-bottom .footer-credit,body .site-footer .footer-policy-links a,body .site-topbar a,body .site-topbar-social>span,body .site-nav .nav-list a,body .site-header .site-nav .nav-cta .button,body .button,body .woocommerce a.button,body .text-link,body .pld-range-nav a,body .pld-shop-tools label,body .pld-shop-tools .button,body .pld-shop-results,body .pld-filter-details summary,body .pld-latest-enquiry label,body .pld-latest-enquiry p,body .woocommerce div.product .woocommerce-tabs ul.tabs li a,body .custom-orders-page label,body .custom-orders-page summary,body .custom-orders-page .custom-steps strong { font-size:16px; }
body main p:not(.eyebrow):not(.home-kicker):not(.hero-intro):not(.lede):not(.hero-footnote),body .new-home .range-caption p { font-size:16px; }
body .pld-shop-tools input::placeholder { font-size:16px; }
@media(min-width:768px){body .site-topbar-contact{gap:4px 14px}}
/* Product cards already have a named image/title link and a clear action. */
body .woocommerce ul.products li.product a,body .new-home .range-caption h3 a,body .hero-slide a { text-decoration:none; }
body .woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,body .new-home .range-caption h3 a:hover,body .hero-slide a:hover .hero-product-name { color:var(--thread); }
body .woocommerce ul.products li.product a:focus-visible,body .hero-slide a:focus-visible { outline:2px solid var(--thread);outline-offset:4px;border-radius:8px; }
/* Navy-to-rose heading colour keeps the brand subtle and legible. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 body main .section-heading h2,body main .section-intro h2 { background-image:linear-gradient(110deg,#17364b 15%,#56334f 55%,#934158 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent; }
}
@media(forced-colors:active){body main .section-heading h2,body main .section-intro h2{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;}}
/* Hero controls stay outside the complete, uncropped product photograph. */
.hero-slides{min-width:0}.hero-slide>a{display:block;color:var(--ink)}
.hero-product .hero-product-name{display:block;text-align:center;font:16px/1.5 var(--sans);padding:8px 18px 0;min-height:32px}
.hero-product .hero-slider-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px 18px}
.hero-product .hero-slider-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;height:44px;padding:0;background:#fff;color:var(--ink);border:1px solid #d6d9d5;border-radius:50%;box-shadow:none}
.hero-slider-dots{display:flex;gap:0}.hero-product .hero-slider-dots button{width:36px;min-width:36px;border:0;background:transparent}
.hero-slider-dots button>span{width:8px;height:8px;border-radius:50%;background:#85918d}
.hero-slider-dots button[aria-pressed=true]>span{background:var(--thread);width:10px;height:10px}
.hero-product .hero-slider-controls button:hover{background:#f8eee9;color:var(--thread)}
.hero-product .hero-slider-controls button:focus-visible{outline:2px solid var(--thread);outline-offset:2px}
body .pld-guide-label,body .pld-public-reference,body .custom-orders-page .custom-field small,body .custom-orders-page .custom-form-note,body .custom-orders-page .custom-hero-photo figcaption { font-size:16px; }
.scene-preview-note{display:block;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.5}

body .site-footer .footer-bottom .footer-policy-links a,body .woocommerce ul.products li.product .button {font-size:16px;}

body .site-footer .footer-bottom .footer-credit{white-space:normal;max-width:100%;min-width:0;overflow-wrap:anywhere;}

/* Header social icons and WhatsApp sit at the far right. */
body .site-topbar-social{margin-left:auto;gap:4px 12px}
body .site-topbar-social .topbar-social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;min-height:36px;text-decoration:none}
.site-topbar-social svg{width:20px;height:20px;flex:0 0 20px}
body .site-topbar-social .topbar-whatsapp{gap:8px;text-decoration:none}
body .site-topbar-social a:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:767px){body .site-topbar-social{display:flex}body .site-topbar-social>span,body .site-topbar-social .topbar-social-icon{display:none}body .site-topbar-inner{justify-content:space-between;gap:8px}body .site-topbar-contact{gap:0}}
/* Three clear, softly shaded enquiry steps. */
.custom-orders-page .custom-steps{gap:18px;border:0;padding-block:28px}
.custom-orders-page .custom-steps li{padding:24px;border:1px solid #e9ddd7;border-radius:14px;align-items:flex-start;background:#f8e9e7}
.custom-orders-page .custom-steps li:nth-child(2){background:#edf1e7;border-color:#dce4d6}
.custom-orders-page .custom-steps li:nth-child(3){background:#f5eddf;border-color:#e8dcc7}
.custom-orders-page .custom-steps .custom-step-icon{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#ffffffa6;color:var(--thread)}
.custom-step-icon svg{width:24px;height:24px}
.custom-orders-page .custom-steps li:nth-child(2) .custom-step-icon{color:#385849}
.custom-orders-page .custom-steps li:nth-child(3) .custom-step-icon{color:#79582f}
@media(min-width:640px) and (max-width:1100px){.custom-orders-page .custom-steps{grid-template-columns:1fr}.custom-orders-page .custom-steps li{padding:20px}}
@media(min-width:1024px){body .welcome-layout{padding-top:24px;padding-bottom:32px}.welcome-visual{align-self:start}body .hero-product img{height:clamp(300px,calc(100svh - 420px),470px)}}

/* No bottom control strip: arrows overlay the photograph. */
.hero-product .hero-slides{position:relative}
.hero-product .hero-slider-controls{position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%);display:flex;justify-content:space-between;gap:0;padding:0;pointer-events:none}
.hero-product .hero-slider-controls button{pointer-events:auto;background:#fffffff2}

/* Purchase enquiries: visible choices, optional fulfilment details. */
.pld-latest-enquiry .pld-enquiry-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.pld-latest-enquiry .pld-enquiry-primary label{margin:4px 0;min-width:0}
.pld-latest-enquiry .pld-enquiry-primary input,.pld-latest-enquiry .pld-enquiry-primary select{min-width:0}
.pld-latest-enquiry .pld-enquiry-details{margin:16px 0;padding:12px 16px;border:1px solid #dedbd2;border-radius:10px;background:#fff}
.pld-latest-enquiry .pld-enquiry-details summary{min-height:44px;display:list-item;cursor:pointer;font-size:16px;font-weight:600;padding-block:8px}
.pld-latest-enquiry .pld-enquiry-intro,.pld-latest-enquiry .pld-enquiry-send-note{font-size:16px;line-height:1.65}
.pld-latest-enquiry [data-selected-guide]{padding:14px 16px;background:#edf1e7;border-radius:8px;font-weight:500}
.pld-latest-enquiry [data-latest-link]{display:flex;width:100%;justify-content:center;text-align:center;min-height:52px}
@media(max-width:359px){.pld-latest-enquiry .pld-enquiry-primary{grid-template-columns:1fr}}

/* Shared usable content width:1400px, without an extra hidden padding deduction. */
body { --pld-content-gutter: var(--gutter); }
body .shell,
#main .shell,
body .site-header .shell,
body .site-topbar .shell,
body .site-footer .shell {
  width: min(1400px, calc(100% - (var(--pld-content-gutter) * 2)));
  max-width: 1400px;
  padding-inline: 0;
  margin-inline: auto;
}
@media(min-width:1200px) { body { --pld-content-gutter:64px; } }
.new-home .welcome-copy { padding-left:0; }
/* Three gentle colour families echo the custom-enquiry steps. */
.custom-orders-page .custom-guide-grid article { background:#f8e9e7; border:0; }
.custom-orders-page .custom-guide-grid article:nth-child(2) { background:#edf1e7; }
.custom-orders-page .custom-guide-grid article:nth-child(3) { background:#f5eddf; }
/* Wider, shorter story paragraphs retain the original words and photograph. */
.new-home .friendship-copy p:not(.eyebrow) { max-width:none; margin:0 0 18px; }
.new-home .friendship-copy h2 { margin-bottom:22px; }
@media(min-width:1024px) { .new-home .friendship-layout { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:64px; } }

/* Four hand-drawn values, framed like a fine stitched fabric edge. */
body .values-ribbon { position:relative; background:#17364b; color:#fffaf7; padding-block:0; }
.values-ribbon::before,.values-ribbon::after { content:''; position:absolute; left:0; right:0; height:1px; border-top:1px dashed #e3b4bb70; pointer-events:none; }
.values-ribbon::before { top:6px; }.values-ribbon::after { bottom:6px; }
body .values-ribbon .values-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; align-items:center; gap:0; margin-block:0; padding-block:24px; }
.value-item { position:relative; display:flex; align-items:center; justify-content:center; gap:14px; min-width:0; padding-inline:20px; }
.value-item+.value-item::before { content:''; position:absolute; left:0; top:50%; width:1px; height:38px; transform:translateY(-50%); background:linear-gradient(transparent,#e3b4bb70,transparent); }
.value-icon { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; border:1px solid #e5b6bd55; border-radius:50%; background:#ffffff08; color:#edc0c7; transition:transform .25s ease,background .25s ease; }
.value-icon svg { display:block; width:26px; height:26px; }
.value-item:nth-child(2) .value-icon { color:#ecd1ab; border-color:#ecd1ab55; }
.value-item:nth-child(3) .value-icon { color:#cadbc0; border-color:#cadbc055; }
.value-item:nth-child(4) .value-icon { color:#edc0c7; }
body .value-label { font:600 15px/1.5 var(--sans); letter-spacing:.025em; color:#fffaf7; }
.value-item:hover .value-icon { transform:rotate(-6deg); background:#ffffff12; }
@media(max-width:1023px) { .value-item { flex-direction:column; gap:9px; text-align:center; padding-inline:12px; }.value-icon { width:42px; height:42px; flex-basis:42px; }.value-label { max-width:18ch; } }
@media(max-width:639px) {
 body .values-ribbon .values-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; padding-block:22px; }
 .value-item { padding-inline:8px; }.value-item:nth-child(3)::before { display:none; }
 body .value-label { font-size:13px; }.value-icon { width:38px; height:38px; flex-basis:38px; }.value-icon svg { width:23px; height:23px; }
}
@media(prefers-reduced-motion:reduce) { .value-icon { transition:none; }.value-item:hover .value-icon { transform:none; } }
/* Let the photographs and product copy sit on the site's own background. */
body .woocommerce ul.products li.product,body .woocommerce-page ul.products li.product { background:transparent; border:0; border-radius:0; box-shadow:none; }
body .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { background:transparent; box-shadow:none; }
.pld-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:8px; }
body .woocommerce ul.products li.product .pld-card-actions .button { margin:0; }
body .woocommerce ul.products li.product .pld-card-actions .button { white-space:normal; max-width:100%; min-width:0; }
.pld-card-details { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-size:14px; text-underline-offset:4px; }
.pld-card-add-status { min-height:24px; margin:10px 0 0; font-size:13px; color:#315345; }
body .pld-shop-results .pld-shop-view-basket { order:3; min-height:44px; gap:4px; padding:10px 18px; }
/* Product cards remain flat in hover/focus states as well as at rest. */
#main ul.products > li.product,
#main ul.products > li.product:hover,
#main ul.products > li.product:focus-within { background:transparent; box-shadow:none; transform:none; border:0; }

/* Lifestyle scenes fill their existing hero canvas; studio product photos remain uncropped. */
body .hero-product .hero-slide--lifestyle img{width:100%;padding:0;object-fit:cover;object-position:50% 53%;}
