/* Shared catalogue controls; the twenty individual design directions remain distinct. */
body.catalogue-hub .xp-search-launch {
  position: fixed !important; top: auto !important; right: auto !important;
  left: 20px !important; bottom: 20px !important; transform: none !important; z-index: 80 !important;
}
.catalogue-dialog-open { overflow: hidden; }
.catalogue-hub .om-modal-backdrop { z-index: 12000; }
.catalogue-disclosure { margin: 0 auto 24px; max-width: 74rem; padding: 12px 16px; color: #d8e3f2; font-size: 14px; line-height: 1.6; background: #151c2be8; border: 1px solid #b3c4e33b; border-radius: 16px; }
.catalogue-hub .match-hero { min-height: 0 !important; height: auto !important; max-height: none !important; padding: 130px 24px 100px; }
.catalogue-hub #hero-title { font-size: clamp(42px, 7vw, 104px); line-height: 1.12; }
.catalogue-hub .match-hero-content { position: relative; }
.catalogue-hub .om-order-form :is(input,textarea) { font-size: 16px; }
.catalogue-hub #om-order-confirm { line-height: 1.6; }
.catalogue-hub [hidden] { display: none !important; }
.catalogue-hub :is(button,a,input,textarea):focus-visible, .mk-lang-bar :is(button,a):focus-visible { outline: 2px solid #57f1ef; outline-offset: 4px; }
.catalogue-hub .om-order-window { max-height: calc(100dvh - 32px); overflow-y: auto; }
@media(max-width:768px) {
  body.catalogue-hub .xp-search-launch { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; padding: 10px !important; bottom: 18px !important; left: 14px !important; }
  .catalogue-hub .xp-search-launch :is(span,kbd) { display: none !important; }
  .catalogue-hub .xp-search-launch svg { width: 22px; height: 22px; }
  .catalogue-hub .match-hero { padding: 100px 16px 56px; }
  .catalogue-hub .om-hero-badges { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .catalogue-hub .om-hero-badge { white-space: normal; line-height: 1.5; justify-content: center; text-align: center; padding: 8px; }
  .catalogue-hub .om-order-window { width: min(100%,560px); padding: 18px; }
}
@media(prefers-reduced-motion:reduce) { .catalogue-hub *, .catalogue-hub *::before, .catalogue-hub *::after { scroll-behavior: auto !important; } }
.mk-lang-bar { max-width: calc(100vw - 24px); flex-wrap: wrap; justify-content: center; }
.catalogue-demo-label { display: inline-flex; align-items: center; padding: 4px 6px; font-size: 12px; font-weight: 650; opacity: .85; }

/* Show complete preview screenshots without cutting their edges on hover. */
.catalogue-hub .om-card-media img { object-fit: contain; object-position: center; }
.catalogue-hub .om-site-card:hover .om-card-media img { transform: none; }

.catalogue-hub .om-pricing-grid{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}.catalogue-hub .om-price-card{min-width:0}.catalogue-hub .om-price-card>p{font-size:16px;line-height:1.7;color:#d9d4e8}.catalogue-price-note{max-width:760px;margin:20px auto 0}.catalogue-hub .om-card-price-pill{white-space:nowrap}

.catalogue-hub .om-price-card h3{font-size:20px;line-height:1.4;color:#f3edfa;margin:0}.catalogue-hub .om-price-card .om-price-amount{color:#fff;font-size:clamp(32px,5vw,52px);line-height:1.2}.catalogue-hub .om-price-card{color:#f3edfa;gap:24px}.catalogue-hub .om-price-card>.om-btn-primary{margin-top:4px}
/* Clear catalogue cards: one title, one starting price and readable actions. */
.catalogue-hub .om-card-title{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:19px;line-height:1.35}
.catalogue-hub .om-card-desc{display:block;-webkit-line-clamp:unset;overflow:visible;min-height:0;font-size:15px;line-height:1.6;color:#dce3f2}
.catalogue-hub .om-card-price-pill{font-size:14px;line-height:1.4}
.catalogue-hub :is(.om-card-top-badges,.om-card-media-switch,.om-card-component-pill){display:none}
.catalogue-hub .om-card-sub-actions{display:flex;justify-content:flex-start}
.catalogue-hub .om-card-sub-actions :is([data-action-studio],[data-mode=site]){display:none}
.catalogue-hub :is(.om-card-btn,.om-card-sub-btn){font-size:14px;line-height:1.4;min-height:44px;white-space:normal}
.catalogue-hub .om-card-title-row{flex-direction:column;gap:8px}
.catalogue-hub .om-card-media{aspect-ratio:8/5;height:auto!important}
@media(max-width:660px){.catalogue-hub .om-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalogue-hub .om-card-body{padding:12px;gap:10px}.catalogue-hub .om-card-title{font-size:16px}.catalogue-hub .om-card-desc{display:none}.catalogue-hub .om-card-btn-row-main{grid-template-columns:minmax(0,1fr)}.catalogue-hub .om-card-price-pill{font-size:13px}.catalogue-hub :is(.om-card-btn,.om-card-sub-btn){padding:8px 6px}.catalogue-hub .om-card-sub-btn{width:100%}.catalogue-hub .om-site-card{border-radius:14px}}
/* Complete editorial images and natural wrapping, including longer native copy. */
.catalogue-demo #main img{object-fit:contain!important;max-width:100%}
.catalogue-demo #main :is(h1,h2,h3,h4,p){overflow-wrap:break-word}
.catalogue-demo #main :is(input,textarea,select){font-size:16px!important;max-width:100%;box-sizing:border-box}
.catalogue-demo #main :is(h1,h2,h3,h4){height:auto!important;line-height:1.18}
.catalogue-demo[data-demo-file="17-pharmacy.html"] [data-framer-name="Epharma Section"]{display:none!important}
/* Winery imagery belongs to its section; software-device mockups add no wine context. */
.catalogue-demo[data-demo-file="02-winery.html"] [data-framer-name="How it Work"] [data-framer-name="Phone "],
.catalogue-demo[data-demo-file="02-winery.html"] [data-framer-name="Our Technology"] [data-framer-name="Image"],
.catalogue-demo[data-demo-file="03-logistics.html"] [data-framer-name="CTA Image"]{display:none!important}
/* Compact editorial media on phones, while keeping the full source image visible. */
@media(max-width:660px){
 .catalogue-demo #main :is([data-framer-name="Features Menu Card"],[data-framer-name="Blog Card"],[data-framer-name="Featured Card"],[data-framer-name="Testimonial Card Wrapper"],[data-framer-name="scPickOneCard"],[data-framer-name="Products Image Block"],[data-framer-name="Image Card"]){height:auto!important;min-height:0!important}
 .catalogue-demo #main :is([data-framer-name="Features Menu Card"],[data-framer-name="Blog Card"],[data-framer-name="Featured Card"],[data-framer-name="Testimonial Card Wrapper"],[data-framer-name="scPickOneCard"],[data-framer-name="Image Card"]) :is([data-framer-name="Image"],[data-framer-name="Photo"],[data-framer-name="Cover"]){height:200px!important;min-height:0!important;max-height:200px!important}
 .catalogue-demo[data-demo-file="17-pharmacy.html"] [data-framer-name="Products Image Block"],.catalogue-demo[data-demo-file="17-pharmacy.html"] [data-framer-name="Products Image"]{height:220px!important;min-height:0!important}
 .catalogue-demo[data-demo-file="18-photostudio.html"] [data-framer-name="Image Card"]{height:300px!important}
 .catalogue-demo[data-demo-file="19-weddingvenue.html"] :is([data-framer-name="Venue Image"],[data-framer-name="Dining Detail"],[data-framer-name="Reception Hall"]){height:360px!important;min-height:0!important}
 .catalogue-demo[data-demo-file="20-kindergarten.html"] [data-framer-name="Promise Cards"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;height:auto!important;min-height:0!important}
 .catalogue-demo[data-demo-file="20-kindergarten.html"] [data-framer-name="Promise Cards"]>*{width:100%!important;height:auto!important;min-height:0!important;max-width:100%!important;padding:16px!important}
 .catalogue-demo[data-demo-file="20-kindergarten.html"] [data-framer-name="Promise Cards"] h3{font-size:20px!important;line-height:1.2!important}
 .catalogue-demo[data-demo-file="20-kindergarten.html"] [data-framer-name="Promise Cards"] p{font-size:14px!important;line-height:1.5!important}
}
.catalogue-promise-grid{display:none}
@media(max-width:660px){
 .catalogue-demo[data-demo-file="20-kindergarten.html"] [data-catalogue-compact-source]{display:none!important}
 .catalogue-promise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;align-items:start}
 .catalogue-promise-card{min-width:0;padding:12px;border-radius:22px;overflow:hidden;color:#191a50;box-shadow:inset 0 1px 1px #fff8}
 .catalogue-demo #main .catalogue-promise-photo{height:100px;position:relative;overflow:hidden;border-radius:14px;margin-bottom:10px}
 .catalogue-demo #main .catalogue-promise-photo img{display:block;position:static!important;width:100%!important;height:100%!important;object-fit:contain!important}
 .catalogue-demo #main .catalogue-promise-card h3{font:700 18px/1.25 Arial,sans-serif!important;margin:0 0 6px!important;color:#191a50!important;letter-spacing:-.02em!important}
 .catalogue-promise-card summary{font:600 14px/1.5 Arial,sans-serif;cursor:pointer;min-height:40px;padding-block:9px;color:#191a50}
 .catalogue-demo #main .catalogue-promise-card p{font:400 14px/1.5 Arial,sans-serif!important;margin:0!important;color:#191a50!important;overflow-wrap:normal!important}
}
/* Floating preview controls need their own contrast, independent of each demo theme. */
.catalogue-demo .mk-lang-bar .mk-hub-link,.catalogue-demo .mk-lang-bar .catalogue-demo-label{color:#f0f3fa!important}
@media(max-width:660px){
 .catalogue-demo[data-demo-file="01-restaurant.html"] [data-framer-name="Service Card"]{height:auto!important;min-height:0!important;gap:18px!important}
 .catalogue-demo[data-demo-file="01-restaurant.html"] [data-framer-name="Service Card"] [data-framer-name="Image Wrapper"]{height:240px!important;min-height:0!important}
 .catalogue-demo[data-demo-file="01-restaurant.html"] [data-framer-name="Service Card"] [data-framer-name="Image"]{height:240px!important;min-height:0!important}
 .catalogue-demo[data-demo-file="09-gym.html"] [data-framer-name="Zones card"] [data-framer-name="Photo"]{height:220px!important;min-height:0!important}
 .catalogue-demo[data-demo-file="01-restaurant.html"] [data-framer-name="Features Menu Card List"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .catalogue-demo[data-demo-file="01-restaurant.html"] [data-framer-name="Features Menu Card List"]>*{width:100%!important;min-width:0!important}
 .catalogue-demo[data-demo-file="01-restaurant.html"] [data-framer-name="Features Menu Card List"] :is(h3,h4){font-size:18px!important}
}

/* The veterinary hero already has a portrait above the headline on phones. */
@media (max-width:767px){
 body[data-demo-file="14-vet.html"] [data-framer-name="Hero Description"] [data-framer-name="Hero Icon"]{display:none!important}
}
