/* The Mercat: intentionally scoped to avoid overriding Modern Scot's theme. */
.msm-directory, .msm-sections, .msm-listings { box-sizing: border-box; }
.msm-directory *, .msm-sections *, .msm-listings * { box-sizing: border-box; }
.msm-grid { display: grid; grid-template-columns: repeat(var(--msm-columns,3), minmax(0, 1fr)); gap: 22px; margin: 24px 0 35px; }
.msm-section { display: flex; flex-direction: column; overflow: hidden; min-width: 0; border: 1px solid #e4e0d9; border-radius: 5px; color: inherit; text-decoration: none !important; background: #fff; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.msm-section:hover, .msm-section:focus-visible { border-color: #9d8d71; box-shadow: 0 8px 26px rgba(27,28,27,.09); transform: translateY(-2px); color: inherit; }
.msm-section-media { display:block; aspect-ratio: 2.9 / 1; background: #f6f4f0; overflow: hidden; }
.msm-section-image { display:block; width:100%; height:100%; object-fit: cover; }
.msm-section-body { display:flex; flex-direction:column; gap:8px; padding:19px 20px 21px; flex:1; }
.msm-section-body strong { font-size:1.13em; line-height:1.3; font-weight:650; color:#252c2b; }
.msm-section-desc { font-size:.89em; line-height:1.55; color:#636762; }
.msm-count { font-size:.76em; letter-spacing:.035em; color:#6e674f; margin-top:auto; text-transform:uppercase; font-weight:600; padding-top:10px; }
.msm-listing { display:flex; flex-direction:column; min-width:0; border:1px solid #e6e5e2; border-radius:5px; background:white; overflow:hidden; }
.msm-listing-cover { display:flex; align-items:center; justify-content:center; aspect-ratio: 1.8 / 1; padding:18px; background:#f9f8f5; text-decoration:none; }
.msm-listing-image { display:block; width:100%; height:100%; object-fit:contain; }
.msm-image-fallback { display:grid; place-items:center; border-radius:50%; width:72px; height:72px; background:#e9e7e0; color:#6e7168; font-family:Georgia,serif; font-size:34px; }
.msm-listing-content { display:flex; flex-direction:column; gap:11px; padding:18px; flex:1; }
.msm-listing-content h3 { font-size:1.12em; line-height:1.32; margin:0; font-weight:650; }
.msm-listing-content h3 a { color:#252c2b; text-decoration:none; }
.msm-listing-content h3 a:hover { text-decoration:underline; }
.msm-listing-content p { font-size:.88em; line-height:1.57; color:#5c625e; margin:0; }
.msm-details { margin-top:auto; font-weight:600; font-size:.82em; color:#615236; text-decoration:none; }
.msm-details:hover { text-decoration:underline; }
.msm-list .msm-listing { flex-direction:row; }
.msm-list .msm-listing-cover { width:34%; flex:0 0 34%; aspect-ratio:1 / 1; }
.msm-heading { font-size:1.45em; margin:30px 0 5px; }
.msm-search { display:grid; grid-template-columns:minmax(0, 1fr) minmax(130px, 210px) auto; gap:9px; margin:22px 0 28px; }
.msm-search input, .msm-search select { display:block; width:100%; min-width:0; box-sizing:border-box; min-height:46px; border:1px solid #d4d2cc; border-radius:3px; padding:10px 12px; font:inherit; background:white; color:#282d29; }
.msm-search button { border:0; border-radius:3px; padding:11px 19px; min-height:46px; cursor:pointer; background:#323e37; color:white; font:inherit; font-weight:600; }
.msm-search button:hover { background:#526357; }
.msm-pagination { display:flex; justify-content:center; gap:7px; margin:25px 0; flex-wrap:wrap; }
.msm-pagination a, .msm-pagination span { display:inline-block; padding:7px 12px; border:1px solid #dedbd5; border-radius:3px; text-decoration:none; }
.msm-pagination .current { background:#323e37; color:white; }
.msm-empty { color:#74726e; background:#f7f6f2; border:1px solid #e6e2d8; padding:17px; }
.msm-site-link a { display:inline-block; padding:10px 16px; background:#323e37; color:#fff !important; border-radius:3px; text-decoration:none; }
.msm-back { margin-top:26px; font-size:.92em; }
.widget .msm-sections, .widget .msm-listings { gap:10px; margin:12px 0; }
.widget .msm-section-media { display:none; }
.widget .msm-section-body, .widget .msm-listing-content { padding:11px 13px; }
.widget .msm-listing-cover { padding:10px; }
@media(max-width:850px) { .msm-grid:not(.msm-list) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .msm-grid:not(.msm-list) { grid-template-columns:1fr; gap:14px; } .msm-search { grid-template-columns:1fr; } .msm-list .msm-listing-cover { width:30%; flex-basis:30%; padding:7px; } .msm-list .msm-listing-content { padding:11px; } }
.widget .msm-section-desc { display:none; }
.widget .msm-count { padding-top:0; }
/* Permanent Mercat display additions, scoped to avoid theme collisions. */
.msm-breadcrumbs{font-family:inherit;font-size:13px;color:#646969;margin:12px 0 24px;padding-bottom:12px;border-bottom:1px solid #e9e4dd}
.msm-breadcrumbs ol{list-style:none!important;padding:0!important;margin:0!important;display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.msm-breadcrumbs li{padding:0!important;margin:0!important;display:inline-flex;align-items:center;gap:9px}
.msm-breadcrumbs li:not(:last-child)::after{content:'›';color:#a9a49c;font-size:17px;line-height:1}
.msm-breadcrumbs a{color:#596b62;text-decoration:none;border-bottom:1px solid transparent}.msm-breadcrumbs a:hover{border-bottom-color:#596b62}
.msm-breadcrumbs [aria-current=page]{color:#303b34;font-weight:650}
.msm-carousel,.msm-carousel *,.msm-memory,.msm-memory *{box-sizing:border-box}
.msm-carousel{--mercat-ink:#182e2b;--mercat-gold:#a9854e;margin:35px auto 48px;max-width:1320px;font-family:inherit;color:var(--mercat-ink)}
.msm-carousel-top{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid #dcd5ca;padding:0 0 16px;margin-bottom:19px}
.msm-carousel-kicker{display:block;letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:750;color:#967748}
.msm-carousel-top h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.3vw,45px);font-weight:500;line-height:1.1;color:var(--mercat-ink);margin:8px 0 0}
.msm-carousel-controls{display:flex;gap:7px;flex-shrink:0}
.msm-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #bdaf98;border-radius:50%;background:#fff;color:#223c37;cursor:pointer;transition:.2s}
.msm-carousel-controls button:hover:not(:disabled){background:#19352e;color:#fff;border-color:#19352e}.msm-carousel-controls button:disabled{opacity:.33;cursor:default}
.msm-carousel-track{display:flex;gap:19px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 20px;scroll-padding-left:2px;outline-offset:3px}
.msm-carousel-track::-webkit-scrollbar{display:none}
.msm-carousel-card{flex:0 0 clamp(260px,30vw,350px);scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e7dfd4;border-radius:2px;box-shadow:0 6px 22px rgba(21,38,33,.035);transition:transform .2s,box-shadow .2s}
.msm-carousel-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(21,38,33,.1)}
.msm-carousel-media{display:flex;align-items:center;justify-content:center;min-height:185px;height:200px;text-decoration:none;background:linear-gradient(135deg,#edece5,#faf8f3 55%,#ece6d8);padding:24px;border-bottom:1px solid #eae3d7}
.msm-carousel-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.035))}
.msm-carousel-monogram{font-size:70px;color:#a78953;font-family:Georgia,serif}
.msm-carousel-info{display:flex;flex:1;flex-direction:column;padding:22px 23px 24px;gap:10px}
.msm-carousel-label{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#997c52;font-weight:700}
.msm-carousel-info h3{font-family:Georgia,serif;font-size:clamp(20px,2vw,25px);font-weight:500;line-height:1.2;color:#1b302e;margin:0}
.msm-carousel-info h3 a{color:inherit;text-decoration:none}.msm-carousel-info h3 a:hover{text-decoration:underline}
.msm-carousel-info p{font-size:13px;line-height:1.65;color:#6b6a65;margin:0;flex:1;min-height:43px}
.msm-carousel-cta{font-weight:750;font-size:12px;letter-spacing:.02em;color:#2a4740;text-decoration:none;align-self:flex-start;border-bottom:1px solid #b79c70;padding-bottom:3px;margin-top:8px}
.msm-carousel-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.msm-carousel-progress{display:block;height:2px;flex:1;background:#ece6de;overflow:hidden}.msm-carousel-progress span{display:block;height:100%;width:15%;background:#a28b60;transition:width .2s}.msm-carousel-hint{font-size:11px;color:#77736a}
.msm-memory{max-width:980px;margin:18px auto 36px;padding:clamp(15px,2.8vw,28px);border:1px solid #d6c8b2;border-radius:8px;background:radial-gradient(circle at 85% 0%,#fffdfa 0%,#f8f5ec 66%,#f2eee4 100%);color:#273b34;box-shadow:0 18px 35px rgba(37,47,33,.06)}
.msm-memory-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.msm-memory-header h2{font-family:Georgia,serif;color:#203e35;font-size:clamp(23px,3vw,34px);font-weight:500;margin:3px 0 4px}.msm-memory-header p{font-size:12px;color:#667168;margin:0}.msm-memory-restart{appearance:none;border:1px solid #486051;border-radius:3px;padding:10px 14px;font:600 12px inherit;cursor:pointer;background:#24443a;color:white}.msm-memory-restart:hover{background:#35634d}
.msm-memory-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.msm-memory-dashboard>span{background:#fffdf9;border:1px solid #e7dfd2;min-width:0;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:7px}.msm-memory-dashboard small{font-size:9px;font-weight:750;color:#8c7656;letter-spacing:.1em}.msm-memory-dashboard strong{font-size:13px;font-weight:750;white-space:nowrap}
.msm-memory-board{height:clamp(240px,46svh,470px);display:grid;grid-template-columns:repeat(var(--msm-memory-cols,8),minmax(0,1fr));grid-template-rows:repeat(var(--msm-memory-rows,6),minmax(0,1fr));gap:clamp(3px,.6vw,7px);width:100%;overflow:hidden}
.msm-memory-card{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:1px solid #b9a883;border-radius:4px;cursor:pointer;color:#bfab7b;background:repeating-linear-gradient(45deg,rgba(194,172,126,.15) 0 2px,transparent 2px 8px),linear-gradient(140deg,#25483e,#18342e);font-family:Georgia,serif;transition:background .17s,border-color .17s,transform .17s}
.msm-memory-card:not(.is-revealed):not(.is-matched):hover{transform:translateY(-1px);background-color:#376457}.msm-memory-card:focus-visible{outline:3px solid #b67c36;outline-offset:1px}
.msm-memory-back{font-size:clamp(14px,2vw,25px);font-weight:500}.msm-memory-front{display:none;font-size:clamp(20px,3.1vw,36px);line-height:1;color:#243f38}
.msm-memory-card.is-revealed,.msm-memory-card.is-matched{background:#fffaf0;border-color:#d4bf90}.msm-memory-card.is-revealed .msm-memory-front,.msm-memory-card.is-matched .msm-memory-front{display:block}.msm-memory-card.is-revealed .msm-memory-back,.msm-memory-card.is-matched .msm-memory-back{display:none}
.msm-memory-card.is-matched{background:#e0eade;border-color:#8fab91;color:#234b34;cursor:default}
.msm-memory-feedback{font-size:12px;color:#3c6654;margin:10px 0 0;min-height:18px}.msm-memory-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e4dacc;margin-top:10px;padding-top:10px;font-size:11px;color:#746e61}.msm-memory-foot button{background:transparent;color:#305045;border-color:#c7b9a5;padding:6px 10px}
@media(max-width:620px){.msm-carousel-card{flex-basis:min(78vw,330px)}.msm-carousel-hint{display:none}.msm-carousel-top h2{font-size:29px}.msm-memory{padding:12px}.msm-memory-header{align-items:flex-start}.msm-memory-header .msm-memory-restart{font-size:10px;padding:8px 9px}.msm-memory-dashboard{gap:3px}.msm-memory-dashboard>span{padding:5px 4px;flex-direction:column;gap:2px}.msm-memory-dashboard small{font-size:8px}.msm-memory-dashboard strong{font-size:11px}.msm-memory-board{gap:3px;height:clamp(215px,44svh,390px)}.msm-memory-back{font-size:15px}.msm-memory-front{font-size:20px}}
@media(prefers-reduced-motion:reduce){.msm-carousel-card,.msm-memory-card,.msm-carousel-progress span{transition:none}}
