.blog-shell{width:88%;max-width:1280px;margin:auto;padding:75px 0 100px;min-height:65vh}
.blog-intro{max-width:780px;padding-bottom:45px;border-bottom:1px solid var(--line);margin-bottom:45px}
.blog-intro h1,.blog-article h1{font:400 clamp(44px,5vw,72px)/1.08 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;margin:0 0 24px}
.blog-intro>p:last-child{font-size:15px;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-card{border:1px solid var(--line);background:#fffdf8;min-width:0}
.blog-card>a{display:block;height:100%}
.blog-card img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}
.blog-card-copy{padding:25px}
.blog-card time,.blog-article time{font-size:12px;color:#68705e}
.blog-card h2{font:400 32px/1.15 'Cormorant Garamond',Georgia,serif;margin:14px 0}
.blog-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.8}
.blog-read{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;margin-top:12px;color:var(--green)}
.blog-card:hover{border-color:#ae8c52}
.blog-empty{padding:55px 25px;text-align:center;border:1px solid var(--line)}
.blog-empty p:first-child{font:400 34px/1.3 'Cormorant Garamond',Georgia,serif;margin:0 0 15px}
.blog-empty p:last-child{color:var(--muted);margin:0}
.blog-article{width:88%;max-width:1000px;margin:auto;padding:55px 0 90px}
.blog-article header{max-width:800px;margin:35px auto;text-align:center}
.blog-article h1{margin-top:18px;overflow-wrap:anywhere}
.blog-cover{width:100%;height:auto;max-height:650px;object-fit:cover}
.blog-body{max-width:760px;margin:40px auto;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.blog-body h2{font-size:38px;margin:40px 0 20px}
.blog-body figure{margin:35px 0}.blog-body img{width:100%;height:auto}.blog-body figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.blog-back{display:inline-block;font-size:13px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-shell{padding:45px 0 60px}.blog-intro{padding-bottom:25px;margin-bottom:30px}.blog-card-copy{padding:22px}.blog-article{padding-top:35px}.blog-body{font-size:15px}}
/* Article cover stays still. Only the gallery below the full text rotates. */
.roma-blog-slideshow{margin:45px 0 25px;width:100%}
.blog-gallery-ready .blog-gallery-stage{position:relative;background:#eaeadd;aspect-ratio:3/2;overflow:hidden}
.blog-gallery-ready .blog-gallery-stage>figure{margin:0;width:100%;height:100%;position:relative}
.blog-gallery-ready .blog-gallery-stage>figure[hidden]{display:none!important}
.blog-gallery-ready .blog-gallery-stage img{display:block;width:100%;height:100%;object-fit:contain}
.blog-gallery-ready .blog-gallery-stage figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:12px 18px;background:#243c32e6;color:#fff;font-size:12px}
.blog-gallery-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:15px 0}
.blog-gallery-controls button{border:1px solid var(--line,#dcded4);background:transparent;color:var(--green,#243c32);min-width:38px;min-height:40px;padding:7px 10px;font:600 12px Arial,sans-serif;cursor:pointer}
.blog-gallery-controls button[aria-pressed=true]{background:var(--green,#243c32);color:white}
.blog-gallery-controls button:focus-visible{outline:3px solid #bf8d35;outline-offset:3px}

.blog-gallery-ready .blog-gallery-stage,.blog-gallery-ready .blog-gallery-controls{width:100%;flex:0 0 100%}.blog-gallery-ready .blog-gallery-stage>figure{max-width:none}


/* Opening slides: homepage-style controls over the image, no lightbox. */
.hotel-hero-gallery,.events-opening-slideshow{position:relative;cursor:default}
.hotel-page .hotel-scroll-scene .hotel-hero-gallery .blog-gallery-controls,.events-opening-slideshow .blog-gallery-controls{position:absolute;right:24px;bottom:20px;z-index:5;margin:0;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;background:none;padding:0}
.hotel-hero-gallery .blog-gallery-controls button,.events-opening-slideshow .blog-gallery-controls button{border:0;border-bottom:1px solid #ffffff50;background:none;color:#fff;padding:12px 15px;font-size:11px;min-width:0;border-radius:0;text-shadow:0 1px 4px #0009}
.hotel-hero-gallery .blog-gallery-controls button[aria-pressed=true],.events-opening-slideshow .blog-gallery-controls button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:none}
.hotel-hero-gallery .blog-gallery-controls button[hidden],.events-opening-slideshow .blog-gallery-controls button[hidden]{display:none}
.hotel-page .hotel-hero-gallery.blog-gallery-ready .blog-gallery-stage figcaption{bottom:78px}
@media(max-width:600px){.hotel-page .hotel-scroll-scene .hotel-hero-gallery .blog-gallery-controls,.events-opening-slideshow .blog-gallery-controls{right:12px;bottom:12px;gap:3px}.hotel-hero-gallery .blog-gallery-controls button,.events-opening-slideshow .blog-gallery-controls button{padding:8px;font-size:10px}.hotel-page .hotel-hero-gallery.blog-gallery-ready .blog-gallery-stage figcaption{bottom:62px}}

.hotel-hero-gallery .blog-gallery-stage,.events-opening-slideshow .blog-gallery-stage{pointer-events:none;cursor:default}
