:root{color-scheme:light;--paper:#f6f3eb;--white:#fffdf7;--ink:#25382f;--muted:#516657;--line:#d9dfd2;--sage:#e1ebdc;--dark:#294639;--radius:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 system-ui,sans-serif}
main{width:min(100% - 32px,840px);margin:auto;padding:28px 0 70px}
h1,h2,h3{font-family:Georgia,serif;line-height:1.13;font-weight:500}
h1{font-size:clamp(2.45rem,7vw,4.1rem);letter-spacing:-.05em;margin:.15em 0 .2em}
h2{font-size:clamp(1.5rem,4vw,2.1rem);margin:0 0 15px}
h3{font-size:clamp(1.3rem,4vw,1.7rem);margin:0 0 8px}
p{margin:0 0 12px}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #4e715d;outline-offset:3px}
.rfr-admin-header{margin-bottom:28px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.rfr-brand,.rfr-utility,.rfr-tabs,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rfr-brand{justify-content:space-between;padding:12px 22px}
.rfr-brand img{display:block;width:126px;height:auto}
.rfr-utility a{font-size:.88rem;font-weight:650;text-decoration:none}
.rfr-utility form,.actions form{margin:0}
.rfr-heading{background:var(--sage);padding:clamp(21px,4vw,37px) clamp(19px,4vw,36px)}
.rfr-heading p{margin:0;text-transform:uppercase;font-size:.72rem;font-weight:750;letter-spacing:.14em;color:var(--muted)}
.rfr-heading>div{color:var(--muted);font-size:.96rem}
.rfr-tabs{padding:7px 13px;gap:5px}
.rfr-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border-radius:9px;text-decoration:none;font-weight:680;font-size:.91rem}
.rfr-tabs a:hover,.rfr-tabs a[aria-current]{background:var(--sage)}
.rfr-tabs a[aria-current]{color:var(--dark)}
.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border:1px solid var(--dark);border-radius:9px;background:var(--dark);color:white;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}
.btn:hover,button:hover{filter:brightness(.94)}
.secondary{background:var(--white);color:var(--dark);border-color:#a9baaa}
.rfr-utility button{min-height:40px;padding:6px 10px;font-size:.85rem}
.card,.editor,.guide{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(16px,3vw,24px);margin:12px 0}
.card h3,.card h2{font-size:clamp(1.3rem,4vw,1.65rem);margin:0 0 8px}
.card p{color:var(--muted);font-size:.92rem}
.card .actions>a{font-weight:650}
.card button{font-size:.9rem}
.rfr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.rfr-toolbar h2{margin:0}
.note,.notice,.error{padding:12px 15px;border-radius:9px;background:var(--sage)}
.error{background:#f7ded4}
label{display:block;font-weight:650;margin:14px 0}
label small,.editor small{display:block;font-weight:400;color:var(--muted)}
input:not([type=checkbox]):not([type=hidden]),textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid #99a899;border-radius:8px;background:#fff;color:inherit;font:inherit}
textarea{min-height:130px;resize:vertical}
textarea[name=text]{min-height:240px}
label.check{display:flex;align-items:center;gap:9px}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--dark)}
.save{margin-top:20px}
.old-content{max-height:320px;overflow:auto;padding:10px}
.old-content img{max-width:100%;height:auto}
li{margin-bottom:9px}
@media(max-width:480px){main{padding-top:12px}.rfr-brand{padding-inline:12px}.rfr-brand img{width:105px}.rfr-utility{gap:8px}.rfr-tabs a{padding-inline:12px}.editor .actions button{flex:1 0 auto}}

.tour-photo-editor { min-width: 0; margin: 0; padding: 12px; border: 1px solid #c9c6b8; border-radius: 8px; }
.tour-photo-editor legend { font-weight: 700; padding: 0 5px; }
.tour-photo-row { display: grid; grid-template-columns: minmax(55px, 90px) minmax(0, 1fr); align-items: start; gap: 12px; margin-bottom: 14px; }
.tour-photo-row img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
