/* Shared button shape across home, stays, editorial pages and guides. */
:root body :is(.button,.nav-book,.header-book,.guide-book,.editorial-button,.outline-link,.photo-count,.guide-button,.map-load,.map-enlarge,.map-close,.consent-actions button,.privacy-controls button,.lightbox button,.gallery-controls button,.hero-controls button,.photo-tabs button,.map-categories button,.guide-jump-nav a,.guide-card .text-link),
:root body .chapter-card>a:last-child,
#pisa .city-guide-link{
 border-radius:14px;
 border-bottom-width:3px;
 box-shadow:0 3px 0 #172f2638,0 7px 15px #172f2612;
 cursor:pointer;
 transition:background .18s,color .18s,box-shadow .18s;
}
:root body :is(.button,.nav-book,.header-book,.guide-book,.editorial-button,.outline-link,.photo-count,.guide-button,.map-load,.map-enlarge,.map-close,.consent-actions button,.privacy-controls button,.lightbox button,.gallery-controls button,.hero-controls button,.photo-tabs button,.map-categories button,.guide-jump-nav a,.guide-card:hover .text-link):hover,
:root body .chapter-card>a:last-child:hover,
#pisa .city-guide-link:hover{
 box-shadow:0 4px 0 #172f2645,0 9px 18px #172f2620;
}
:root body :is(.button,.nav-book,.header-book,.guide-book,.editorial-button,.outline-link,.photo-count,.guide-button,.map-load,.map-enlarge,.map-close,.consent-actions button,.privacy-controls button,.lightbox button,.gallery-controls button,.hero-controls button,.photo-tabs button,.map-categories button,.guide-jump-nav a):active,
:root body .chapter-card>a:last-child:active,
#pisa .city-guide-link:active{
 box-shadow:0 1px 0 #172f2638,inset 0 2px 4px #172f2618;
}
/* The card's link overlay keeps the entire guide card clickable. */
:root body .chapter-card>a:last-child{background:#304b42;color:#fff;border-color:#304b42;border-bottom-color:#1b352b}
:root body .chapter-card>a:last-child:hover{background:#203b32;color:#fff;border-color:#203b32;border-bottom-color:#152b22}
#pisa .city-guide-link{transform:none}
:root body .guide-card .text-link{border-radius:14px}
:root body .lightbox #close-photo,:root body .consent-close{border-radius:12px}
:root body #language{border-radius:20px}
/* Let card actions fill the available width, preserving the card margins. */
:root body .chapter-card>a:last-child{display:flex;align-self:stretch;justify-content:center;align-items:center;width:auto;min-height:48px;text-align:center}
#pisa .city-guide-link{display:flex;align-self:stretch;justify-content:center;width:100%;text-align:center}
:root body .guide-card .text-link{display:flex;justify-content:center;align-items:center;width:100%;text-align:center}
@media(prefers-reduced-motion:reduce){
 :root body :is(.button,.nav-book,.header-book,.guide-book,.editorial-button,.outline-link,.photo-count,.guide-button,.map-load,.map-enlarge,.map-close,.consent-actions button,.privacy-controls button,.lightbox button,.gallery-controls button,.hero-controls button,.photo-tabs button,.map-categories button,.guide-jump-nav a,.guide-card .text-link),
 :root body .chapter-card>a:last-child,#pisa .city-guide-link{transition:none}
}
