:root{
  --romano-cookie-gold:#b49b63;
  --romano-cookie-ink:#171717;
  --romano-cookie-muted:#5e5a54;
  --romano-cookie-border:#d9d4ca;
  --romano-cookie-paper:#fff;
  --romano-cookie-soft:#f7f5f1;
}
.romano-cookie-banner[hidden],
.romano-cookie-modal[hidden]{display:none!important}
.romano-cookie-banner{
  position:fixed;
  z-index:2147483000;
  right:20px;
  bottom:20px;
  left:20px;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
}
.romano-cookie-banner.is-visible{opacity:1;transform:none;pointer-events:auto}
.romano-cookie-banner__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,.82fr);
  gap:32px;
  align-items:center;
  width:min(100%,1140px);
  margin:0 auto;
  padding:24px;
  border:1px solid var(--romano-cookie-border);
  background:rgba(255,255,255,.985);
  box-shadow:0 16px 55px rgba(0,0,0,.18);
}
.romano-cookie-banner__copy{min-width:0}
.romano-cookie-eyebrow{
  margin:0 0 7px!important;
  color:var(--romano-cookie-gold)!important;
  font:700 11px/1.3 Helvetica,Arial,sans-serif!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.romano-cookie-banner h2,
.romano-cookie-dialog h2{
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  color:var(--romano-cookie-ink)!important;
  font:600 23px/1.2 "Josefin Sans",sans-serif!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-transform:none!important;
}
.romano-cookie-banner h2::after,
.romano-cookie-dialog h2::after{display:none!important}
.romano-cookie-banner__copy>p:last-child,
.romano-cookie-dialog__intro,
.romano-cookie-category p,
.romano-cookie-category__text{
  color:var(--romano-cookie-muted)!important;
  font:400 14px/1.55 Helvetica,Arial,sans-serif!important;
}
.romano-cookie-banner__copy>p:last-child{margin:0!important}
.romano-cookie-banner a,
.romano-cookie-dialog a{
  color:#907747!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
.romano-cookie-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.romano-cookie-button,
.romano-cookie-manage{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border:1px solid var(--romano-cookie-ink);
  border-radius:0;
  background:var(--romano-cookie-ink);
  color:#fff;
  font:600 13px/1.2 Helvetica,Arial,sans-serif;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.romano-cookie-button:hover,
.romano-cookie-button:focus-visible,
.romano-cookie-manage:hover,
.romano-cookie-manage:focus-visible{
  border-color:var(--romano-cookie-gold);
  background:var(--romano-cookie-gold);
  color:#fff;
  outline:0;
}
.romano-cookie-button:focus-visible,
.romano-cookie-manage:focus-visible,
.romano-cookie-close:focus-visible,
.romano-cookie-switch input:focus-visible+span{
  box-shadow:0 0 0 3px #fff,0 0 0 5px var(--romano-cookie-ink);
}
.romano-cookie-modal{
  position:fixed;
  z-index:2147483100;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
}
.romano-cookie-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.romano-cookie-dialog{
  position:relative;
  overflow:auto;
  width:min(100%,760px);
  max-height:min(88vh,820px);
  padding:28px;
  border:1px solid var(--romano-cookie-border);
  background:var(--romano-cookie-paper);
  box-shadow:0 24px 75px rgba(0,0,0,.28);
  outline:none;
  overscroll-behavior:contain;
}
.romano-cookie-dialog__header{display:flex;gap:24px;align-items:flex-start;justify-content:space-between}
.romano-cookie-close{
  display:grid;
  flex:0 0 44px;
  width:44px;
  height:44px;
  place-items:center;
  padding:0;
  border:1px solid var(--romano-cookie-border);
  background:#fff;
  color:var(--romano-cookie-ink);
  font:300 30px/1 Helvetica,Arial,sans-serif;
  cursor:pointer;
}
.romano-cookie-dialog__intro{margin:0 0 22px!important}
.romano-cookie-categories{display:grid;gap:10px}
.romano-cookie-category{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin:0;
  padding:18px;
  border:1px solid var(--romano-cookie-border);
  background:#fff;
  cursor:pointer;
}
.romano-cookie-category:first-child{background:var(--romano-cookie-soft);cursor:default}
.romano-cookie-category h3,
.romano-cookie-category strong{
  display:block;
  margin:0 0 5px;
  color:var(--romano-cookie-ink)!important;
  font:600 17px/1.25 "Josefin Sans",sans-serif!important;
}
.romano-cookie-category p{margin:0!important}
.romano-cookie-category__text{display:block}
.romano-cookie-required{
  color:#74623b;
  font:700 11px/1.25 Helvetica,Arial,sans-serif;
  letter-spacing:.05em;
  text-align:right;
  text-transform:uppercase;
}
.romano-cookie-switch{position:relative;display:block;flex:0 0 auto;width:52px;height:30px}
.romano-cookie-switch input{position:absolute;width:1px;height:1px;opacity:0}
.romano-cookie-switch span{
  position:absolute;
  inset:0;
  border:1px solid #aaa59b;
  border-radius:30px;
  background:#d8d5cf;
  transition:background-color .18s,border-color .18s;
}
.romano-cookie-switch span::after{
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  content:"";
  transition:transform .18s;
}
.romano-cookie-switch input:checked+span{border-color:var(--romano-cookie-ink);background:var(--romano-cookie-ink)}
.romano-cookie-switch input:checked+span::after{transform:translateX(22px)}
.romano-cookie-dialog__policy{margin:18px 0!important;font:400 13px/1.5 Helvetica,Arial,sans-serif!important}
.romano-cookie-dialog__actions{margin-top:0}
body.romano-cookie-modal-open{overflow:hidden!important}
.romano-cookie-manage--footer{
  min-height:44px;
  padding:12px 2px;
  border:0;
  background:transparent;
  color:#fff;
  font:400 13px/19.5px "Josefin Sans",sans-serif;
}
.romano-cookie-manage--footer:hover,
.romano-cookie-manage--footer:focus-visible{border:0;background:transparent;color:#c7b078;text-decoration:underline;text-underline-offset:3px}
.romano-cookie-policy{scroll-margin-top:130px}
.romano-cookie-policy__table-wrap{overflow-x:auto;margin:22px 0;border:1px solid #d8d8d8}
.romano-cookie-policy table{width:100%;min-width:720px;margin:0!important;border:0!important;border-collapse:collapse}
.romano-cookie-policy th,
.romano-cookie-policy td{padding:16px!important;border:0!important;border-bottom:1px solid #dedede!important;text-align:left!important;vertical-align:top!important}
.romano-cookie-policy thead th{background:#f5f3ef;font:600 15px/1.4 Helvetica,Arial,sans-serif!important}
.romano-cookie-policy tbody th{width:24%;font-weight:600!important}
.romano-cookie-policy tbody tr:last-child>*{border-bottom:0!important}
.romano-cookie-policy code{font-size:.85em;overflow-wrap:anywhere}
.romano-cookie-manage--policy{margin-top:10px}
@media(max-width:900px){
  .romano-cookie-banner__inner{grid-template-columns:1fr;gap:18px}
}
@media(max-width:767px){
  .romano-cookie-banner{right:10px;bottom:calc(var(--mobile-sticky-actions-height,60px) + env(safe-area-inset-bottom,0px) + 10px);left:10px}
  .romano-cookie-banner__inner{max-height:calc(100dvh - var(--mobile-sticky-actions-height,60px) - env(safe-area-inset-bottom,0px) - 20px);overflow:auto;padding:20px;gap:16px;overscroll-behavior:contain}
  .romano-cookie-banner h2,.romano-cookie-dialog h2{font-size:21px!important}
  .romano-cookie-actions{grid-template-columns:1fr}
  .romano-cookie-button{width:100%;min-height:46px}
  .romano-cookie-modal{align-items:end;padding:0}
  .romano-cookie-dialog{width:100%;max-height:calc(100vh - 16px);padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0}
  .romano-cookie-category{gap:16px;padding:16px 14px}
  .romano-cookie-required{max-width:85px}
}
body.romano-cookie-modal-open .mobile-back-to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){
  .romano-cookie-banner,.romano-cookie-button,.romano-cookie-switch span,.romano-cookie-switch span::after{transition:none!important}
}

/* Compact consent card, matching the reference site. */
#romano-cookie-banner{left:40px;right:auto;bottom:40px;width:440px;max-width:calc(100vw - 80px);}
#romano-cookie-banner .romano-cookie-banner__inner{display:block;width:100%;margin:0;padding:26px 26px 20px;border:0;border-radius:6px;background:#fff;box-shadow:0 1px 14px #0002;}
#romano-cookie-banner .romano-cookie-eyebrow{display:none!important;}
#romano-cookie-banner #romano-cookie-banner-title{font:600 18px/24px "Josefin Sans",sans-serif!important;color:#000!important;margin:0 0 14px!important;}
#romano-cookie-banner .romano-cookie-banner__copy>p:last-child{font:400 14px/24px "Josefin Sans",sans-serif!important;color:#000!important;}
#romano-cookie-banner .romano-cookie-actions{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:8px;margin-top:18px;}
#romano-cookie-banner .romano-cookie-button{min-height:44px;padding:10px 8px;border:1.5px solid #000;border-radius:1px;background:#fff;color:#000;font:500 13px/18px "Josefin Sans",sans-serif;}
#romano-cookie-banner [data-romano-consent-action="customize"]{order:0;}
#romano-cookie-banner [data-romano-consent-action="reject-all"]{order:1;}
#romano-cookie-banner [data-romano-consent-action="accept-all"]{order:2;background:#000;color:#fff;}
#romano-cookie-banner .romano-cookie-button:hover{background:#eee;color:#000;}
#romano-cookie-banner [data-romano-consent-action="accept-all"]:hover{background:#333;color:#fff;}
@media(max-width:600px){#romano-cookie-banner{left:16px;bottom:16px;width:440px;max-width:calc(100vw - 32px);}#romano-cookie-banner .romano-cookie-banner__inner{padding:20px;}#romano-cookie-banner .romano-cookie-actions{gap:6px;}#romano-cookie-banner .romano-cookie-button{padding:9px 5px;font-size:12px;}}
