@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap");

.font-sobre { font-family:"Open Sans",Arial,sans-serif!important; }
.font-editorial { font-family:"Libre Baskerville",Georgia,serif!important; font-style:italic; font-weight:700; }
.font-manuscrite { font-family:"Caveat","Segoe Print",cursive!important; }
.font-moderne { font-family:"Dosis","Helvetica Neue",sans-serif!important; font-weight:300; }
.guestbook-hero h1 { font-size:88px; line-height:.95; }

.guestbook-compose { width:100%; max-width:none; margin:0; padding:34px max(40px,calc((100vw - var(--site-container))/2 + 40px)); background:#151716; }
.guestbook-accordion { border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.guestbook-accordion summary { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:92px; padding:18px 0; color:#fff; cursor:pointer; list-style:none; }
.guestbook-accordion summary::-webkit-details-marker { display:none; }
.guestbook-accordion summary>span:first-child { display:flex; align-items:baseline; gap:24px; }
.guestbook-accordion summary small { color:#a9afac; font:700 9px/1.3 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-accordion summary strong { font:400 31px/1.1 "Dosis",sans-serif; text-transform:uppercase; }
.guestbook-accordion__action { display:flex; align-items:center; gap:18px; color:#c7cbc9; font:700 9px/1.2 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-accordion__close { display:none; }
.guestbook-accordion[open] .guestbook-accordion__open { display:none; }
.guestbook-accordion[open] .guestbook-accordion__close { display:inline; }
.guestbook-accordion__action i { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.72); border-radius:50%; color:#fff; font:300 22px/1 Arial,sans-serif; font-style:normal; transition:transform .3s ease,background .2s ease,color .2s ease; }
.guestbook-accordion summary:hover .guestbook-accordion__action i { background:#fff; color:#151716; }
.guestbook-accordion[open] .guestbook-accordion__action i { transform:rotate(45deg); }
.guestbook-compose__content { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr); gap:clamp(70px,9vw,145px); padding:clamp(55px,7vw,95px) 0 75px; border-top:1px solid rgba(255,255,255,.13); }
.guestbook-compose__intro .section-kicker { color:#a9afac; }
.guestbook-compose__intro h2 { margin:18px 0 28px; color:#fff; font:400 clamp(54px,6vw,88px)/.95 "Dosis",sans-serif; letter-spacing:0; text-transform:uppercase; }
.guestbook-compose__intro>p:last-child { max-width:430px; color:#b9bfbc; font-size:14px; line-height:1.9; }
.guestbook-form { position:relative; padding:clamp(28px,4vw,48px); border:1px solid #d8dcda; background:#fff; }
.guestbook-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.guestbook-modes,.guestbook-photo-field { display:none; }
.guestbook-field { position:relative; display:block; margin:0 0 30px; color:#555d59; font:700 10px/1.3 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-field>span,.guestbook-fonts legend { display:block; margin-bottom:10px; color:#555d59; font:700 10px/1.3 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-field input,.guestbook-field textarea { display:block; width:100%; padding:13px 0; border:0; border-bottom:1px solid #aeb6b2; border-radius:0; outline:0; background:transparent; color:#171918; font-size:16px; line-height:1.65; text-transform:none; transition:border-color .2s ease; resize:vertical; }
.guestbook-field textarea { min-height:180px; padding:20px; border:1px solid #ccd2cf; font-size:21px; }
.guestbook-field input:focus,.guestbook-field textarea:focus { border-color:#151817; box-shadow:0 0 0 1px #151817; }
.guestbook-counter { position:absolute; right:12px; bottom:10px; color:#8a918e; font:600 9px/1 "Open Sans",sans-serif; }
.guestbook-fonts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 30px; padding:0; border:0; }
.guestbook-fonts legend { grid-column:1/-1; width:100%; }
.guestbook-font-option { position:relative; display:grid; place-items:center; min-height:86px; margin:0; padding:10px 6px; border:1px solid #d5dad7; border-radius:4px; color:#171918; background:#f8f9f8; cursor:pointer; transition:border-color .2s ease,background .2s ease; }
.guestbook-font-option input { position:absolute; opacity:0; pointer-events:none; }
.guestbook-font-option span { font-size:27px; line-height:1; }
.guestbook-font-option.font-manuscrite span { font-size:34px; }
.guestbook-font-option small { margin-top:7px; color:#737b77; font:600 9px/1 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-font-option:has(input:checked) { border-color:#171918; background:#fff; box-shadow:inset 0 -2px #d84646; }
.guestbook-font-option:focus-within { outline:2px solid #d84646; outline-offset:2px; }
.guestbook-form__footer { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.guestbook-form__footer p { margin:0; color:#777e7a; font-size:11px; }
.guestbook-form__footer button { display:inline-flex; align-items:center; gap:18px; min-height:46px; padding:0 20px; border:1px solid #151817; border-radius:3px; background:#151817; color:#fff; font:700 10px/1 "Open Sans",sans-serif; text-transform:uppercase; transition:background .2s ease,color .2s ease; }
.guestbook-form__footer button:hover,.guestbook-form__footer button:focus { background:#fff; color:#151817; }
.guestbook-form__footer button[disabled] { opacity:.55; cursor:wait; }
.guestbook-response { display:none; margin-top:18px; padding:16px 18px; border-left:3px solid #187554; background:#edf7f2; color:#185942; font-size:13px; line-height:1.6; }
.guestbook-response.is-visible { display:block; }
.guestbook-response.is-error { display:block; border-color:#c43c3c; background:#fff0f0; color:#842929; }

.guestbook-wall { padding:clamp(80px,9vw,130px) max(40px,calc((100vw - var(--site-container))/2 + 40px)); background:#fff; color:#171918; }
.guestbook-wall .section-kicker { color:#737a76; }
.guestbook-wall__heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:55px; padding-bottom:0; border:0; }
.guestbook-wall__heading h2 { margin:12px 0 0; color:#171918; font:400 clamp(48px,6vw,82px)/1 "Dosis",sans-serif; letter-spacing:0; text-transform:uppercase; }
.guestbook-wall__heading>p { margin:0; color:#7c837f; font:700 10px/1.4 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-grid { display:grid; gap:16px; border:0; }
.guestbook-entry { position:relative; display:grid; grid-template-columns:minmax(130px,180px) minmax(0,1fr); column-gap:clamp(40px,7vw,110px); width:100%; min-width:0; padding:clamp(42px,5vw,68px); overflow:hidden; border:0; border-radius:4px; background:#f1f3f2; }
.guestbook-entry:nth-child(even) { background:#f7f8f7; }
.guestbook-entry::before { position:absolute; top:18px; right:34px; color:rgba(190,42,52,.08); content:"“"; font:400 128px/.8 Georgia,serif; pointer-events:none; }
.guestbook-entry__media { position:absolute; z-index:0; inset:0; }
.guestbook-entry__media::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(7,8,8,.84),rgba(7,8,8,.58)); }
.guestbook-entry__media picture,.guestbook-entry__media img { display:block; width:100%; height:100%; }
.guestbook-entry__media img { object-fit:cover; object-position:center; }
.guestbook-entry__thumb { display:none; }
.guestbook-entry.has-photo { grid-template-columns:minmax(130px,180px) minmax(0,1fr) minmax(130px,190px); align-items:center; background:#171918; }
.guestbook-entry.has-photo::before { z-index:2; color:rgba(255,255,255,.1); }
.guestbook-entry.has-photo time,.guestbook-entry.has-photo blockquote,.guestbook-entry.has-photo .guestbook-entry__signature,.guestbook-entry.has-photo .guestbook-entry__thumb { z-index:2; }
.guestbook-entry.has-photo time { border-color:rgba(255,255,255,.25); color:rgba(255,255,255,.68); }
.guestbook-entry.has-photo blockquote { color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.3); }
.guestbook-entry.has-photo .guestbook-entry__signature { color:#ff6868; }
.guestbook-entry.has-photo .guestbook-entry__thumb { display:block; grid-column:3; grid-row:1/3; width:100%; height:clamp(120px,12vw,175px); overflow:hidden; border:1px solid rgba(255,255,255,.3); border-radius:3px; background:rgba(0,0,0,.34); }
.guestbook-entry.has-photo .guestbook-entry__thumb picture,.guestbook-entry.has-photo .guestbook-entry__thumb img { display:block; width:100%; height:100%; }
.guestbook-entry.has-photo .guestbook-entry__thumb img { object-fit:cover; object-position:center; }
.guestbook-entry time { position:relative; z-index:1; display:flex; grid-row:1/3; flex-direction:column; align-items:flex-start; gap:1px; margin:0; padding-right:30px; border-right:1px solid #dde1df; color:#9ca39f; font:500 29px/.88 "Dosis",sans-serif; font-variant-numeric:tabular-nums; }
.guestbook-entry time span { display:block; min-width:2ch; }
.guestbook-entry blockquote { position:relative; z-index:1; max-width:900px; margin:0; padding:0; border:0; color:#171918; font-size:20px; line-height:1.7; overflow-wrap:anywhere; }
.guestbook-entry.font-editorial blockquote { font-size:18px; line-height:1.85; }
.guestbook-entry.font-manuscrite blockquote { font-size:31px; line-height:1.35; }
.guestbook-entry.font-moderne blockquote { font-size:25px; line-height:1.5; }
.guestbook-entry__signature { position:relative; z-index:1; grid-column:2; margin:35px 0 0; color:#c9343d; font:inherit; font-size:27px; line-height:1.2; }
.guestbook-entry__signature::before { content:"— "; }
.guestbook-empty { padding:70px 0; text-align:center; }
.guestbook-empty p { margin:0 0 8px; color:#171918; font:400 34px/1.2 "Dosis",sans-serif; text-transform:uppercase; }
.guestbook-empty span { color:#7c837f; font-size:13px; }
.guestbook-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; margin-top:42px; }
.guestbook-pagination>div { display:flex; align-items:center; justify-content:center; gap:5px; }
.guestbook-pagination a { color:#59605c; font:700 10px/1 "Open Sans",sans-serif; text-transform:uppercase; }
.guestbook-pagination>div a { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; }
.guestbook-pagination__ellipsis { display:grid; place-items:center; width:24px; color:#929894; }
.guestbook-pagination>div a:hover,.guestbook-pagination>div a.current { color:#fff; background:#171918; }
.guestbook-pagination__direction { display:inline-flex; align-items:center; gap:10px; width:max-content; padding:12px 0; border-bottom:1px solid #171918; }
.guestbook-pagination__direction:last-child { justify-self:end; }

@media(max-width:900px){
	.guestbook-hero h1 { font-size:68px; }
	.guestbook-compose { padding-right:24px; padding-left:24px; }
	.guestbook-compose__content { grid-template-columns:1fr; gap:50px; }
	.guestbook-compose__intro h2 { font-size:64px; }
}
@media(max-width:767px){
	.guestbook-hero h1 { font-size:48px; }
	.guestbook-compose { padding-top:22px; padding-bottom:22px; }
	.guestbook-accordion summary { min-height:82px; }
	.guestbook-accordion summary>span:first-child { display:block; }
	.guestbook-accordion summary small { display:block; margin-bottom:5px; }
	.guestbook-accordion summary strong { font-size:25px; }
	.guestbook-accordion__action>span { display:none!important; }
	.guestbook-accordion__action i { width:36px; height:36px; }
	.guestbook-compose__content { padding:48px 0 55px; }
	.guestbook-compose__intro h2 { font-size:52px; }
	.guestbook-form { padding:24px 18px; }
	.guestbook-modes { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:0 0 24px; padding:0; border:0; }
	.guestbook-modes legend { grid-column:1/-1; margin-bottom:3px; color:#555d59; font:700 10px/1.3 "Open Sans",sans-serif; text-transform:uppercase; }
	.guestbook-modes label { position:relative; margin:0; cursor:pointer; }
	.guestbook-modes input { position:absolute; opacity:0; }
	.guestbook-modes label span { display:grid; place-items:center; min-height:44px; padding:8px; border:1px solid #d1d7d4; border-radius:4px; color:#545c58; background:#f7f8f7; font:700 10px/1.2 "Open Sans",sans-serif; text-transform:uppercase; }
	.guestbook-modes input:checked+span { border-color:#171918; color:#fff; background:#171918; }
	.guestbook-modes input:focus-visible+span { outline:2px solid #d84646; outline-offset:2px; }
	.guestbook-photo-field:not([hidden]) { display:block; margin:-8px 0 28px; }
	.guestbook-photo-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
	.guestbook-photo-actions>input { position:absolute; width:1px; height:1px; opacity:0; }
	.guestbook-photo-actions>label,.guestbook-photo-actions>button { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; min-height:72px; margin:0; padding:12px 8px; border:1px dashed #aeb8b2; border-radius:4px; color:#171918; background:#f6f8f6; cursor:pointer; text-align:center; }
	.guestbook-photo-actions>label span,.guestbook-photo-actions>button span { font:700 10px/1.35 "Open Sans",sans-serif; text-transform:uppercase; }
	.guestbook-photo-actions>label small,.guestbook-photo-actions>button small { color:#7b837f; font:9px/1.4 "Open Sans",sans-serif; }
	.guestbook-photo-actions>input:focus-visible+label { outline:2px solid #d84646; outline-offset:2px; }
	.guestbook-photo-actions>button:focus-visible { outline:2px solid #d84646; outline-offset:2px; }
	.guestbook-photo-help { margin:8px 0 0; color:#7b837f; font:9px/1.4 "Open Sans",sans-serif; text-align:right; }
	.guestbook-camera:not([hidden]) { display:block; margin-top:10px; overflow:hidden; border-radius:4px; background:#090a09; }
	.guestbook-camera video { display:block; width:100%; aspect-ratio:1; background:#090a09; object-fit:cover; }
	.guestbook-camera.is-user-facing video { transform:scaleX(-1); }
	.guestbook-camera__actions { display:grid; grid-template-columns:1fr 1.35fr 1fr; gap:6px; padding:8px; }
	.guestbook-camera__actions button { min-height:40px; padding:7px 9px; border:1px solid rgba(255,255,255,.25); border-radius:3px; color:#fff; background:#242725; font:700 9px/1.25 "Open Sans",sans-serif; text-transform:uppercase; }
	.guestbook-camera__actions [data-camera-capture] { background:#c9343d; border-color:#c9343d; }
	.guestbook-photo-preview { position:relative; height:280px; margin-top:10px; overflow:hidden; border-radius:4px; background:#ddd; }
	.guestbook-photo-preview[hidden] { display:none; }
	.guestbook-photo-preview img { display:block; width:100%; height:100%; object-fit:cover; }
	.guestbook-photo-preview button { position:absolute; top:10px; right:10px; min-height:34px; padding:0 11px; border:0; border-radius:3px; color:#fff; background:rgba(10,10,10,.78); font:700 9px/1 "Open Sans",sans-serif; text-transform:uppercase; }
	.guestbook-fonts { grid-template-columns:repeat(2,1fr); }
	.guestbook-form__footer { align-items:stretch; flex-direction:column; }
	.guestbook-form__footer button { justify-content:space-between; width:100%; }
	.guestbook-wall { padding:70px 24px; }
	.guestbook-wall__heading { align-items:start; flex-direction:column; }
	.guestbook-wall__heading h2 { font-size:48px; }
	.guestbook-entry { display:block; padding:34px 24px; }
	.guestbook-entry.has-photo { display:block; padding:34px 24px; }
	.guestbook-entry__media::after { background:linear-gradient(0deg,rgba(7,8,8,.9),rgba(7,8,8,.18)); }
	.guestbook-entry.has-photo .guestbook-entry__thumb { display:none; }
	.guestbook-entry::before { top:18px; right:18px; font-size:92px; }
	.guestbook-entry time { width:max-content; margin:0 0 30px; padding-right:0; border-right:0; font-size:27px; }
	.guestbook-entry__signature { margin-top:28px; }
	.guestbook-pagination { grid-template-columns:1fr auto 1fr; gap:8px; }
	.guestbook-pagination__direction { font-size:0; border:0; }
	.guestbook-pagination__direction span { font-size:18px; }
	.guestbook-pagination>div { gap:0; }
	.guestbook-pagination>div a { width:32px; height:32px; }
}
