/* The directory shares the homepage's colors, type, and single SVG icon family. */
.sd-header-account { font-size: 12px; font-weight: 650; white-space: nowrap; }
.stars .sd-star-empty { color: #d6dcd2; }
.sd-mobile-account { display: none; }
.sd-upload-preview figure { margin: 0; min-width: 0; }
.sd-upload-preview figcaption { overflow-wrap: anywhere; font-size: 10px; margin-top: 6px; }
.recent-0,.recent-1,.recent-2,.recent-3 { background-image: url("images/recent-businesses.webp"); background-size: 200% 200%; }
@media(max-width:1020px) { .sd-mobile-account { display: flex; gap: 22px; border-top: 1px solid #e4e9df; margin-top: 12px; padding-top: 12px; font-size: 12px; font-weight: 650; } }
.header-inner { gap: 20px; }
.header-actions { gap: 12px; }
.listing-photo img { width: 100%; height: 100%; object-fit: cover; }
.listing-photo>.icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 35px; height: 35px; color: #93a38b; }
.recent-card .listing-photo:not([class*="recent-"]):not([class*="featured-"]) { background-image: none; left: 0; width: 100%; }
.recent-card .listing-photo[class*="featured-"] { background-image: url("images/featured-businesses.webp"); background-size: 300% 200%; }
.sd-page-hero { padding: 24px 0 48px; background: linear-gradient(100deg,#f0f4edee,#f8faf6e8 65%,#eef3ea75),url("images/river-town-hero.webp") center 44%/cover; border-bottom: 1px solid #e1e8df; }
.sd-breadcrumb { display: inline-flex; gap: 12px; align-items: center; margin-bottom: 35px; font-size: 11px; color: #5b6e66; }
.sd-breadcrumb span { opacity: .4; }
.sd-page-hero .eyebrow { color: #42613e; margin-bottom: 12px; }
.sd-page-hero h1,.sd-dashboard-heading h1,.sd-business-heading h1,.sd-login-story h1 { font: 700 clamp(34px,3.15vw,49px)/1.08 var(--serif); letter-spacing: -.03em; color: var(--navy); }
.sd-page-hero h1 { max-width: 930px; }
.sd-page-hero .container>p:last-child { margin-top: 17px; max-width: 780px; font-size: 16px; color: #586c68; line-height: 1.65; }
.sd-section { padding: 44px 0 64px; }
.sd-panel { padding: 30px; border: 1px solid #e5eae4; border-radius: 12px; background: #fff; box-shadow: 0 6px 22px #17344e04; min-width: 0; }
.sd-panel h2 { font-size: clamp(25px,2.15vw,32px); }
.sd-panel h3 { font-size: 17px; line-height: 1.35; }
.sd-panel-lede { color: var(--muted); margin: 12px 0 25px; }
.sd-muted,.sd-intro-copy { color: var(--muted); line-height: 1.75; }
.sd-intro-copy { font-size: 16px; margin-top: 18px; max-width: 460px; }
.sd-fine-print { display: block; color: var(--muted); font-size: 12px; line-height: 1.6; margin: 12px 0; }
.sd-two-grid,.sd-three-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.sd-three-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sd-round-icon { width: 54px; height: 54px; display: inline-grid; place-items: center; border-radius: 50%; background: #eaf1e5; color: #4c7143; }
.sd-round-icon .icon { width: 26px; height: 26px; }
.sd-mini-tag { display: inline-block; background: #e7eee1; color: #3c6233; border-radius: 30px; padding: 5px 13px; font-size: 11px; font-weight: 700; }
.sd-button-outline { background: #fff; border-color: #bacab9; color: #345b32; }
.sd-full-button { width: 100%; }
.sd-inline-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 45px; padding: 28px 32px; border-radius: 10px; background: #eaf0e5; }
.sd-inline-cta h3 { font: 700 25px/1.2 var(--serif); }
.sd-inline-cta p { margin-top: 7px; color: #647061; }
.sd-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.sd-results-heading>span { font-size: 12px; color: var(--muted); white-space: nowrap; }
.sd-empty { text-align: center; padding: 50px 25px; }
.sd-empty h2,.sd-empty h3 { margin: 18px 0 10px; }
.sd-empty p { color: var(--muted); margin-bottom: 22px; }
.sd-notice { background: #eaf3e5; border: 1px solid #c8dcb9; border-left: 4px solid #557845; padding: 15px 18px; border-radius: 6px; color: #355d2f; margin-bottom: 24px; }
.sd-form { min-width: 0; }
.sd-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin-bottom: 20px; font-size: 13px; font-weight: 650; }
.sd-field input,.sd-field select,.sd-field textarea,.sd-hours-row input[type=time] { width: 100%; min-width: 0; border: 1px solid #d5ded5; border-radius: 6px; background: #fdfefc; padding: 12px 13px; min-height: 46px; color: var(--ink); font: 400 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.sd-field textarea { resize: vertical; min-height: 130px; }
.sd-field input::placeholder,.sd-field textarea::placeholder { color: #7c877d; opacity: 1; }
.sd-field input:focus,.sd-field select:focus,.sd-field textarea:focus { border-color: #648154; outline: 2px solid #8baa7440; outline-offset: 1px; }
.sd-form input[type=checkbox] { accent-color: #416c32; width: 16px; height: 16px; vertical-align: middle; }
.sd-form .sd-two-grid { gap: 20px; }
.sd-required { color: #5e794b; }
.sd-trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.sd-form .button { min-height: 46px; }
.sd-search-panel { display: grid; grid-template-columns: 2fr 1.15fr 1.05fr 1.05fr auto; align-items: end; gap: 16px; padding: 25px; margin: -4px 0 36px; border: 1px solid #e0e6dc; background: #fff; border-radius: 10px; box-shadow: var(--shadow); }
.sd-search-panel .sd-field { margin: 0; }
.sd-search-panel .sd-field>span { font-size: 12px; }
.sd-search-panel .button { min-height: 46px; padding-inline: 21px; }
.sd-results-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.sd-results-grid .listing-body { padding: 18px; }
.sd-results-grid .listing-body h3 { font-size: 16px; min-height: 40px; }
.sd-results-grid .rating { font-size: 12px; }
.sd-results-grid .location,.sd-results-grid .pill { font-size: 11px; }
.sd-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 30px; }
.sd-pagination .page-numbers { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 8px; border: 1px solid #d9e2d5; border-radius: 5px; background: #fff; }
.sd-pagination .current { background: #355d2f; color: #fff; }
.sd-centered-heading { text-align: center; margin: 8px auto 32px; max-width: 680px; }
.sd-centered-heading .eyebrow { margin-bottom: 12px; }
.sd-process-card { position: relative; padding: 32px; }
.sd-step-label { position: absolute; right: 30px; top: 26px; color: #e1e7dc; font: 700 48px/1 var(--serif); }
.sd-process-card h3 { margin: 23px 0 12px; font: 700 25px/1.15 var(--serif); }
.sd-process-card p { color: var(--muted); line-height: 1.75; }
.sd-owner-story { display: grid; grid-template-columns: 1fr 1.1fr; gap: 65px; align-items: center; margin: 65px 0 70px; }
.sd-story-image { height: 390px; border-radius: 12px; background: url("images/featured-businesses.webp") 50% 0/300% 200%; }
.sd-owner-story h2 { font-size: clamp(29px,2.75vw,40px); margin: 12px 0 20px; }
.sd-owner-story p:not(.eyebrow) { line-height: 1.75; color: var(--muted); }
.sd-check-list { padding: 0; margin: 24px 0; list-style: none; }
.sd-check-list li { position: relative; padding: 0 0 0 24px; margin: 12px 0; color: #58665a; font-size: 14px; }
.sd-check-list li::before { content: "✓"; position: absolute; left: 0; color: #597c44; font-weight: 700; }
.sd-faq { width: min(800px,100%); margin-inline: auto; }
.sd-faq details { background: #fff; border: 1px solid #e1e7df; border-radius: 8px; margin-bottom: 12px; }
.sd-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 21px 25px; list-style: none; font-weight: 650; cursor: pointer; }
.sd-faq summary::-webkit-details-marker { display: none; }
.sd-faq details[open] summary .icon { transform: rotate(45deg); }
.sd-faq details p { color: var(--muted); padding: 0 25px 25px; line-height: 1.7; }
.sd-pricing-intro { text-align: center; margin-bottom: 38px; }
.sd-pricing-intro p { margin-top: 16px; color: var(--muted); }
.sd-price-card { display: flex; flex-direction: column; position: relative; padding: 35px 30px; }
.sd-price-card .eyebrow { color: #4a6c3d; margin-bottom: 20px; }
.sd-price-card h2.sd-price { font-size: clamp(30px,2.8vw,42px); margin-bottom: 17px; white-space: nowrap; }
.sd-price small { font: 400 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin-left: 5px; color: var(--muted); }
.sd-price-card>p:not(.eyebrow) { color: var(--muted); }
.sd-price-card .sd-check-list { margin-bottom: 35px; }
.sd-price-card .button { margin-top: auto; }
.sd-price-highlight { border-color: #6b8556; background: linear-gradient(#f6f9f2,#fff); }
.sd-price-ribbon { position: absolute; top: -14px; left: 30px; padding: 5px 15px; border-radius: 20px; background: #45633a; color: #fff; font-size: 11px; letter-spacing: .05em; }
.sd-pricing-note { color: var(--muted); font-size: 12px; text-align: center; margin: 25px 0; }
.sd-contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.sd-contact-layout>div:first-child { padding-top: 10px; }
.sd-contact-topic { display: flex; align-items: start; gap: 17px; margin-top: 30px; }
.sd-contact-topic>.icon { color: #688751; margin-top: 3px; width: 25px; height: 25px; }
.sd-contact-topic h3 { font-size: 15px; margin-bottom: 6px; }
.sd-contact-topic p { color: var(--muted); font-size: 13px; }
.sd-help-box { background: #edf2e8; border-radius: 9px; padding: 24px; margin: 32px 0 20px; }
.sd-help-box h3 { font: 700 22px/1.2 var(--serif); margin-bottom: 12px; }
.sd-help-box p { color: #64705e; line-height: 1.7; }
.sd-help-box .section-link { margin-top: 12px; }
.sd-login-section { padding: 55px 0 65px; background: #eef2ea; }
.sd-login-layout { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 540px; max-width: 1160px; border-radius: 14px; overflow: hidden; box-shadow: 0 15px 55px #273d2010; }
.sd-login-story { display: flex; flex-direction: column; justify-content: center; padding: 55px; background: linear-gradient(180deg,#142c28b5,#16372b99),url("images/river-town-hero.webp") 77% center/auto 100%; color: #fff; }
.sd-login-story .eyebrow { color: #eed296; margin-bottom: 23px; font-size: 10px; }
.sd-login-story h1 { font-size: clamp(35px,3.5vw,49px); color: #fff; }
.sd-login-story>p:not(.eyebrow) { margin-top: 24px; font-size: 16px; color: #f1f4e9; line-height: 1.7; }
.sd-login-proof { margin-top: 75px; display: flex; align-items: center; gap: 13px; font: 23px/1.2 var(--serif); }
.sd-login-proof .icon { color: #e7bd67; width: 30px; height: 30px; }
.sd-login-card { border: 0; border-radius: 0; display: flex; flex-direction: column; justify-content: center; padding: 45px 48px; }
.sd-login-card h2 { font-size: 34px; margin: 9px 0 15px; }
.sd-login-card>p:not(.eyebrow) { color: var(--muted); }
.sd-login-card .sd-form { margin-top: 27px; }
.sd-login-card>.button { margin-top: 25px; }
.sd-form-options { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 11px; margin: 0 0 25px; }
.sd-form-options label { display: flex; align-items: center; gap: 6px; }
.sd-form-options a,.sd-auth-switch a { color: #3f6734; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.sd-login-card .sd-auth-switch { border-top: 1px solid #e5eae1; margin-top: 25px; padding-top: 22px; text-align: center; font-size: 12px; }
.sd-subtle-link { margin-top: 20px; text-decoration: underline; }
.sd-auth-gate { max-width: 660px; margin-inline: auto; text-align: center; padding: 45px; }
.sd-auth-gate h2 { margin: 24px 0 15px; }
.sd-auth-gate p { color: var(--muted); margin-bottom: 25px; line-height: 1.75; }
.sd-submission-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 55px; align-items: start; }
.sd-submission-layout>* { min-width: 0; }
.sd-form-section-title>div { min-width: 0; }
.sd-submission-guide { position: sticky; top: 25px; }
.sd-submission-guide h2 { font-size: 30px; margin-top: 12px; }
.sd-submission-guide ol { list-style: none; counter-reset: step; padding: 0; margin: 25px 0; }
.sd-submission-guide li { counter-increment: step; margin: 16px 0; display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 650; }
.sd-submission-guide li::before { content: counter(step); display: grid; place-items: center; width: 30px; height: 30px; background: #e7ece3; color: #4e6e3b; border-radius: 50%; }
.sd-listing-form .sd-panel { margin-bottom: 24px; padding: 32px; }
.sd-form-section-title { display: flex; align-items: start; gap: 17px; margin-bottom: 27px; }
.sd-form-section-title>span { font: 700 24px/1.2 var(--serif); color: #98ad82; }
.sd-form-section-title h2 { font-size: 29px; }
.sd-form-section-title p { color: var(--muted); font-size: 13px; margin-top: 9px; }
.sd-upload-zone { display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px dashed #a9bd9b; border-radius: 8px; background: #f9fbf6; padding: 26px 18px; gap: 10px; }
.sd-upload-zone>span:not(.sd-round-icon),.sd-upload-zone small { color: var(--muted); font-size: 12px; }
.sd-upload-zone input { max-width: 100%; font-size: 12px; margin: 10px 0; }
.sd-upload-zone input::file-selector-button { padding: 9px 13px; margin-right: 12px; background: #e2eadb; border: 1px solid #c3d2b7; color: #35562c; border-radius: 5px; cursor: pointer; }
.sd-uploaded-photos,.sd-upload-preview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.sd-upload-preview:empty { display: none; }
.sd-uploaded-photos img,.sd-upload-preview img { width: 100%; aspect-ratio: 1.25; object-fit: cover; border-radius: 6px; }
.sd-uploaded-photos label>span { font-size: 10px; display: block; margin-top: 8px; }
.sd-hours-row { display: grid; grid-template-columns: 105px minmax(0,1fr) 16px minmax(0,1fr) 80px; gap: 12px; align-items: center; border-bottom: 1px solid #edf0e9; padding: 11px 0; }
.sd-hours-row strong { font-size: 12px; }
.sd-hours-row>span { color: #7e8b77; font-size: 12px; }
.sd-hours-row input[type=time] { padding: 8px; font-size: 13px; min-height: 40px; }
.sd-hours-row input:disabled { opacity: .4; background: #eef1e9; }
.sd-closed-label { display: flex; gap: 5px; align-items: center; font-size: 12px; }
.sd-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px 0 0; }
.sd-submit-bar p { margin-top: 6px; font-size: 12px; color: var(--muted); }
.sd-dashboard-section { padding: 40px 0 65px; }
.sd-dashboard-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); align-items: start; gap: 35px; }
.sd-dashboard-sidebar { background: #edf2e8; border: 1px solid #dfe7d8; border-radius: 10px; padding: 26px 16px 20px; }
.sd-owner-avatar { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #3f6336; color: #fff; font: 28px/1 var(--serif); margin: 0 12px 13px; }
.sd-dashboard-sidebar>strong,.sd-dashboard-sidebar>p { display: block; margin-left: 12px; }
.sd-dashboard-sidebar>p { font-size: 11px; color: #73806a; margin-top: 4px; }
.sd-dashboard-sidebar nav { display: grid; gap: 5px; margin-top: 26px; }
.sd-dashboard-sidebar nav a { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 6px; font-size: 12px; font-weight: 550; color: #5a6d50; }
.sd-dashboard-sidebar nav a[aria-current],.sd-dashboard-sidebar nav a:hover { background: #fff; color: #294f24; box-shadow: 0 3px 10px #34502a06; }
.sd-dashboard-sidebar nav .icon { width: 18px; height: 18px; }
.sd-logout { display: flex; align-items: center; justify-content: space-between; margin: 26px 12px 0; padding-top: 19px; border-top: 1px solid #d6e0d0; font-size: 12px; color: #607056; }
.sd-logout .icon { width: 15px; }
.sd-dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.sd-dashboard-heading h1 { font-size: clamp(29px,2.5vw,38px); }
.sd-dashboard-heading p:last-child { color: var(--muted); font-size: 13px; margin-top: 12px; }
.sd-dashboard-main>.sd-panel { margin-bottom: 24px; }
.sd-stat-grid { gap: 16px; margin-bottom: 24px; }
.sd-stat-grid .sd-panel { padding: 21px 24px; }
.sd-stat-grid span { font-size: 12px; font-weight: 650; color: #5d7157; }
.sd-stat-grid strong { display: block; font: 700 40px/1.2 var(--serif); margin: 10px 0 6px; }
.sd-stat-grid small { color: var(--muted); font-size: 10px; }
.sd-dashboard-main .sd-results-heading h2 { font-size: 26px; }
.sd-dashboard-business { display: grid; grid-template-columns: 95px minmax(0,1fr) auto; align-items: center; gap: 19px; border-top: 1px solid #e9ede6; padding: 21px 0; }
.sd-dashboard-business:last-child { padding-bottom: 0; }
.sd-business-thumb { width: 95px; height: 80px; border-radius: 7px; background-color: #e1e8db; background-repeat: no-repeat; overflow: hidden; }
.sd-business-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sd-dashboard-business h3 { font-size: 15px; }
.sd-dashboard-business p { color: var(--muted); font-size: 11px; margin-top: 4px; }
.sd-status { display: inline-block; border-radius: 20px; padding: 3px 9px; font-size: 10px; color: #866320; background: #fcf3dc; margin-top: 8px; }
.sd-status-publish { color: #477137; background: #e9f1e2; }
.sd-business-actions { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.sd-business-actions .button { padding: 9px 16px; font-size: 11px; min-height: 36px; }
.sd-business-actions .section-link { font-size: 10px; }
.sd-dashboard-tips .sd-panel>.icon { color: #6c854f; width: 25px; height: 25px; margin-bottom: 17px; }
.sd-dashboard-tips h3 { font: 700 23px/1.2 var(--serif); }
.sd-dashboard-tips p { margin: 12px 0 18px; color: var(--muted); font-size: 13px; }
.sd-dashboard-promo { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid #e8ece5; }
.sd-dashboard-promo p { font-size: 12px; color: var(--muted); margin-top: 5px; }
.sd-account-details { display: grid; grid-template-columns: 100px 1fr; gap: 20px; margin: 30px 0; }
.sd-account-details dt { color: var(--muted); }
.sd-account-details dd { margin: 0; overflow-wrap: anywhere; }
.sd-listing-breadcrumb { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding-top: 24px; font-size: 11px; color: #6c7c6a; }
.sd-business-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 26px 30px; }
.sd-business-heading h1 { margin: 12px 0 15px; }
.sd-business-byline { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; font-size: 13px; color: var(--muted); }
.sd-business-byline>span,.sd-business-rating { display: inline-flex; align-items: center; gap: 6px; }
.sd-business-byline .icon { width: 15px; height: 15px; }
.sd-business-rating .icon { color: #df9e23; }
.sd-business-heading-actions { display: flex; gap: 10px; }
.sd-business-gallery-hero { display: grid; grid-template-columns: 1.85fr 1fr; gap: 12px; margin-bottom: 30px; }
.sd-business-main-photo { height: 360px; border-radius: 11px; overflow: hidden; background: #e3eade; }
.sd-business-main-photo>img { width: 100%; height: 100%; object-fit: cover; }
.sd-business-main-photo>.listing-photo { height: 100%; }
.sd-business-welcome { display: flex; flex-direction: column; justify-content: center; border-radius: 11px; background: #edf2e6 url("images/forest.svg") center bottom/auto 80px no-repeat; padding: 35px 40px; }
.sd-business-welcome h2 { font-size: clamp(30px,3vw,45px); margin: 14px 0 16px; }
.sd-business-welcome>p:not(.eyebrow) { color: #66725c; line-height: 1.7; max-width: 300px; font-size: 13px; }
.sd-business-welcome .section-link { margin-top: 22px; }
.sd-business-tabs { background: #fff; border-block: 1px solid #e3e9df; }
.sd-business-tabs nav { display: flex; gap: 38px; overflow-x: auto; }
.sd-business-tabs a { padding: 19px 0; font-size: 12px; font-weight: 650; white-space: nowrap; }
.sd-business-tabs a:first-child { border-bottom: 2px solid #496c35; color: #3c642d; }
.sd-business-body { display: grid; grid-template-columns: minmax(0,1fr) 345px; gap: 30px; align-items: start; }
.sd-business-main>section { margin-bottom: 28px; scroll-margin-top: 24px; }
.sd-business-sidebar .sd-panel { padding: 25px; margin-bottom: 24px; }
.sd-business-sidebar h2 { font-size: 27px; margin: 11px 0 20px; }
.sd-prose { margin-top: 20px; color: #5e6c65; line-height: 1.85; font-size: 14px; overflow-wrap: anywhere; }
.sd-prose p+p { margin-top: 16px; }
.sd-photo-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.sd-photo-gallery button { padding: 0; border: 0; border-radius: 7px; overflow: hidden; background: #ecf0e8; }
.sd-photo-gallery img { width: 100%; aspect-ratio: 1.3; object-fit: cover; transition: transform .2s; }
.sd-photo-gallery button:hover img { transform: scale(1.04); }
.sd-results-heading .sd-review-score { display: inline-flex; align-items: center; gap: 7px; font: 700 34px/1 var(--serif); color: var(--navy); }
.sd-review-score .icon { color: #e4a322; }
.sd-review-score small { font: 400 13px/1 sans-serif; color: var(--muted); }
.sd-review { padding: 25px 0; border-top: 1px solid #e7ebe4; }
.sd-review-heading { display: flex; align-items: center; gap: 12px; }
.sd-review-avatar { display: grid; place-items: center; border-radius: 50%; background: #e9eee2; color: #51713b; width: 39px; height: 39px; flex-shrink: 0; font: 20px/1 var(--serif); }
.sd-review-heading strong { font-size: 12px; }
.sd-review-heading small { display: block; font-size: 10px; color: var(--muted); margin-top: 3px; }
.sd-review-heading .stars { margin-left: auto; }
.sd-review>p { color: #657268; margin-top: 15px; line-height: 1.8; font-size: 13px; overflow-wrap: anywhere; }
.sd-review-form { border-top: 1px solid #e7ebe4; padding-top: 24px; }
.sd-review-form h3 { font: 700 24px/1.2 var(--serif); margin-bottom: 17px; }
.sd-contact-details { color: #657365; font-size: 13px; margin-bottom: 22px; overflow-wrap: anywhere; }
.sd-contact-details p { display: flex; gap: 8px; margin: 14px 0; align-items: start; }
.sd-contact-details .icon { width: 17px; height: 17px; margin-top: 2px; }
.sd-opening-hours { margin: 0; }
.sd-opening-hours>div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #edf0e9; padding: 11px 0; font-size: 12px; }
.sd-opening-hours dt { font-weight: 550; }
.sd-opening-hours dd { margin: 0; color: #6d7868; white-space: nowrap; }
.sd-owner-mini { background: #eef3e8; text-align: center; }
.sd-owner-mini h3 { font: 700 24px/1.2 var(--serif); margin: 15px 0 12px; }
.sd-owner-mini p { color: #6d7b61; font-size: 13px; line-height: 1.65; margin-bottom: 15px; }
.sd-promo-card { border: 1px solid #e1e8db; border-radius: 10px; overflow: hidden; background: #fff; min-width: 0; }
.sd-promo-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 25px; min-height: 100px; background: #eaf1e3; }
.sd-event-top { background: linear-gradient(90deg,#e8eee0ed,#dce8d5c9),url("images/river-town-hero.webp") center/cover; }
.sd-deal-top { background: linear-gradient(110deg,#faf0d8,#f3e8c9); }
.sd-date { display: flex; flex-direction: column; align-items: center; color: #416039; font-size: 11px; text-transform: uppercase; }
.sd-date>strong { font: 700 36px/1.05 var(--serif); }
.sd-deal-top .sd-date { flex-direction: row; gap: 9px; color: #926b24; text-transform: none; }
.sd-deal-top .sd-date>strong { font-size: 23px; }
.sd-promo-type { font-size: 10px; color: #607057; }
.sd-promo-body { padding: 25px; }
.sd-promo-body .eyebrow { font-size: 9px; }
.sd-promo-body h3 { font: 700 25px/1.15 var(--serif); margin: 12px 0; }
.sd-promo-body>p:not(.eyebrow) { color: #687361; font-size: 13px; line-height: 1.7; margin: 13px 0; overflow-wrap: anywhere; }
.sd-promo-meta { display: flex; gap: 7px; align-items: center; }
.sd-promo-meta .icon { width: 15px; height: 15px; }
.sd-promo-body>.section-link { margin-top: 12px; }
.sd-coupon-code { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; background: #fdfaf0; border: 1px dashed #b29c5c; padding: 11px 15px; margin: 20px 0; border-radius: 6px; color: #8e6e25; }
.sd-coupon-code span { font-weight: 750; letter-spacing: .08em; overflow-wrap: anywhere; min-width: 0; }
.sd-coupon-code small { font-size: 10px; flex-shrink: 0; }
.sd-lightbox { padding: 0; border: 0; border-radius: 8px; background: #11261e; width: min(1100px,92vw); max-height: 90vh; overflow: visible; }
.sd-lightbox::backdrop { background: #0b1e18d9; }
/* Account packages and paid placement use the existing forest / gold design language. */
.sd-plan-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; margin-bottom:24px; border:1px solid #dce6d9; border-radius:10px; background:#f1f6ef; }
.sd-plan-summary>div { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }.sd-plan-summary strong { color:#315b37; }.sd-plan-summary span { font-size:12px; color:#627064; }
.sd-plan-gate { text-align:center; padding-block:45px; }.sd-plan-gate>p:not(.eyebrow) { max-width:580px; margin:14px auto 24px; line-height:1.8; color:var(--muted); }.sd-plan-gate .eyebrow { margin-top:20px; }.sd-plan-gate>.section-link { display:block; margin-top:18px; }
.sd-preserved-listings { margin-top:20px; color:var(--muted); font-size:13px; line-height:1.8; }.sd-preserved-listings summary { cursor:pointer; color:var(--navy); font-weight:600; }
.sd-check-list .sd-plan-exclusion { color:#7a8180; }.sd-check-list .sd-plan-exclusion::before { content:"–"; color:#8b9290; }
.sd-price-card [data-plan-billing] { min-height:3.6em; }
.sd-owner-response { margin:20px 0 0 20px; padding:18px 22px; border-left:3px solid #517543; background:#f2f6ef; border-radius:0 8px 8px 0; font-size:13px; }.sd-owner-response>small { display:block; margin-top:5px; color:var(--muted); }.sd-owner-response>p:last-child { margin-bottom:0; }.sd-response-editor form { margin-top:20px; }.sd-response-editor>p { line-height:1.8; }
.listing-image { position:relative; }.sd-featured-ribbon { position:absolute; left:0; bottom:12px; display:flex; align-items:center; gap:5px; padding:5px 10px 5px 8px; border-radius:0 4px 4px 0; background:#e5a631; color:#17394a; font-size:10px; font-weight:750; box-shadow:0 2px 6px #192b2630; pointer-events:none; }.sd-featured-ribbon .icon { width:12px; height:12px; }.recent-card .sd-featured-ribbon { font-size:8px; bottom:7px; padding:4px; gap:3px; }.recent-card .sd-featured-ribbon .icon { width:9px; height:9px; }
.sd-featured-badge { display:inline-flex; gap:5px; align-items:center; background:#faecd0; color:#765311; border:1px solid #efd4a0; border-radius:5px; padding:5px 9px; margin-left:8px; font-size:11px; font-weight:700; }.sd-featured-badge .icon { width:13px; height:13px; }
.sd-business-main-photo { position:relative; }.sd-featured-ribbon-hero { top:24px; bottom:auto; z-index:1; padding:10px 20px 10px 15px; font-size:14px; border-radius:0 6px 6px 0; }.sd-featured-ribbon-hero .icon { width:16px; height:16px; }
.sd-business-type-tag { font-size:11px; color:#3f6549; padding:4px 9px; border:1px solid #dce6da; border-radius:5px; background:#f3f7f0; }.sd-card-business-type { margin:0 0 7px; font-size:10px; color:#53705b; line-height:1.5; }
.sd-business-type-section { padding:20px 22px; border:1px solid #dce6da; border-radius:9px; background:#f5f8f2; margin-top:26px; }.sd-business-type-section .eyebrow { margin:0 0 9px; }.sd-business-type-section h3 { margin:0 0 9px; color:var(--navy); font-size:20px; }.sd-business-type-section>p:last-child { margin:0; font-size:13px; line-height:1.8; color:var(--muted); }
@media(max-width:620px) { .sd-plan-summary { align-items:flex-start; flex-direction:column; padding:16px; gap:12px; }.sd-plan-summary>div { gap:7px; }.sd-plan-summary span { flex-basis:100%; }.sd-owner-response { margin-left:0; padding:16px; }.sd-plan-gate { padding:30px 20px; } }
.sd-lightbox img { width: 100%; max-height: 86vh; object-fit: contain; }
.sd-lightbox-close { position: absolute; right: 8px; top: 8px; width: 38px; height: 38px; border: 0; background: #fff; border-radius: 50%; }
[class*="sd-route-"] .section-link,.sd-business-page .section-link { max-width: none; padding-top: 0; font-size: 12px; }
[class*="sd-route-"] .site-footer .section-link { font-size: 11px; }
@media(min-width:1021px) and (max-width:1250px) { .header-inner { gap: 12px; }.header-actions { gap: 8px; }.primary-nav { gap: 15px; }.header-search { display:none; }.header-cta { padding-inline: 13px; } }
@media(max-width:1100px) {
  .sd-search-panel { grid-template-columns: 2fr 1fr 1fr; }.sd-search-panel .sd-field:first-child { grid-column: span 2; }.sd-search-panel .button { width: 100%; }
  .sd-results-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.sd-contact-layout { gap: 40px; }.sd-submission-layout { grid-template-columns: 235px minmax(0,1fr); gap: 30px; }
  .sd-business-body { grid-template-columns: minmax(0,1fr) 300px; gap: 20px; }.sd-business-gallery-hero { grid-template-columns: 1.5fr 1fr; }.sd-business-welcome { padding: 30px; }.sd-business-main-photo { height: 320px; }.sd-business-heading-actions { flex-direction: column; }
  .sd-business-main .sd-panel { padding: 24px; }.sd-business-main .sd-two-grid { grid-template-columns: 1fr; }.sd-dashboard-layout { grid-template-columns: 205px minmax(0,1fr); gap: 22px; }.sd-dashboard-heading { align-items: flex-start; }.sd-dashboard-heading>.button { padding-inline: 14px; font-size: 11px; }
  .sd-hours-row { grid-template-columns: 80px minmax(0,1fr) 12px minmax(0,1fr) 68px; gap: 7px; }.sd-listing-form .sd-panel { padding: 24px; }.sd-price-card { padding: 30px 23px; }.sd-login-story { padding: 38px; }.sd-login-card { padding: 38px; }
}
@media(max-width:850px) {
  .sd-page-hero { padding-bottom: 35px; }.sd-breadcrumb { margin-bottom: 25px; }.sd-page-hero .container>p:last-child { font-size: 14px; }.sd-section { padding: 32px 0 45px; }
  .sd-three-grid { grid-template-columns: 1fr; }.sd-process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.sd-process-card { padding: 24px 20px; }.sd-process-card h3 { font-size: 22px; }.sd-step-label { right: 17px; font-size: 34px; }
  .sd-owner-story { gap: 30px; margin-block: 45px; }.sd-story-image { height: 330px; }.sd-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.sd-pricing-grid { max-width: 560px; margin-inline: auto; gap: 28px; }.sd-price-card h2.sd-price { font-size: 40px; }
  .sd-submission-layout { grid-template-columns: 1fr; }.sd-submission-guide { position: static; }.sd-submission-guide h2 br { display: none; }.sd-submission-guide ol { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-bottom: 0; }.sd-submission-guide li { margin: 8px 0; }.sd-submission-guide .sd-help-box { display: none; }.sd-submission-guide .sd-fine-print { max-width: 600px; }
  .sd-dashboard-layout { grid-template-columns: 1fr; }.sd-dashboard-sidebar { padding: 16px; }.sd-dashboard-sidebar>.sd-owner-avatar,.sd-dashboard-sidebar>strong,.sd-dashboard-sidebar>p,.sd-dashboard-sidebar>.sd-logout { display: none; }.sd-dashboard-sidebar nav { margin: 0; display: flex; gap: 5px; flex-wrap: wrap; }.sd-dashboard-sidebar nav a { padding: 10px; font-size: 11px; }.sd-dashboard-sidebar nav .icon { width: 16px; }.sd-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .sd-business-body { grid-template-columns: minmax(0,1fr) 270px; gap: 18px; }.sd-business-main-photo { height: 280px; }.sd-business-sidebar .sd-panel { padding: 20px; }.sd-business-welcome { padding: 26px; }.sd-business-welcome h2 { font-size: 33px; }.sd-business-heading h1 { font-size: 35px; }.sd-business-tabs nav { gap: 28px; }.sd-business-main .sd-panel { padding: 21px; }.sd-business-body h2 { font-size: 27px; }.sd-photo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }.sd-review-heading { flex-wrap: wrap; }.sd-review-heading .stars { margin-left: 0; }.sd-opening-hours>div { font-size: 11px; }
  .sd-login-layout { grid-template-columns: .9fr 1fr; }.sd-login-story { padding: 27px; }.sd-login-card { padding: 30px 26px; }.sd-login-proof { margin-top: 40px; font-size: 20px; }.sd-login-story h1 { font-size: 35px; }.sd-contact-layout { gap: 30px; grid-template-columns: .8fr 1.2fr; }.sd-contact-layout .sd-two-grid { grid-template-columns: 1fr; gap: 0; }
}
@media(max-width:620px) {
  .sd-dashboard-sidebar>.sd-logout { display: flex; margin-top: 12px; padding-top: 12px; }
  .header-inner { gap: 8px; }.header-actions { gap: 0; }.header-inner .brand-name { font-size: clamp(16px,5.2vw,23px); }.header-inner .brand-mark { width: 32px; }
  .sd-header-account { font-size: 0; display: none; }.sd-page-hero { padding: 18px 0 30px; }.sd-breadcrumb { font-size: 10px; margin-bottom: 24px; }.sd-page-hero h1 { font-size: 34px; }.sd-page-hero .eyebrow { font-size: 9px; }
  .sd-panel { padding: 23px; border-radius: 9px; }.sd-two-grid { grid-template-columns: 1fr; }.sd-form .sd-two-grid { gap: 0; }.sd-field input,.sd-field select,.sd-field textarea { font-size: 16px; }.sd-field { margin-bottom: 19px; }.sd-section .button,.sd-dashboard-section .button { white-space: normal; }
  .sd-search-panel { grid-template-columns: 1fr 1fr; padding: 19px; gap: 17px 12px; }.sd-search-panel .sd-field:first-child,.sd-search-panel .button { grid-column: 1/-1; }.sd-search-panel .sd-field:nth-child(4) { grid-column: 1/-1; }.sd-search-panel .sd-field>span { font-size: 11px; }.sd-search-panel select { font-size: 13px; }
  .sd-results-grid { gap: 14px; }.sd-results-grid .listing-body { padding: 13px; }.sd-results-grid .listing-body h3 { font-size: 13px; }.sd-results-grid .rating { flex-wrap: wrap; font-size: 10px; }.sd-results-grid .location,.sd-results-grid .pill { font-size: 10px; }.sd-results-heading { gap: 12px; align-items: start; }.sd-results-heading h2 { font-size: 27px; }.sd-results-heading .text-button { font-size: 11px; padding-top: 5px; }
  .sd-inline-cta { flex-direction: column; align-items: start; padding: 25px; margin-top: 30px; }.sd-inline-cta h3 { font-size: 25px; }.sd-inline-cta p { font-size: 13px; }.sd-process-grid { grid-template-columns: 1fr; gap: 16px; }.sd-process-card { padding: 28px; }.sd-process-card h3 { font-size: 26px; }.sd-step-label { right: 28px; font-size: 45px; }
  .sd-centered-heading h2 { font-size: 29px; }.sd-owner-story { grid-template-columns: 1fr; gap: 27px; margin-block: 38px 45px; }.sd-story-image { height: 250px; }.sd-owner-story h2 { font-size: 33px; }.sd-faq summary { padding: 18px; font-size: 13px; }.sd-faq details p { padding: 0 18px 20px; font-size: 13px; }
  .sd-contact-layout { grid-template-columns: 1fr; gap: 28px; }.sd-contact-topic { margin-top: 23px; }.sd-contact-layout .sd-help-box { margin-bottom: 0; }.sd-login-section { padding: 25px 0 40px; }.sd-login-layout { grid-template-columns: 1fr; }.sd-login-story { padding: 30px; min-height: 250px; background-size: cover; }.sd-login-story h1 { font-size: 36px; }.sd-login-story>p:not(.eyebrow) { font-size: 13px; margin-top: 16px; }.sd-login-proof { display: none; }.sd-login-story .eyebrow { margin-bottom: 17px; }.sd-login-card { padding: 30px 24px; }.sd-login-card h2 { font-size: 31px; }
  .sd-auth-gate { padding: 32px 23px; }.sd-auth-gate h2 { font-size: 29px; }.sd-auth-gate .button { width: 100%; }.sd-submission-guide h2 { font-size: 29px; }.sd-submission-guide ol { gap: 7px 15px; }.sd-submission-guide li { font-size: 11px; }.sd-submission-guide li::before { width: 24px; height: 24px; }.sd-listing-form .sd-panel { padding: 23px 19px; }.sd-form-section-title { gap: 11px; }.sd-form-section-title h2 { font-size: 26px; }.sd-form-section-title>span { font-size: 19px; }.sd-form-section-title p { font-size: 12px; }
  .sd-hours-row { grid-template-columns: minmax(0,1fr) 12px minmax(0,1fr) 68px; gap: 7px; padding: 15px 0; }.sd-hours-row>strong { grid-column: 1/-1; font-size: 13px; }.sd-hours-row input[type=time] { font-size: 12px; padding: 7px 4px; }.sd-uploaded-photos,.sd-upload-preview { grid-template-columns: repeat(2,minmax(0,1fr)); }.sd-submit-bar { flex-direction: column; align-items: stretch; gap: 20px; }.sd-submit-bar .button { min-height: 48px; }
  .sd-dashboard-section { padding: 24px 0 40px; }.sd-dashboard-sidebar nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.sd-dashboard-sidebar nav a { font-size: 12px; }.sd-dashboard-heading { flex-direction: column; gap: 18px; }.sd-dashboard-heading h1 { font-size: 32px; }.sd-dashboard-heading>.button { font-size: 12px; }.sd-stat-grid { gap: 8px; }.sd-stat-grid .sd-panel { padding: 15px 11px; }.sd-stat-grid span { font-size: 10px; display: block; min-height: 30px; }.sd-stat-grid strong { font-size: 33px; }.sd-stat-grid small { font-size: 9px; line-height: 1.3; display: block; }.sd-dashboard-main>.sd-panel { padding: 21px 18px; }.sd-dashboard-main .sd-results-heading h2 { font-size: 25px; }.sd-dashboard-business { grid-template-columns: 68px minmax(0,1fr); gap: 13px; }.sd-business-thumb { width: 68px; height: 72px; }.sd-dashboard-business h3 { font-size: 14px; }.sd-business-actions { grid-column: 1/-1; flex-direction: row; justify-content: flex-end; gap: 15px; }.sd-dashboard-tips { gap: 16px; }
  .sd-business-heading { flex-direction: column; align-items: start; padding-block: 24px; gap: 20px; }.sd-business-heading h1 { font-size: 36px; }.sd-business-byline { gap: 14px; font-size: 12px; }.sd-business-heading-actions { flex-direction: row; width: 100%; }.sd-business-heading-actions .button { flex: 1; padding-inline: 12px; font-size: 12px; }.sd-business-gallery-hero { grid-template-columns: 1fr; margin-bottom: 23px; }.sd-business-main-photo { height: 240px; }.sd-business-welcome { display: none; }.sd-business-tabs nav { gap: 26px; }.sd-business-tabs a { font-size: 12px; padding: 16px 0; }.sd-business-body { grid-template-columns: 1fr; }.sd-business-main .sd-panel { padding: 24px 21px; }.sd-business-body h2 { font-size: 28px; }.sd-business-sidebar .sd-panel { padding: 25px; }.sd-photo-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }.sd-review-heading .stars { margin-left: auto; }.sd-business-main>.sd-panel .sd-results-heading { flex-wrap: wrap; }.sd-results-heading .sd-review-score { font-size: 29px; }.sd-opening-hours>div { font-size: 13px; }
  .sd-promo-body { padding: 24px; }.sd-promo-top { padding: 20px 24px; }.sd-pricing-intro p { font-size: 13px; }.sd-price-card .button { min-height: 46px; }.sd-price-card .sd-check-list { margin-bottom: 25px; }
}
@media(max-width:360px) { .sd-results-grid { grid-template-columns: 1fr; }.sd-results-grid .listing-body h3 { min-height: 0; font-size: 16px; }.sd-results-grid .rating { font-size: 12px; }.sd-form-options { flex-wrap: wrap; }.sd-business-heading h1 { font-size: 32px; }.sd-hours-row { grid-template-columns: minmax(0,1fr) 10px minmax(0,1fr); }.sd-closed-label { grid-column: 1/-1; }.sd-account-details { grid-template-columns: 1fr; gap: 9px; } }
/* Plan comparison and consistent upload crops. */
.sd-billing-toggle { display:flex; justify-content:center; gap:4px; border:1px solid #dbe3dc; background:#eef2ec; border-radius:12px; padding:5px; width:fit-content; margin:24px auto 34px; }
.sd-billing-toggle label { position:relative; cursor:pointer; }.sd-billing-toggle input { position:absolute; opacity:0; }.sd-billing-toggle span { display:block; padding:11px 19px; border-radius:8px; color:#4a5e64; font-weight:700; }.sd-billing-toggle input:checked+span { background:#fff; color:#244e32; box-shadow:0 2px 7px #17364c12; }.sd-billing-toggle input:focus-visible+span { outline:2px solid #154f77; outline-offset:2px; }.sd-billing-toggle small { color:#527347; margin-left:6px; font-size:11px; }
.sd-price-card .sd-price-scope { color:#244e32; font-size:15px; }.sd-price-card>small { display:block; margin-top:14px; color:#697780; font-size:12px; line-height:1.6; }.sd-price-card .sd-coming-soon { font-size:34px; }
.sd-image-upload { margin-top:28px; padding-top:24px; border-top:1px solid #e3e8e5; }.sd-image-guide { display:flex; align-items:center; gap:17px; margin-bottom:18px; }.sd-image-guide h3 { margin:0 0 7px; }.sd-image-guide p { font-size:13px; margin:0 0 6px; line-height:1.6; }.sd-image-guide small { color:#6a7a80; }.sd-ratio-sample { display:grid; place-items:center; width:90px; flex-shrink:0; border:1px dashed #8ba58a; border-radius:6px; background:#f0f5ee; color:#38633c; font-weight:700; font-size:17px; }.sd-ratio-cover { aspect-ratio:2 / 1; }.sd-ratio-gallery { aspect-ratio:4 / 3; }.sd-existing-cover { display:block; max-width:340px; margin-bottom:18px; }.sd-existing-cover img { display:block; width:100%; aspect-ratio:2 / 1; height:auto; object-fit:cover; border-radius:8px; }.sd-existing-cover span { display:block; padding:9px 0; font-size:12px; }.sd-upload-status { font-size:12px; line-height:1.7; color:#42663d; }.sd-upload-error { color:#a13829; }.sd-image-upload .sd-upload-preview figure { margin:0; min-width:0; }.sd-image-upload .sd-upload-preview img,.sd-uploaded-photos img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; }.sd-image-upload[data-upload-kind="cover"] .sd-upload-preview { grid-template-columns:minmax(0,1fr); max-width:480px; }.sd-image-upload[data-upload-kind="cover"] .sd-upload-preview img { aspect-ratio:2 / 1; }.sd-upload-preview figcaption { overflow-wrap:anywhere; line-height:1.5; }.sd-upload-zone input { max-width:100%; }.sd-business-page .sd-business-main-photo { height:auto; aspect-ratio:2 / 1; align-self:center; }.sd-business-page .sd-business-main-photo>img { width:100%; height:100%; object-fit:cover; }.sd-business-page .sd-photo-gallery button,.sd-business-page .sd-photo-gallery img { aspect-ratio:4 / 3; height:auto; width:100%; object-fit:cover; }
@media (max-width:600px) { .sd-billing-toggle span { padding:10px 13px; }.sd-billing-toggle small { display:block; margin:3px 0 0; }.sd-image-guide { gap:12px; align-items:flex-start; }.sd-ratio-sample { width:60px; font-size:14px; }.sd-image-guide p { font-size:12px; } }
/* Gallery note and photo captions (directory 0.7.3). */
.sd-gallery-note { margin:-8px 0 20px; color:#5e6c65; font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
.sd-photo-gallery figure { margin:0; min-width:0; }
.sd-photo-gallery figure>button { display:block; width:100%; }
.sd-photo-gallery figcaption { margin-top:8px; color:var(--muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.sd-lightbox img { display:block; max-height:80vh; }
.sd-lightbox-caption { margin:0; padding:12px 18px 14px; color:#eef3ea; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.sd-uploaded-photo { min-width:0; }
.sd-photo-caption { display:block; width:100%; min-width:0; margin-top:8px; border:1px solid #d5ded5; border-radius:6px; background:#fdfefc; padding:8px 10px; color:var(--ink); font:400 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.sd-photo-caption:focus { border-color:#648154; outline:2px solid #8baa7440; outline-offset:1px; }
.sd-gallery-note-field textarea { min-height:84px; }
@media(min-width:621px) { .sd-uploaded-photos { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) { .sd-photo-caption { font-size:16px; } }
/* New-photo rows in the picker (directory 0.7.4). */
.sd-upload-preview figure { display:flex; flex-direction:column; align-items:flex-start; }
.sd-upload-preview figcaption.sd-upload-error { color:#a13829; }
.sd-photo-remove { margin-top:6px; padding:0; border:0; background:none; color:#a13829; font-size:12px; text-decoration:underline; cursor:pointer; }
@media(min-width:621px) { .sd-image-upload[data-upload-kind="gallery"] .sd-upload-preview { grid-template-columns:repeat(3,minmax(0,1fr)); } }
/* While photos are dragged over a photo section (directory 0.7.5): the whole section takes the drop. */
.sd-image-upload.sd-drop-active { outline:2px dashed #8baa74; outline-offset:8px; border-radius:8px; }
.sd-image-upload.sd-drop-active .sd-upload-zone { border-style:solid; border-color:#4f7a3c; background:#eaf2e2; }
