/* DINA PORTFOLIO · Small featured folders above ordinary photo stream. */
.photo-folder-section{padding:4px 0 36px;margin:5px 0 32px;border-bottom:1px solid rgba(243,239,230,.15)}
.photo-folder-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:23px}
.photo-folder-heading .eyebrow,.folder-current-heading .eyebrow{display:block;color:#d6b37b;font-size:10px;letter-spacing:2.6px;font-weight:700;margin-bottom:11px}
.photo-folder-heading h2,.folder-current-heading h2{font:400 clamp(25px,2.65vw,38px)/1.2 Gabriela,Georgia,serif;letter-spacing:-.03em;margin:0}
.photo-folder-subtle{font-size:11px;color:#9faaa0;white-space:nowrap}
.photo-folder-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:20px 13px}
.photo-folder-tile{display:flex;flex-direction:column;min-width:0;max-width:155px;text-align:left;text-decoration:none;color:#f2eee6;gap:7px}
.photo-folder-square{position:relative;display:block;width:100%;aspect-ratio:1/1;border:1px solid rgba(244,239,229,.19);overflow:hidden;background:linear-gradient(135deg,#29332b,#1c211d);transition:border-color .2s,transform .2s}
.photo-folder-square img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s;filter:saturate(.9)}
.photo-folder-tile:hover .photo-folder-square,.photo-folder-tile:focus-visible .photo-folder-square,.photo-folder-tile.is-current .photo-folder-square{border-color:#d6b37b}
.photo-folder-tile:hover .photo-folder-square img{transform:scale(1.045)}
.photo-folder-tile.is-current .photo-folder-square{box-shadow:0 0 0 2px #d6b37b}
.photo-folder-placeholder{height:100%;display:grid;place-items:center;color:#b8a278;font:40px Gabriela,serif}
.photo-folder-tile strong{font-size:12px;line-height:1.35;font-weight:700;overflow-wrap:anywhere}
.photo-folder-tile small{font-size:10px;color:#aeb6aa}
.folder-current-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:0 0 25px;scroll-margin-top:20px}
.folder-current-heading p{color:#abb2a9;font-size:13px;line-height:1.6;max-width:690px;margin:12px 0 0;white-space:pre-line}
.folder-current-actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap;font-size:11px;color:#a8aca2}
.folder-current-actions a{color:#d6b37b;text-decoration:none;border-bottom:1px solid rgba(214,179,123,.4);padding-bottom:3px}
.folder-no-general{padding:55px 25px;border:1px dashed rgba(244,239,229,.25);background:#1c211d;text-align:center;font-size:14px;color:#b6bdb2;line-height:1.6}
@media(max-width:760px){
 .photo-folder-heading{display:block}.photo-folder-subtle{display:block;margin-top:10px}
 .photo-folder-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 10px}
 .photo-folder-tile{max-width:none}.photo-folder-tile strong{font-size:11px}
 .folder-current-heading{display:block}.folder-current-actions{margin-top:12px}
}
@media(max-width:390px){.photo-folder-tiles{gap:12px 8px}}
/* Admin: compact square folder cards and bulk assignment. */
.admin-body .folder-manager{margin:35px 0 40px;padding:27px 29px;background:#fff;border:1px solid #e2e7df}
.admin-body .folder-heading{margin-bottom:20px}
.admin-body .folder-heading h3{font:400 27px/1.2 Gabriela,serif;margin:10px 0 0;color:#25362a}
.admin-body .folder-heading h3 small{font:13px Arial,sans-serif;color:#839388}
.admin-body .folder-hint{max-width:450px;font-size:12px;line-height:1.6;color:#66766d;margin:0}
.admin-body .folder-manager-start{display:grid;grid-template-columns:minmax(0,3fr) minmax(160px,1fr);gap:16px;align-items:stretch}
.admin-body .folder-create-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:11px;padding:15px;background:#f6f8f3;border:1px solid #e4e9df}
.admin-body .folder-create-form label{display:grid;gap:6px;font-size:11px;color:#607165}
.admin-body .folder-create-form input,.admin-body .folder-edit-form input,.admin-body .folder-edit-form textarea,.admin-body .folder-edit-form select{width:100%;min-height:37px;padding:8px;border:1px solid #cdd7cb;background:#fff;font-size:12px;color:#233728}
.admin-body .folder-general-summary{display:flex;flex-direction:column;justify-content:center;background:#edf2ea;padding:12px 14px;color:#526a56}
.admin-body .folder-general-summary strong{font:400 32px Gabriela,serif;color:#2b4e39}
.admin-body .folder-general-summary span{font-size:11px;font-weight:700}
.admin-body .folder-general-summary small{font-size:10px;line-height:1.45;color:#869588;margin-top:6px}
.admin-body .folder-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-top:21px}
.admin-body .folder-admin-tile{min-width:0;border:1px solid #e2e7df;background:#fff;padding:9px}
.admin-body .folder-admin-photo{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#e5ebe2;color:#557159;font-size:36px;overflow:hidden}
.admin-body .folder-admin-photo img{width:100%;height:100%;object-fit:cover}
.admin-body .folder-admin-text{display:flex;flex-direction:column;gap:5px;min-height:52px;padding-top:9px}
.admin-body .folder-admin-text strong{overflow-wrap:anywhere;font-size:11px;line-height:1.4}
.admin-body .folder-admin-text span{font-size:10px;color:#859086;overflow-wrap:anywhere;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.admin-body .folder-admin-edit summary{cursor:pointer;color:#3d6b53;font-size:11px;padding:9px 0;border-top:1px solid #ecf0e9}
.admin-body .folder-admin-edit[open]{grid-column:span 1}
.admin-body .folder-edit-form{display:grid;gap:10px;padding:6px 0}
.admin-body .folder-edit-form label{display:grid;gap:4px;color:#68796a;font-size:10px}
.admin-body .folder-admin-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-top:1px solid #edf0ea;padding-top:10px;margin-top:5px}
.admin-body .folder-admin-actions button{font-size:11px;min-height:29px}
.admin-body .folder-empty-note{font-size:12px;color:#879589;margin:15px 0 0}
.admin-body .folder-upload-target{display:grid;gap:7px;margin:12px 0 17px;font-size:11px;color:#627361}
.admin-body .folder-upload-target select{background:#fff;border:1px solid #ccd8cb;padding:10px;font-size:12px;min-height:40px;max-width:100%}
.admin-body .folder-assign-toolbar{background:#eaf2e9;border:1px solid #c6d8c9;padding:18px 20px;margin:16px 0 21px}
.admin-body .folder-assign-title{display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.admin-body .folder-assign-title strong{font-size:14px;color:#284e39}
.admin-body .folder-assign-title span{font-size:11px;color:#3d6c50}
.admin-body .folder-assign-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.admin-body .folder-assign-controls .mini-btn{height:39px;background:#fff;padding:6px 10px}
.admin-body .folder-assign-target{display:grid;gap:5px;min-width:min(240px,100%);font-size:10px;color:#607165;flex:1}
.admin-body .folder-assign-target select{height:39px;padding:7px 9px;border:1px solid #b7ccb9;background:#fff;color:#253b2c;max-width:100%}
.admin-body .folder-assign-toolbar .btn{min-height:39px;white-space:normal}
.admin-body .folder-assign-help{font-size:10px;line-height:1.6;color:#718474;margin:10px 0 0}
.admin-body .folder-photo-selector{position:absolute;z-index:4;top:7px;right:7px;display:flex;gap:6px;align-items:center;background:rgba(255,255,255,.96);color:#254630;padding:8px 9px;font-size:11px;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.12);cursor:pointer}
.admin-body .folder-photo-selector input{height:17px;width:17px;accent-color:#356944;margin:0}
.admin-body .folder-photo-selected{border:2px solid #54805c;box-shadow:0 0 0 2px rgba(72,119,79,.14)}
.admin-body .folder-photo-current{font-size:10px;color:#637767;background:#f3f7ef;padding:8px 15px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.admin-body .folder-photo-current strong{color:#34553a}
@media(max-width:1200px){.admin-body .folder-create-form{grid-template-columns:1fr 1fr}.admin-body .folder-create-form button{grid-column:1/-1}}
@media(max-width:790px){
 .admin-body .folder-manager{padding:18px 15px}.admin-body .folder-manager-start{grid-template-columns:1fr}
 .admin-body .folder-create-form{grid-template-columns:1fr}.admin-body .folder-create-form button{grid-column:auto}
 .admin-body .folder-general-summary{display:none}
 .admin-body .folder-admin-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}
 .admin-body .folder-assign-controls{flex-wrap:wrap}.admin-body .folder-assign-target{flex-basis:100%}
}

/* Admin bulk photo picker: whole thumbnail selects, controls below keep their actions. */
.admin-body .folder-photo-pick{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;padding:0;background:transparent;overflow:hidden;cursor:pointer;text-align:left}
.admin-body .folder-photo-pick img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .15s ease,transform .15s ease}
.admin-body .folder-photo-pick:hover img{filter:brightness(.9)}
.admin-body .folder-photo-pick .folder-photo-status{position:absolute;top:10px;left:10px;background:#fff;color:#3d5847;padding:6px 8px;font-size:9px;letter-spacing:1.3px}
.admin-body .folder-photo-pick .folder-photo-check{display:none;position:absolute;bottom:10px;left:10px;padding:7px 11px;background:#244c35;color:white;font-size:12px;font-weight:700;box-shadow:0 2px 7px rgba(0,0,0,.2)}
.admin-body .folder-photo-selected .folder-photo-pick .folder-photo-check{display:block}
.admin-body .folder-photo-selected .folder-photo-pick img{filter:brightness(.78)}
.admin-body .folder-photo-selected .folder-photo-selector{background:#244c35;color:white}
.admin-body .folder-photo-selected .folder-photo-selector input{accent-color:#d1b57b}
.admin-body .folder-photo-pick:focus-visible{outline:4px solid #b79d64;outline-offset:-4px}
.admin-body .photo-bulk-delete{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-22px 0 24px;padding:13px 19px;background:#fff3f1;border:1px solid #e7c6c1;border-top:0}
.admin-body .photo-bulk-delete-description{display:flex;flex-direction:column;gap:5px;max-width:660px}
.admin-body .photo-bulk-delete-description strong{font-size:12px;color:#873b35}
.admin-body .photo-bulk-delete-description span{font-size:10px;line-height:1.5;color:#855f5b}
.admin-body .photo-bulk-delete .btn{background:#a23d34;border-color:#a23d34;min-width:192px}
.admin-body .photo-bulk-delete .btn:hover:not(:disabled){background:#842b24}
.admin-body .photo-bulk-delete .btn:disabled{background:#dbc9c5;border-color:#dbc9c5;color:#f9f7f6;cursor:not-allowed}
@media(max-width:790px){.admin-body .photo-bulk-delete{flex-direction:column;align-items:stretch}.admin-body .photo-bulk-delete .btn{width:100%}}

/* Album-admin folder separation and existing-photo batch rotation (2026-11-02). */
.admin-body .folder-open-link{display:inline-block;color:#245c3d;font-size:11px;font-weight:700;text-decoration:none;margin-top:8px;padding:5px 0;border-bottom:1px solid #bdd6c3}
.admin-body .folder-general-summary .folder-open-link{align-self:flex-start;margin-top:5px}
.admin-body .folder-photo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:8px;background:#fff;border:1px solid #dfe7dc}
.admin-body .folder-photo-tab{display:inline-flex;align-items:center;gap:9px;max-width:100%;border:1px solid #dce6da;background:#f6f8f5;color:#334d3e;border-radius:2px;text-decoration:none;padding:10px 12px;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.admin-body .folder-photo-tab span{flex-shrink:0;background:#e2eae0;padding:4px 6px;font-size:10px;color:#546c58}
.admin-body .folder-photo-tab.is-active{background:#244533;border-color:#244533;color:#fff}
.admin-body .folder-photo-tab.is-active span{background:#395d49;color:#fff}
.admin-body .folder-filter-hint{font-size:11px;line-height:1.5;color:#617365;margin:-2px 0 12px}
.admin-body .photo-bulk-rotate{background:#f0f4fa;border:1px solid #d2ddeb;border-top:0;padding:15px 19px;margin:-22px 0 22px}
.admin-body .photo-bulk-rotate-description{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}
.admin-body .photo-bulk-rotate-description strong{font-size:13px;color:#27425e}
.admin-body .photo-bulk-rotate-description span{font-size:11px;color:#697d8e;line-height:1.5}
.admin-body .photo-bulk-rotate-buttons{display:flex;flex-wrap:wrap;gap:8px}
.admin-body .photo-bulk-rotate-buttons .btn{min-height:36px;padding:8px 12px;font-size:12px;background:#fff;color:#244663;border-color:#9cb3ca}
.admin-body .photo-bulk-rotate-buttons .btn:disabled{opacity:.45;cursor:not-allowed}
.admin-body .photo-bulk-rotate-status{margin:11px 0 0;color:#536e87;font-size:11px;line-height:1.5}
@media(max-width:790px){.admin-body .folder-photo-tab{flex:1 0 130px;justify-content:space-between}.admin-body .photo-bulk-rotate-buttons .btn{flex:1 0 120px}.admin-body .photo-bulk-rotate{margin-top:-22px}}

.admin-body .folder-photo-switcher{display:flex;align-items:end;flex:1;gap:9px;flex-wrap:wrap;min-width:0}
.admin-body .folder-photo-switcher label{display:grid;flex:1;gap:4px;min-width:min(210px,100%);font-size:10px;color:#63786b}
.admin-body .folder-photo-switcher select{min-height:40px;max-width:100%;padding:8px;border:1px solid #bdcdbc;background:#fff;color:#264333;font-size:12px}
.admin-body .folder-photo-switcher button{height:40px;background:#e6eee5;color:#2d5737;border-color:#bed2be;white-space:nowrap}
@media(max-width:790px){.admin-body .folder-photo-switcher{flex-basis:100%}.admin-body .folder-photo-switcher button{flex:1}}
