/* ============================================================
   RG Libri & Recensioni — stile frontend
   Palette coordinata col tema:
   #4a3b30 scuro · #5a493d medio · #ecd2b6 crema · #000 bordi/testo · #fff riquadri
   ============================================================ */
.rglr-dashboard,
.rglr-public{
    --rg-dark:#4a3b30;
    --rg-mid:#5a493d;
    --rg-cream:#ecd2b6;
    --rg-black:#000;
    --rg-white:#fff;
    color:var(--rg-black);
}

/* ----------------------------- avvisi ----------------------------- */
.rglr-box{
    background:var(--rg-white);
    border:1px solid var(--rg-black);
    border-radius:6px;
    padding:14px 18px;
    margin:0 0 16px;
}
.rglr-warn{border-left:6px solid #b3541e;}
.rglr-link{color:var(--rg-mid);text-decoration:underline;font-weight:600;}

/* ===========================================================
   BACHECA
   =========================================================== */
.rglr-domain{margin:0 0 40px;}
.rglr-h2{
    background:var(--rg-mid);
    color:var(--rg-cream);
    font-size:20px;
    font-weight:700;
    margin:0 0 12px;
    padding:10px 16px;
    border-radius:6px 6px 0 0;
}
.rglr-h2--alt{background:var(--rg-dark);}

/* ----------------------------- form ----------------------------- */
.rglr-form{
    background:var(--rg-white);
    border:1px solid var(--rg-black);
    border-radius:0 0 6px 6px;
    padding:16px 18px;
    margin:0 0 14px;
}
.rglr-field{margin-bottom:12px;}
.rglr-field label{
    display:block;
    font-size:13px;
    font-weight:700;
    color:var(--rg-dark);
    margin-bottom:4px;
}
.rglr-field input[type="text"],
.rglr-field input[type="file"],
.rglr-field textarea{
    width:100%;
    padding:8px 10px;
    border:1px solid #8a7660;
    border-radius:4px;
    font:inherit;
    background:#fffdfb;
}
.rglr-field textarea{resize:vertical;}
.rglr-linked{display:inline-block;margin-top:5px;font-size:13px;color:#3c6b32;font-weight:600;}

.rglr-actions{display:flex;align-items:center;gap:10px;margin-top:6px;}
.rglr-btn{
    border:1px solid var(--rg-black);
    border-radius:16px;
    padding:7px 20px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
}
.rglr-btn--save{background:var(--rg-cream);color:var(--rg-black);}
.rglr-btn--save:hover{background:#f4e2cd;}
.rglr-btn--reset{background:#efe7dd;color:#5a493d;}
.rglr-btn--ghost{background:transparent;color:#4a3b30;}
.rglr-btn--ghost:hover{background:#4a3b30;color:#ecd2b6;}
.rglr-back-to-table{margin:0 0 14px;}
.rglr-msg{font-size:13px;}
.rglr-msg--ok{color:#3c6b32;}
.rglr-msg--error{color:#b3261e;font-weight:600;}

/* ----------------------------- tabelle ----------------------------- */
.rglr-table{
    width:100%;
    border-collapse:collapse;
    margin:0 0 18px;
    background:var(--rg-white);
    border:1px solid var(--rg-black);
    font-size:14px;
}
.rglr-table thead th{
    background:var(--rg-dark);
    color:var(--rg-cream);
    text-align:left;
    padding:9px 12px;
    font-weight:700;
    border-bottom:1px solid var(--rg-black);
}
.rglr-table--child thead th{background:var(--rg-mid);}
.rglr-table td{
    padding:9px 12px;
    border-bottom:1px solid #d8cab8;
    vertical-align:middle;
}
.rglr-table tbody tr:nth-child(even){background:#fbf6ef;}
.rglr-table tbody tr:hover{background:#f3e8d8;}
.rglr-title{font-weight:600;}
.rglr-col-num,.rglr-col-date{white-space:nowrap;width:1%;}
.rglr-col-act{white-space:nowrap;width:1%;}
.rglr-col-cover{width:64px;}
.rglr-col-cover img{width:48px;height:64px;object-fit:cover;border:1px solid var(--rg-black);border-radius:3px;}
.rglr-nocover{color:#b0a18d;}
.rglr-empty td{color:#7a6a58;font-style:italic;}

.rglr-mini{
    border:1px solid var(--rg-black);
    border-radius:12px;
    padding:4px 12px;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    background:#efe7dd;
    margin-right:4px;
}
.rglr-edit{background:var(--rg-cream);}
.rglr-edit:hover{background:#f4e2cd;}
.rglr-del{background:#f0d9d2;}
.rglr-del:hover{background:#e9c4ba;}

/* ===========================================================
   VISTE PUBBLICHE
   =========================================================== */
.rglr-card{
    background:var(--rg-white);
    border:1px solid var(--rg-black);
    border-radius:4px;
    padding:18px 20px;
    margin:0 0 18px;
}
.rglr-muted{color:#7a6a58;}

/* ricerca */
.rglr-search{margin:0 0 16px;}
.rglr-public-search{
    width:100%;
    padding:10px 12px;
    border:1px solid #8a7660;
    border-radius:6px;
    font:inherit;
    background:#fffdfb;
}

/* elenco */
.rglr-item{
    display:flex;
    gap:16px;
    background:var(--rg-white);
    border:1px solid var(--rg-black);
    border-radius:6px;
    padding:16px;
    margin:0 0 16px;
}
.rglr-item-cover{flex:0 0 auto;line-height:0;}
.rglr-item-cover img{width:110px;height:auto;border:1px solid var(--rg-black);border-radius:3px;}
.rglr-item-body{flex:1;}
.rglr-item-title{margin:0 0 6px;font-size:19px;}
.rglr-item-title a{color:var(--rg-dark);text-decoration:none;}
.rglr-item-title a:hover{text-decoration:underline;}
.rglr-item-excerpt{font-size:14px;color:#33271d;}
.rglr-item-excerpt p{margin:0 0 .5em;}
.rglr-readmore{
    display:inline-block;
    margin-top:8px;
    color:var(--rg-mid);
    font-weight:700;
    text-decoration:underline;
}

/* descrizione singola */
.rglr-single-title{
    color:var(--rg-cream);
    font-size:26px;
    margin:0 0 14px;
}
.rglr-desc-cover{float:right;max-width:180px;margin:0 0 12px 18px;}
.rglr-desc-cover img{width:100%;border:1px solid var(--rg-black);border-radius:3px;}
.rglr-collegate-title{color:var(--rg-cream);font-size:20px;margin:6px 0 10px;}
.rglr-collegate-list{margin:0;padding-left:20px;}
.rglr-collegate-list li{margin:0 0 8px;font-weight:600;}
.rglr-collegate-list a{color:var(--rg-mid);text-decoration:none;}
.rglr-collegate-list a:hover{text-decoration:underline;}

.rglr-back a{color:var(--rg-cream);font-weight:600;text-decoration:none;}
.rglr-back a:hover{text-decoration:underline;}
.rglr-back--inline{margin:18px 0 0;text-align:right;}
.rglr-back--inline a{color:var(--rg-mid);}

/* ===========================================================
   jQuery UI autocomplete — aspetto coerente
   =========================================================== */
.ui-autocomplete{
    background:var(--rg-white);
    border:1px solid var(--rg-black);
    border-radius:0 0 6px 6px;
    list-style:none;
    margin:0;
    padding:4px 0;
    z-index:99999;
    max-height:280px;
    overflow-y:auto;
    box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.ui-autocomplete .ui-menu-item{padding:0;}
.ui-autocomplete .ui-menu-item-wrapper{
    display:block;
    padding:7px 12px;
    font-size:14px;
    cursor:pointer;
}
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper:hover{
    background:var(--rg-cream);
    color:var(--rg-black);
}

.rglr-search-box{margin:0 0 20px;}

/* Dropdown dell'autocompletamento — sfondo colorato e voci ben leggibili.
   !important per scavalcare l'eventuale tema base di jQuery UI. */
.ui-autocomplete.ui-menu{
	position:absolute;
	z-index:100000 !important;
	list-style:none !important;
	margin:3px 0 0 !important;
	padding:5px !important;
	background:#ecd2b6 !important;          /* sfondo colorato (crema) */
	border:2px solid #4a3b30 !important;
	border-radius:10px !important;
	box-shadow:0 10px 26px rgba(0,0,0,.32) !important;
	max-height:340px;
	overflow-y:auto;
	overflow-x:hidden;
}
.ui-autocomplete.ui-menu .ui-menu-item{
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
	border:none !important;
}
.ui-autocomplete.ui-menu .ui-menu-item .ui-menu-item-wrapper,
.ui-autocomplete.ui-menu .ui-menu-item a{
	display:block !important;
	padding:10px 14px !important;
	margin:2px 0 !important;
	color:#3a2e25 !important;
	font-size:15px !important;
	line-height:1.3 !important;
	font-weight:600 !important;
	text-decoration:none !important;
	background:#fff !important;             /* ogni voce su riquadro bianco */
	border:1px solid #d8c4a8 !important;
	border-radius:6px !important;
	cursor:pointer !important;
}
.ui-autocomplete.ui-menu .ui-menu-item .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete.ui-menu .ui-menu-item .ui-menu-item-wrapper:hover,
.ui-autocomplete.ui-menu .ui-menu-item a.ui-state-active,
.ui-autocomplete.ui-menu .ui-menu-item a:hover{
	background:#4a3b30 !important;          /* voce attiva: marrone scuro */
	color:#ecd2b6 !important;
	border-color:#4a3b30 !important;
}
.ui-helper-hidden-accessible{
	position:absolute !important;
	width:1px;height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
}

/* ===========================================================
   PULSANTIERA + PANNELLI (bacheca)
   =========================================================== */
.rglr-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 18px;
}
.rglr-tab{
    border:1px solid var(--rg-black);
    background:#efe7dd;
    color:var(--rg-dark);
    border-radius:8px 8px 0 0;
    padding:10px 16px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
}
.rglr-tab:hover{background:#f4e2cd;}
.rglr-tab.is-active{
    background:var(--rg-dark);
    color:var(--rg-cream);
    border-bottom-color:var(--rg-dark);
}
.rglr-panel{display:none;}
.rglr-panel.is-active{display:block;}

.rglr-h3{
    color:var(--rg-dark);
    font-size:18px;
    font-weight:700;
    margin:24px 0 10px;
    border-top:2px solid #d8cab8;
    padding-top:14px;
}
.rglr-h4{
    color:var(--rg-mid);
    font-size:16px;
    font-weight:700;
    margin:18px 0 8px;
}

.rglr-edit-area{
    background:#fbf6ef;
    border:1px solid var(--rg-black);
    border-radius:6px;
    padding:16px 18px;
    margin-top:18px;
}
.rglr-reviews-sub{
    border-top:1px dashed #b8a98f;
    margin-top:18px;
    padding-top:8px;
}

/* galleria immagini/PDF dei Materiali (vista pubblica) */
.rglr-mat-gallery{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:14px 0;
}
.rglr-mat-gallery img{
    width:160px;
    height:auto;
    border:1px solid #000;
    border-radius:4px;
}
.rglr-mat-pdf{list-style:none;margin:12px 0;padding:0;}
.rglr-mat-pdf li{margin:0 0 6px;}
.rglr-mat-pdf a{color:#5a493d;font-weight:600;text-decoration:underline;}

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:700px){
    .rglr-item{flex-direction:column;}
    .rglr-item-cover img{width:120px;}
    .rglr-table{display:block;overflow-x:auto;}
    .rglr-desc-cover{float:none;max-width:160px;margin:0 0 12px;}
}

/* ===========================================================
   GRIGLIA ARTICOLI (interviste / RECINT)
   =========================================================== */
.rglr-grid-search{
	width:100%;
	box-sizing:border-box;
	padding:10px 14px;
	border:1px solid #000;
	border-radius:8px;
	font-size:15px;
	margin:0 0 14px;
	background:#fff;
	color:#2b2118;
}
.rglr-grid-wrap{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	gap:18px;
	margin-top:4px;
}
.rglr-grid-item{
	background:#fff;
	border:1px solid #000;
	border-radius:8px;
	padding:16px 18px;
	box-shadow:0 1px 5px rgba(0,0,0,.14);
	display:flex;
	flex-direction:column;
	overflow:hidden;
}
.rglr-grid-thumb{
	display:block;
	line-height:0;
	margin:-16px -18px 14px;
	border-bottom:1px solid #000;
	border-radius:8px 8px 0 0;
	overflow:hidden;
	background:#f3ece1;
}
.rglr-grid-thumb img{
	width:100%;
	height:auto;
	display:block;
}
.rglr-grid-item .rglr-item-title{margin:0 0 8px;font-size:17px;line-height:1.25;}
.rglr-grid-item .rglr-item-title a{color:#4a3b30;text-decoration:none;}
.rglr-grid-item .rglr-item-title a:hover{text-decoration:underline;}
.rglr-grid-item .rglr-item-excerpt{font-size:14px;color:#3a2e25;flex:1;}
.rglr-grid-item .rglr-readmore{
	align-self:flex-start;
	margin-top:10px;
	color:#5a493d;
	font-weight:600;
	text-decoration:underline;
}
.rglr-grid-noresult{color:#ecd2b6;font-style:italic;}
@media (max-width:560px){
	.rglr-grid-wrap{grid-template-columns:1fr;}
}

/* Colonna e input "Ordine" nelle tabelle di gestione */
.rglr-col-order{width:1%;white-space:nowrap;text-align:center;}
.rglr-order{
    width:48px;
    height:40px;
    box-sizing:border-box;
    text-align:center;
    padding:4px;
    border:1px solid #b8a98f;
    border-radius:6px;
    font-size:15px;
    background:#fff;
    transition:background-color .25s ease;
    -moz-appearance:textfield;
}
.rglr-order::-webkit-outer-spin-button,
.rglr-order::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.rglr-order:focus{outline:none;border-color:#5a493d;box-shadow:0 0 0 2px rgba(90,73,61,.18);}

/* ===================== GALLERIA MATERIALI ===================== */
.rglr-gallery{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
    gap:10px;
    margin:18px 0;
}
.rglr-gal-thumb{
    display:block;
    position:relative;
    border:1px solid #b8a98f;
    border-radius:6px;
    overflow:hidden;
    background:#fff;
    cursor:zoom-in;
    line-height:0;
}
.rglr-gal-thumb img{
    width:100%;
    height:140px;
    object-fit:cover;
    display:block;
    transition:transform .25s ease;
}
.rglr-gal-thumb:hover img,
.rglr-gal-thumb:focus img{transform:scale(1.05);}
.rglr-gal-thumb:focus-visible{outline:3px solid #5a493d;outline-offset:2px;}

/* Solo per lettori di schermo */
.rglr-sr-only{
    position:absolute !important;
    width:1px;height:1px;
    padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);
    white-space:nowrap;border:0;
}

/* ===================== LIGHTBOX ===================== */
body.rglr-lb-open{overflow:hidden;}
.rglr-lb{display:none;}
.rglr-lb:not([hidden]){
    display:flex;
    position:fixed;
    inset:0;
    z-index:99999;
    align-items:center;
    justify-content:center;
}
.rglr-lb-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);cursor:zoom-out;}
.rglr-lb-stage{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    height:100%;
    padding:48px 12px 64px;
    box-sizing:border-box;
}
.rglr-lb-fig{
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:92vw;
    max-height:100%;
}
.rglr-lb-img{
    max-width:92vw;
    max-height:78vh;
    width:auto;height:auto;
    object-fit:contain;
    border-radius:4px;
    background:#000;
}
.rglr-lb-cap{
    color:#fff;
    margin-top:12px;
    max-width:760px;
    text-align:center;
    font-size:15px;
    line-height:1.5;
}
.rglr-lb-btn{
    appearance:none;
    background:rgba(74,59,48,.85);
    color:#fff;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    width:48px;height:48px;
    font-size:26px;line-height:1;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    flex:0 0 auto;
    transition:background .2s ease;
}
.rglr-lb-btn:hover{background:#4a3b30;}
.rglr-lb-btn:focus-visible{outline:3px solid #ecd2b6;outline-offset:2px;}
.rglr-lb-close{position:absolute;top:10px;right:12px;width:44px;height:44px;font-size:30px;}
.rglr-lb-prev,.rglr-lb-next{position:relative;}
.rglr-lb-count{
    position:absolute;
    bottom:18px;left:0;right:0;
    text-align:center;
    color:#ecd2b6;
    font-size:14px;
    letter-spacing:.5px;
}
@media (max-width:600px){
    .rglr-lb-stage{padding:40px 6px 56px;gap:4px;}
    .rglr-lb-img{max-height:70vh;}
    .rglr-lb-btn{width:42px;height:42px;font-size:22px;}
    .rglr-gal-thumb img{height:120px;}
}

/* ===================== GESTIONE IMMAGINI (modifica materiale) ===================== */
.rglr-mat-existing{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
    gap:12px;
    margin-top:8px;
}
.rglr-mat-img{
    border:1px solid #d8cbb3;
    border-radius:8px;
    padding:8px;
    background:#fbf6ee;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.rglr-mat-img img{
    width:100%;
    height:120px;
    object-fit:cover;
    border-radius:5px;
}
.rglr-mat-img .rglr-cap{
    width:100%;
    box-sizing:border-box;
    padding:6px 8px;
    border:1px solid #b8a98f;
    border-radius:6px;
    transition:background-color .25s ease;
}
.rglr-mat-img .rglr-order{align-self:flex-start;}
.rglr-mat-img .rglr-img-del{align-self:flex-start;}
.rglr-hint{margin:0 0 8px;font-size:13px;color:#6b5b49;}

/* Link "Modifica contenuto" nelle viste pubbliche (solo chi può gestire) */
.rglr-edit-link{margin:0 0 14px;}
.rglr-edit-link a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#ecd2b6;
    color:#4a3b30;
    padding:5px 12px;
    border:1px solid #4a3b30;
    border-radius:5px;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
}
.rglr-edit-link a:hover,
.rglr-edit-link a:focus{background:#4a3b30;color:#ecd2b6;}

/* Chip "Modifica" sulle schede degli elenchi (solo chi può gestire) */
.rglr-card-edit{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:10px;
    padding:3px 10px;
    background:#ecd2b6;
    color:#4a3b30;
    border:1px solid #4a3b30;
    border-radius:5px;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
    width:max-content;
}
.rglr-card-edit:hover,
.rglr-card-edit:focus{background:#4a3b30;color:#ecd2b6;}
