/* Ajustes discretos sobre o desenho e as cores do tema original. */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #f5c342 !important; outline-offset: 3px; }
.skip-link:focus { position: fixed !important; top: 8px; left: 8px; z-index: 999999; width: auto; height: auto; padding: 12px 16px; clip: auto; background: #fff; color: #171717; }
.slider-section .main-slider { text-shadow: 0 2px 5px rgba(0,0,0,.85); }
.slider-section .main-slider .btn { text-shadow: none; }
.service-item-overlay img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.oc-aviso-reserva { margin: 1.5rem auto; padding: 1.25rem 1.5rem; max-width: 42rem; border-left: 4px solid #cb1c2c; background: #f6f3ed; color: #252525; }
.oc-aviso-reserva p { margin: 0 0 .5rem; }
.oc-aviso-reserva a { color: #a30c1d; font-weight: 700; text-decoration: underline; }
img, video, iframe { max-width: 100%; }
@media (max-width: 767px) { .service-section { padding-top: 45px; padding-bottom: 45px; } .contact-details-section .contact-info { overflow-wrap: anywhere; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

@media (max-width: 767px) {
  .slider-section .main-content p { white-space: normal; text-overflow: clip; overflow: visible; max-width: 95%; line-height: 1.35; }
}
.oc-eventos-intro { margin-bottom: 2rem; } .oc-eventos-intro p { max-width: 50rem; }

/* Melhor leitura no painel do Codex e em tablets largos. */
@media (min-width: 768px) and (max-width: 991px) {
  .main-navigation-area.d-none { display: block !important; }
  div.main-mobile-nav { display: none !important; }
  .main-navigation-area .container { width: 96%; max-width: none; }
  .main-navigation-area .row > .col-3 { flex: 0 0 16%; max-width: 16%; }
  .main-navigation-area .row > .col-9 { flex: 0 0 84%; max-width: 84%; }
  .main-navigation-area .logo img { max-width: 88px; height: auto; }
  .main-navbar .main-menu > li.menu-item > a { font-size: 14px; padding: 0 7px; white-space: nowrap; }
  .main-menu-right > ul { padding-left: 8px; }
  .main-menu-right .btn { padding: 12px 16px; }
}
/* As caixas do rodapé devem manter texto legível e colunas alinhadas. */
.footer-above .info-wrp { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.footer-above .info-wrp > [class*="col-"] { width: auto; max-width: none; }
.footer-above .widget-contact { height: 100%; background: rgba(0,0,0,.68); }
.footer-above .contact-area { align-items: flex-start; }
.footer-above .contact-icon { flex: 0 0 44px; width: 44px; height: 44px; margin-right: 12px; font-size: 38px; }
.footer-above .contact-info { min-width: 0; overflow-wrap: break-word; }
.footer-above .contact-info .title { color: #fff; line-height: 1.35; }
.footer-above .contact-info .text { color: #fff; font-size: 14px; line-height: 1.55; }
.footer-main:not(:has(.widget)) { padding: 0; }
.footer-copyright .contact-info .text { overflow-wrap: normal; word-break: normal; }
.footer-copyright .contact-info .text a { white-space: nowrap; }
.about-section .about-author-img { display: none; }
@media (max-width: 767px) {
  .footer-above .info-wrp { grid-template-columns: 1fr; }
  .footer-copyright .contact-info .text a { white-space: normal; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .main-navigation-area .mobile-collapsed { display: none !important; }
}
.footer-above .contact-area { display: block; }
.footer-above .contact-icon { display: block; margin: 0 0 14px; }
.footer-main:not(:has(.widget:not(:empty))) { padding: 0; }
/* Ícone legível mesmo quando a fonte de ícones do tema não carrega. */
.scrollingUp i { display: none; }
.scrollingUp::before { content: '↑'; color: #a91324; font: 700 28px/1 Arial, sans-serif; }
/* O conteúdo não fica invisível à espera das animações de entrada do tema. */
.wow { visibility: visible !important; animation: none !important; }
/* Não reservar uma faixa vazia quando o título e o percurso estão desativados. */
#breadcrumb-section:not(:has(.breadcrumb-content)) { display: none; }

/* Acabamento visual: cores do logótipo, tipografia serena e fotografias do projeto. */
:root { --oc-red:#a91929; --oc-ink:#242124; --oc-cream:#f8f5ef; --oc-gold:#c6a45c; }
body { color:#292626; }
.main-navigation-area .main-navigation { background:#fff; box-shadow:0 2px 18px rgba(40,25,20,.08); }
.main-navigation-area .logo img { max-height:92px; width:auto; }
.main-navbar .main-menu > li.menu-item > a { color:var(--oc-ink); font-size:15px; font-weight:600; letter-spacing:.01em; }
.main-navbar .main-menu > li.menu-item > a:hover,.main-navbar .main-menu > li.active > a { color:var(--oc-red); }
.main-menu-right .btn,.main-content .btn.btn-primary { background:var(--oc-red); border-color:var(--oc-red); border-radius:3px; box-shadow:none; }
.main-menu-right .btn:hover,.main-content .btn.btn-primary:hover { background:#7e1320; border-color:#7e1320; }
.main-slider { background:linear-gradient(90deg,rgba(22,18,18,.79) 0%,rgba(22,18,18,.48) 46%,rgba(22,18,18,.08) 100%) !important; }
.main-slider div.main-content { max-width:680px; margin-top:30px; margin-bottom:40px; }
.main-content h4 { font-family:Arial,sans-serif; font-size:13px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#f5dfb5; margin-bottom:18px; }
.main-content h1 { font-family:Georgia,serif; font-size:clamp(2.65rem,5vw,5rem); font-weight:400; line-height:1.08; letter-spacing:-.035em; color:#fff; margin-bottom:20px; }
.main-content p { max-width:540px; font-size:18px; line-height:1.6; color:#fff; }
.main-content .hr-line { display:none; }
.service-home { background:var(--oc-cream); padding-top:95px; padding-bottom:90px; }
.oc-section-heading { max-width:680px; margin:0 auto 46px; text-align:center; }
.oc-kicker { color:var(--oc-red); font:700 11px/1.4 Arial,sans-serif; letter-spacing:.2em; }
.oc-section-heading h2 { font:400 clamp(2.25rem,4vw,3.8rem)/1.15 Georgia,serif; letter-spacing:-.035em; color:var(--oc-ink); margin:12px 0; }
.oc-section-heading p { color:#5e5752; font-size:16px; line-height:1.7; margin:0; }
.service-item { box-shadow:0 9px 28px rgba(52,38,26,.08); border:1px solid #e7ded1; border-radius:4px; overflow:hidden; }
.service-item-overlay .badge { top:auto; bottom:0; left:0; border-radius:0; padding:12px 16px; background:rgba(36,31,29,.91); font-size:13px; font-weight:600; letter-spacing:.03em; }
.service-item .service-content:empty { display:none; }
.service-item-overlay:before { display:none; }
.oc-section-action { text-align:center; margin-top:38px; }
.oc-section-action a { display:inline-block; border-bottom:1px solid var(--oc-red); padding:8px 0; color:var(--oc-red); font-size:14px; font-weight:700; text-decoration:none; }
.oc-section-action span { margin-left:14px; }
.sponsors-section { background:#f5f2ed; }
.about-section,.contact-details-section { background:#faf8f4; }
.about-heading h2,.heading-default h2,.oc-eventos-intro h1 { font-family:Georgia,serif; letter-spacing:-.025em; }
.about-section .about-panel { line-height:1.8; }
.main-footer .footer-above { padding-top:65px; padding-bottom:35px; }
.footer-above .widget-contact { border:1px solid rgba(255,255,255,.22); border-radius:3px; padding:24px; }
.footer-copyright .widget-center .widget { background:rgba(0,0,0,.65); }
@media (max-width:767px) {
  .main-mobile-nav { box-shadow:0 2px 15px rgba(0,0,0,.12); }
  .main-content h4 { font-size:11px; margin-bottom:10px; }
  .main-content h1 { font-size:clamp(1.85rem,7vw,2.5rem); line-height:1.12; margin-bottom:10px; }
  .main-content p { font-size:14px; line-height:1.45; }
  .main-slider div.main-content { margin:0; }
  .service-home { padding-top:64px; padding-bottom:60px; }
  .oc-section-heading { margin-bottom:30px; }
  .oc-section-action { margin-top:28px; }
}
@media (max-width: 767px) {
  .home-slider .owl-item .item > img { min-height:340px; object-fit:cover; }
  .main-content .btn:not(.btn-play) { min-height:44px; padding:12px 18px; font-size:13px; }
}
.main-content .btn[data-text]::before,.main-content .btn[data-text]::after,.main-menu-right .btn[data-text]::before,.main-menu-right .btn[data-text]::after { content:none; }
.main-content .btn[data-text] > span,.main-menu-right .btn[data-text] > span { opacity:1; transform:none; }
.service-item .service-content:not(:has(*)) { display:none; }

/* Ementa, bebidas e celebrações: extensões do tema existente. */
.oc-cartas-page { background:#f8f5ef; color:#292626; }
.oc-cartas-wrap { width:min(1120px, 88%); margin-inline:auto; }
.oc-cartas-hero { padding:95px 0 90px; color:#fff; background:linear-gradient(90deg,rgba(27,21,21,.90),rgba(27,21,21,.48)),url('../../uploads/2023/11/WhatsApp-Image-2023-11-26-at-22.05.49-768x1024.jpeg') center 47%/cover; }
.oc-cartas-hero h1 { color:#fff; font:400 clamp(2.8rem,5vw,4.8rem)/1.1 Georgia,serif; letter-spacing:-.035em; margin:0 0 16px; }
.oc-cartas-hero p:not(.oc-cartas-kicker) { max-width:650px; font-size:18px; line-height:1.6; margin:0; }
.oc-cartas-kicker,.oc-cartas-label { color:#a91929; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.18em; margin:0 0 16px; }
.oc-cartas-hero .oc-cartas-kicker { color:#f1d8ac; }
.oc-cartas-content { padding-top:64px; padding-bottom:95px; }
.oc-cartas-tabs { display:flex; border-bottom:1px solid #d8cec2; gap:34px; margin-bottom:42px; }
.oc-cartas-tabs a { display:block; text-decoration:none; color:#544a44; padding:0 0 14px; font-weight:700; }
.oc-cartas-tabs a[aria-current="page"] { color:#a91929; border-bottom:3px solid #a91929; }
.oc-cartas-empty { max-width:720px; padding:40px; background:#fff; border:1px solid #e7ded2; border-left:4px solid #a91929; box-shadow:0 12px 35px rgba(50,35,25,.05); }
.oc-cartas-page h2 { font:400 clamp(2rem,3.4vw,3rem)/1.2 Georgia,serif; color:#282324; letter-spacing:-.025em; margin:0 0 18px; }
.oc-cartas-empty p:not(.oc-cartas-label),.oc-eventos-grid p:not(.oc-cartas-label) { font-size:17px; line-height:1.8; color:#534b47; }
.oc-cartas-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; margin-top:26px; }
.oc-cartas-button { display:inline-block; padding:14px 20px; background:#a91929; border:1px solid #a91929; border-radius:3px; color:#fff !important; font-weight:700; text-decoration:none !important; }
.oc-cartas-button:hover { background:#7e1320; }
.oc-cartas-textlink,.oc-cartas-note a { color:#981525; font-weight:700; text-decoration:underline; }
.oc-cartas-note { margin-top:32px; font-size:14px; color:#655d57; line-height:1.7; }
.oc-eventos-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.oc-eventos-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:3px; }
.oc-categoria { max-width:760px; margin-bottom:50px; }
.oc-prato { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid #e0d7cb; }
.oc-prato h3 { font:600 19px/1.3 Arial,sans-serif; margin:0 0 5px; }
.oc-prato p { margin:0; color:#625b55; }.oc-prato > span { font-weight:700; white-space:nowrap; }
@media (min-width:768px) and (max-width:1199px) { .main-navigation-area .main-menu > li.menu-item > a { font-size:13px; padding-inline:5px; letter-spacing:0; } .main-navigation-area .main-menu-right > ul { padding-left:4px; } .main-navigation-area .main-menu-right .btn { padding:12px 10px; font-size:12px; } }
@media (max-width:767px) { .oc-cartas-hero { padding:65px 0; } .oc-cartas-content { padding-top:38px; padding-bottom:60px; } .oc-cartas-empty { padding:26px 22px; } .oc-eventos-grid { grid-template-columns:1fr; gap:30px; } .oc-cartas-actions { align-items:flex-start; flex-direction:column; gap:16px; } }
@media (min-width:768px) and (max-width:1199px) { .main-navigation-area .main-menu > li.menu-item > a { padding-inline:4px; } }
.main-navbar .main-menu > li > a[aria-current="page"] { color:#a91929; }

/* Cartas: apresentação editorial que acompanha os conteúdos do backoffice. */
.oc-cartas-page { background:#f3eee5; }
.oc-cartas-hero { padding:72px 0 76px; background-position:center 50%; }
.oc-cartas-content { padding-top:45px; }
.oc-cartas-tabs { justify-content:center; gap:0; border:1px solid #d9cbb9; background:#fffdf9; max-width:440px; margin:0 auto 60px; }
.oc-cartas-tabs a { width:50%; text-align:center; padding:15px 18px; color:#4c4039; font:700 13px/1.3 Arial,sans-serif; letter-spacing:.06em; }
.oc-cartas-tabs a + a { border-left:1px solid #e5dacf; }
.oc-cartas-tabs a[aria-current="page"] { background:#921c2a; border-bottom:0; color:#fff; }
.oc-cartas-tabs a:hover { text-decoration:underline; }
.oc-carta-intro { display:flex; align-items:end; gap:28px; margin:0 0 25px; }
.oc-carta-overline { margin:0 0 9px; color:#9e2630; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.18em; }
.oc-cartas-page .oc-carta-intro h2 { font-size:clamp(2.25rem,4vw,3.6rem); white-space:nowrap; margin:0; }
.oc-carta-intro-line { height:1px; background:#c9b9a4; flex:1; margin-bottom:12px; }
.oc-categorias-nav { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 34px; }
.oc-categorias-nav a { display:inline-block; padding:9px 15px; border:1px solid #d8cabb; border-radius:2px; color:#5b4c43; background:transparent; text-decoration:none; font:600 13px/1.4 Arial,sans-serif; }
.oc-categorias-nav a:hover,.oc-categorias-nav a:focus-visible { border-color:#921c2a; color:#921c2a; background:#fffdf9; }
.oc-categorias-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.oc-categoria { scroll-margin-top:140px; max-width:none; margin:0; padding:30px 32px 14px; background:#fffdf9; border:1px solid #e4dacd; box-shadow:0 8px 28px rgba(68,46,26,.045); }
.oc-categoria-cabecalho { display:flex; gap:14px; align-items:baseline; padding-bottom:17px; border-bottom:1px solid #d7c7b4; }
.oc-categoria-numero { color:#a42932; font:700 11px/1 Arial,sans-serif; letter-spacing:.12em; }
.oc-cartas-page .oc-categoria h2 { font:400 clamp(1.75rem,2.8vw,2.3rem)/1.2 Georgia,serif; color:#322822; margin:0; }
.oc-prato { align-items:baseline; padding:19px 0; border-bottom:1px solid #eee7df; gap:16px; }
.oc-prato:last-child { border-bottom:0; }
.oc-prato-info { flex:1; min-width:0; }
.oc-prato h3 { color:#2e2724; font:600 17px/1.4 Arial,sans-serif; margin:0; }
.oc-prato p { margin:5px 0 0; font:400 14px/1.6 Arial,sans-serif; color:#685c52; }
.oc-prato .oc-prato-preco { color:#8e1f2a; font:700 16px/1.4 Arial,sans-serif; white-space:nowrap; }
.oc-cartas-content > .oc-cartas-note { max-width:720px; margin:36px auto 0; text-align:center; }
@media(max-width:767px) {
 .oc-cartas-hero { padding:54px 0 58px; }
 .oc-cartas-content { padding-top:32px; }
 .oc-cartas-tabs { margin-bottom:42px; }
 .oc-carta-intro { gap:15px; }
 .oc-carta-overline { font-size:10px; }
 .oc-categorias-nav { gap:7px; margin-bottom:25px; }
 .oc-categorias-nav a { padding:8px 11px; }
 .oc-categorias-grid { grid-template-columns:1fr; gap:14px; }
 .oc-categoria { padding:24px 22px 8px; scroll-margin-top:110px; }
 .oc-prato { gap:12px; }
 .oc-prato h3 { font-size:16px; }
 .oc-prato .oc-prato-preco { font-size:15px; }
}

/* Ementa diária programada no WordPress. */
.oc-dia-home { background:#252120; color:#fff; padding:85px 0; }
.oc-dia-wrap { width:min(1120px,88%); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
.oc-dia-kicker { color:#dfc291; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.2em; margin:0 0 16px; }
.oc-dia-intro h2 { font:400 clamp(2.7rem,4.5vw,4.5rem)/1.1 Georgia,serif; color:#fff; letter-spacing:-.035em; margin:0 0 18px; }
.oc-dia-intro > p:not(.oc-dia-kicker) { color:#e5dcd4; font:400 17px/1.7 Arial,sans-serif; max-width:420px; }
.oc-dia-outline { display:inline-block; margin-top:20px; padding:12px 0; color:#fff !important; border-bottom:1px solid #d7b77e; font-weight:700; text-decoration:none !important; }
.oc-dia-outline span,.oc-dia-call span { margin-left:14px; }
.oc-dia-card { padding:34px 38px; background:#fffdf9; border-top:4px solid #a91929; color:#2b2623; box-shadow:0 12px 32px rgba(0,0,0,.12); }
.oc-dia-data { color:#a91929; text-transform:uppercase; font:700 12px/1.4 Arial,sans-serif; letter-spacing:.17em; margin:0 0 20px; }
.oc-dia-card h3,.oc-dia-card-pagina h2 { font:400 30px/1.2 Georgia,serif; color:#2b2623; margin:0 0 14px; }
.oc-dia-card p:not(.oc-dia-data):not(.oc-dia-demo) { color:#5c524d; font:400 15px/1.7 Arial,sans-serif; }
.oc-dia-lista { color:#302723; font:600 17px/2 Arial,sans-serif; overflow-wrap:anywhere; }
.oc-dia-demo { background:#fff0c9; border-left:3px solid #af771b; padding:8px 10px; color:#6e4000; font:700 11px/1.5 Arial,sans-serif; letter-spacing:.04em; }
.oc-dia-call { display:inline-block; color:#981525 !important; font:700 14px/1.4 Arial,sans-serif; text-decoration:none !important; border-bottom:1px solid #981525; padding:0 0 6px; margin-top:22px; }
.oc-dia-card-pagina { max-width:720px; border:1px solid #e4dace; border-top:4px solid #a91929; }
.oc-dia-nota { color:#655d57; font-size:14px; margin:25px 0; }
@media(max-width:767px) { .oc-dia-home { padding:60px 0; } .oc-dia-wrap { grid-template-columns:1fr; gap:34px; } .oc-dia-card { padding:28px 24px; } .oc-dia-lista { font-size:16px; } }

/* O camelo acompanha os preços informados para o buffet. */
.oc-buffet { display:grid; grid-template-columns:minmax(100px,145px) minmax(0,1fr); align-items:center; max-width:500px; margin:25px 0 12px; gap:9px; }
.oc-buffet-camelo { color:#d8b579; align-self:end; }
.oc-buffet-camelo svg { display:block; width:100%; height:auto; overflow:visible; }
.oc-camelo-corpo,.oc-camelo-pescoco,.oc-gota { fill:currentColor; }
.oc-buffet-balao { position:relative; padding:18px 19px; background:#fffaf1; border:1px solid #d7b77e; border-radius:7px; color:#322622; box-shadow:0 8px 22px rgba(0,0,0,.1); }
.oc-buffet-balao::before { content:''; position:absolute; top:50%; left:-10px; width:18px; height:18px; background:#fffaf1; border-left:1px solid #d7b77e; border-bottom:1px solid #d7b77e; transform:translateY(-50%) rotate(45deg); }
.oc-buffet-label { margin:0 0 10px !important; color:#8d1b28 !important; font:700 10px/1.4 Arial,sans-serif !important; letter-spacing:.16em; }
.oc-buffet-linha { display:flex; justify-content:space-between; align-items:baseline; gap:10px; font:600 13px/1.4 Arial,sans-serif; }
.oc-buffet-linha + .oc-buffet-linha { border-top:1px solid #eadfce; margin-top:9px; padding-top:9px; }
.oc-buffet-linha strong { color:#991a2b; white-space:nowrap; font:700 23px/1.1 Georgia,serif; }
.oc-dia-pagina .oc-buffet { margin:0 0 32px; }
.oc-dia-pagina .oc-buffet-camelo { color:#9b2330; }
.oc-dia-home { margin-bottom:72px; }
@media(max-width:767px) { .oc-buffet { grid-template-columns:minmax(78px,105px) minmax(0,1fr); gap:6px; } .oc-buffet-balao { padding:14px; } .oc-buffet-linha { font-size:12px; } .oc-buffet-linha strong { font-size:20px; } .oc-dia-home { margin-bottom:44px; } }
.oc-buffet-dia { color:#57453d !important; font:600 13px/1.4 Arial,sans-serif !important; margin:0 0 5px !important; text-transform:capitalize; }
.oc-buffet-valor { display:block; color:#991a2b; font:700 37px/1.1 Georgia,serif; }
.oc-buffet-dia { text-transform:none; }

/* Navegação principal e submenu da galeria. */
@media (min-width:768px) {
  .main-navigation-area .main-navigation > .container > .row { align-items:center; }
  .main-navigation-area .navbar-area { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
  .main-navigation-area .main-navbar { min-width:0; }
  .main-navigation-area .main-navbar ul.main-menu { display:flex; align-items:center; justify-content:flex-end; gap:4px; }
  .main-navigation-area .main-navbar .main-menu > li { display:block; margin:0; }
  .main-navigation-area .main-navbar .main-menu > li.menu-item > a { display:flex; align-items:center; min-height:94px; line-height:1.25; padding:0 10px; white-space:nowrap; font-size:14px; }
  .main-navigation-area .main-navbar .main-menu > li.menu-item-has-children > a::after { content:''; width:7px; height:7px; margin-left:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
  .main-navigation-area .main-navbar .main-menu > li > .dropdown-menu { top:calc(100% - 8px); left:0; width:210px; min-width:210px; padding:7px; border:1px solid #e9e1d9; border-top:3px solid #a91929; border-radius:0 0 5px 5px; background:#fffdf9; box-shadow:0 14px 28px rgba(33,25,21,.16); transform:translateY(5px); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
  .main-navigation-area .main-navbar .dropdown-menu::before,.main-navigation-area .main-navbar .dropdown-menu::after { display:none; }
  .main-navigation-area .main-navbar .main-menu .menu-item:hover > .dropdown-menu,.main-navigation-area .main-navbar .main-menu .menu-item:focus-within > .dropdown-menu,.main-navigation-area .main-navbar .main-menu .menu-item.focus > .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
  .main-navigation-area .main-navbar .dropdown-menu li a { border:0; border-radius:3px; padding:12px 13px; font:600 14px/1.35 Arial,sans-serif; color:#322825; }
  .main-navigation-area .main-navbar .dropdown-menu li a:hover,.main-navigation-area .main-navbar .dropdown-menu li a:focus-visible { background:#f7eee7; color:#921c2a; }
  .main-navigation-area .main-menu-right > ul { padding-left:0; }
}
@media (min-width:768px) and (max-width:1199px) {
  .main-navigation-area .navbar-area { gap:6px; }
  .main-navigation-area .main-navbar ul.main-menu { gap:0; }
  .main-navigation-area .main-navbar .main-menu > li.menu-item > a { font-size:12px; padding:0 5px; min-height:84px; }
  .main-navigation-area .main-navbar .main-menu > li.menu-item-has-children > a::after { width:6px; height:6px; margin-left:5px; }
  .main-navigation-area .main-menu-right .btn { padding:12px 10px; font-size:12px; }
}
@media (max-width:767px) {
  .main-mobile-menu ul.main-menu { max-height:min(65vh, 540px); overflow-y:auto; }
  .main-mobile-build { max-width:480px; border-radius:0 0 6px 6px; }
  .main-mobile-menu ul.main-menu > li a { padding:2px 20px; line-height:46px; }
  .main-mobile-menu .mobile-collapsed > button { min-width:50px; min-height:50px; background:#f8f3ec; }
  .main-mobile-menu ul.main-menu li.menu-item-has-children ul.dropdown-menu li > a { padding:5px 30px; background:#faf6f0; color:#8c1d2a; }
}
@media (max-width:767px) {
  .main-mobile-menu .mobile-collapsed > button:hover,.main-mobile-menu .mobile-collapsed > button:focus { background:#a91929; color:#fff; }
  .main-mobile-menu ul.main-menu > li.oc-mobile-reserve > a { background:#a91929; color:#fff; font-weight:700; }
  .main-mobile-menu ul.main-menu > li.oc-mobile-reserve > a:hover,.main-mobile-menu ul.main-menu > li.oc-mobile-reserve > a:focus { background:#811320; color:#fff; }
}
/* Em tablets de toque, o botão de submenu é mais fiável do que depender de hover. */
@media (min-width:768px) and (max-width:991px) and (hover:none) {
  .main-navigation-area.d-none { display:none !important; }
  div.main-mobile-nav { display:block !important; }
  .main-mobile-menu ul.main-menu { max-height:min(65vh, 540px); overflow-y:auto; }
  .main-mobile-build { max-width:480px; border-radius:0 0 6px 6px; }
  .main-mobile-menu ul.main-menu > li a { padding:2px 20px; line-height:46px; }
  .main-mobile-menu .mobile-collapsed > button { min-width:50px; min-height:50px; background:#f8f3ec; }
  .main-mobile-menu .mobile-collapsed > button:hover,.main-mobile-menu .mobile-collapsed > button:focus { background:#a91929; color:#fff; }
  .main-mobile-menu ul.main-menu li.menu-item-has-children ul.dropdown-menu li > a { padding:5px 30px; background:#faf6f0; color:#8c1d2a; }
  .main-mobile-menu ul.main-menu > li.oc-mobile-reserve > a { background:#a91929; color:#fff; font-weight:700; }
}

/* O tema colocava um retângulo pontilhado no menu após o clique. */
.main-header .main-navbar .main-menu a:focus,
.main-header .main-mobile-menu .main-menu a:focus { outline:none !important; }
.main-header .main-navbar .main-menu a:focus-visible,
.main-header .main-mobile-menu .main-menu a:focus-visible { outline:none !important; color:#921c2a; text-decoration:underline !important; text-decoration-thickness:2px !important; text-underline-offset:6px; }
.main-header .main-mobile-menu .main-menu .oc-mobile-reserve a:focus-visible { color:#fff; }

/* Cartas: cinco apresentações, com os mesmos conteúdos e navegação. */
.oc-categorias-instrucao { margin:0 0 12px; color:#746253; font:700 11px/1.4 Arial,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.oc-categorias-nav a { border-radius:40px; padding:10px 18px; background:#fffdf9; }
.oc-categorias-nav a:focus-visible { outline:3px solid #921c2a; outline-offset:3px; }
.oc-categoria { border-top:3px solid #9b2933; padding-top:28px; }
.oc-categoria-cabecalho { align-items:center; }
.oc-prato { display:flex; align-items:baseline; }
.oc-estilo-editorial .oc-categorias-grid { grid-template-columns:1fr; gap:0; max-width:860px; margin:auto; border:1px solid #d9cabb; background:#fffdf9; }
.oc-estilo-editorial .oc-categoria { border:0; border-bottom:1px solid #d9cabb; box-shadow:none; padding:38px clamp(24px,6vw,70px) 20px; }
.oc-estilo-editorial .oc-categoria:last-child { border-bottom:0; }
.oc-estilo-editorial .oc-categoria-cabecalho { border-bottom:2px solid #312820; }
.oc-estilo-rustica { background:#e9dfcb; }
.oc-estilo-rustica .oc-categoria { background:#faf4e8; border:1px solid #cbb99c; border-top:5px solid #826341; box-shadow:0 5px 0 rgba(100,74,47,.1); }
.oc-estilo-rustica .oc-categoria-numero,.oc-estilo-rustica .oc-prato .oc-prato-preco { color:#77512f; }
.oc-estilo-rustica .oc-categoria-cabecalho { border-color:#bca687; }
.oc-estilo-contemporanea { background:#f2f3f0; }
.oc-estilo-contemporanea .oc-categoria { background:#fff; border:1px solid #e1e4df; border-radius:14px; box-shadow:0 12px 32px rgba(25,34,29,.06); padding:32px; }
.oc-estilo-contemporanea .oc-cartas-page .oc-categoria h2, .oc-estilo-contemporanea .oc-categoria h2 { font-family:Arial,sans-serif; font-size:1.65rem; font-weight:700; }
.oc-estilo-contemporanea .oc-categoria-numero { background:#eef0eb; color:#405748; padding:8px; border-radius:6px; }
.oc-estilo-contemporanea .oc-prato .oc-prato-preco { color:#405748; }
.oc-estilo-vinho { background:#49212a; }
.oc-estilo-vinho .oc-cartas-content > .oc-cartas-note, .oc-estilo-vinho .oc-categorias-instrucao, .oc-estilo-vinho .oc-carta-overline { color:#f4ded1; }
.oc-estilo-vinho .oc-carta-intro h2 { color:#fffaf2; }
.oc-estilo-vinho .oc-categoria { border:0; border-top:4px solid #b78b63; background:#fffaf2; }
@media(max-width:767px) {
 .oc-estilo-editorial .oc-categoria { padding:26px 22px 12px; }
 .oc-estilo-contemporanea .oc-categoria { padding:24px 22px 10px; }
}

/* A categoria escolhida apresenta apenas os seus próprios itens. */
.oc-categorias-nav a[aria-current="true"] { color:#fff; background:#921c2a; border-color:#921c2a; }
.oc-categorias-nav a[aria-current="true"]:hover,.oc-categorias-nav a[aria-current="true"]:focus-visible { color:#fff; background:#711521; }
.oc-categorias-grid.oc-filtrada { grid-template-columns:minmax(0,1fr); max-width:860px; margin-inline:auto; }
.oc-categoria[hidden] { display:none !important; }

/* Imagem principal mais compacta sem deformar a fotografia. */
.home-slider .owl-item .item > img { height:clamp(300px,34.3vw,602px); min-height:0; max-height:none; width:100%; object-fit:cover; object-position:center; }
@media(max-width:767px) { .home-slider .owl-item .item > img { height:300px; min-height:300px; } }

/* Acabamentos das fotografias e do vídeo das páginas institucionais. */
.page-id-28 .p-dwz9814 .pagelayer-img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.page-id-28 .pagelayer-grid-gallery-ul { justify-items:center; align-items:center; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,2vw,24px); padding:0; }
.page-id-28 .pagelayer-grid-gallery-ul .pagelayer-gallery-item { width:100%; text-align:center; }
.page-id-28 .pagelayer-grid-gallery-ul .pagelayer-img { width:min(100%,150px); aspect-ratio:1; object-fit:cover; border-radius:10px; }
.page-id-205 .about-section img.wp-image-20,.page-id-205 .whychoose-footer img.wp-image-20 { border-radius:12px; }
.page-id-205 .about-summery { border-radius:12px; overflow:hidden; }
.page-id-205 .wp-video { width:100% !important; max-width:100%; margin:0 auto; }
.page-id-205 .wp-video .mejs-container { width:100% !important; max-width:100%; aspect-ratio:16/9; height:auto !important; border-radius:12px; overflow:hidden; }
.page-id-205 .wp-video video { width:100% !important; height:100% !important; }
.oc-eventos-programa { padding:58px 0 12px; scroll-margin-top:130px; }
.oc-eventos-programa > h2 { font:400 clamp(2rem,4vw,3rem)/1.15 Georgia,serif; color:#322822; margin:0 0 24px; }
.oc-eventos-lista { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.oc-evento-card { overflow:hidden; border:1px solid #e2d5c6; background:#fffdf9; box-shadow:0 8px 28px rgba(68,46,26,.06); border-radius:8px; }
.oc-evento-imagem img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.oc-evento-texto { padding:26px; }
.oc-evento-texto h3 { font:400 1.7rem/1.25 Georgia,serif; color:#322822; margin:0 0 12px; }
.oc-evento-descricao { color:#51483f; line-height:1.65; overflow-wrap:anywhere; }
.oc-evento-descricao > :last-child { margin-bottom:0; }
.oc-eventos-vazio { border-left:3px solid #991d2d; background:#fffdf9; padding:20px 24px; color:#51483f; }
@media(max-width:767px) { .oc-eventos-lista { grid-template-columns:1fr; } .oc-eventos-programa { padding-top:42px; } }
/* Mantém o vídeo centrado com as fotografias na página Quem Somos. */
.page-id-205 table:has(.wp-video) { width:100%; }
.page-id-205 table:has(.wp-video) tr,.page-id-205 table:has(.wp-video) td { display:block; width:100% !important; }
.page-id-205 table:has(.wp-video) td { text-align:center; }
.page-id-205 table:has(.wp-video) td + td { margin-top:18px; }

/* Transição e galeria compacta depois da ementa do dia. */
.home .oc-dia-home { margin-bottom:0; }
.home .gallery-homepage { background:#f8f5ef; padding:54px 0 65px; }
.home .oc-galeria-intro { width:min(1040px,88%); margin:0 auto 30px; text-align:center; }
.home .oc-galeria-intro p { margin:0 0 10px; color:#982334; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.18em; }
.home .oc-galeria-intro h2 { margin:0; color:#302522; font:400 clamp(1.9rem,3.2vw,2.8rem)/1.18 Georgia,serif; letter-spacing:-.025em; }
.home .oc-galeria-intro span { display:block; width:42px; height:2px; background:#b88e57; margin:17px auto 0; }
.home .gallery-homepage .container-fluid { width:min(1040px,88%); margin-inline:auto; }
.home .gallery-homepage .gallery-item { margin:0 7px; border-radius:8px; }
.home .gallery-homepage .gallery-icon img { display:block; width:100%; height:clamp(135px,16vw,180px); object-fit:cover; }
.home .gallery-homepage .gallery-item figcaption { font-size:14px; padding:12px; }
@media(max-width:767px) {
 .home .gallery-homepage { padding:42px 0 50px; }
 .home .gallery-homepage .container-fluid { width:min(290px,78%); }
 .home .gallery-homepage .gallery-icon img { height:170px; }
}

/* Ajustes dos cartões, secções e suporte para ecrãs largos. */
.home .sponsors-items { min-width:0; min-height:148px; max-width:224px; padding:14px; border-radius:12px; overflow:hidden; }
.home .sponsors-items .sponsors-img { width:120px; height:120px; }
.home .sponsors-items img { width:120px; height:120px; object-fit:contain; }
.home .sponsors-home { padding-top:65px; padding-bottom:65px; }
.page-id-205 #whychoose-section { padding-top:65px; padding-bottom:48px; }
.page-id-205 #team-section { padding-top:48px; }
.page-id-205 #whychoose-section .whychoose-panel > .heading-default { text-align:center; }
.page-id-205 #whychoose-section .whychoose-panel > .heading-default .hr-line { margin-inline:auto; }
@media(min-width:768px) {
 .page-id-205 table:has(.wp-video) tr { display:flex; align-items:center; justify-content:center; gap:32px; }
 .page-id-205 table:has(.wp-video) td { display:block; width:calc(50% - 16px) !important; flex:0 1 calc(50% - 16px); }
 .page-id-205 table:has(.wp-video) td + td { margin-top:0; }
 .page-id-205 table:has(.wp-video) td img { max-width:100%; height:auto; border-radius:10px; }
}
@media(max-width:767px) { .page-id-205 #whychoose-section { padding-top:45px; padding-bottom:35px; } .page-id-205 #team-section { padding-top:35px; } }
.home .gallery-homepage .image-gallery-link { position:relative; display:block; }
.home .gallery-homepage .oc-imagem-ilustrativa { position:absolute; right:5px; bottom:5px; z-index:3; padding:3px 5px; color:#fff; background:rgba(24,20,17,.9); font:600 10px/1.2 Arial,sans-serif; border-radius:3px; }

/* Zona Oeste: dois parceiros de cada lado do título em ecrãs largos. */
@media(min-width:1200px) {
 .home .sponsors-home > .container > .row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; align-items:center; }
 .home .sponsors-home > .container > .row > .col-lg-4 { grid-column:3; grid-row:1; width:auto; max-width:none; margin:0 !important; text-align:center; }
 .home .sponsors-home > .container > .row > .col-lg-8,.home .sponsors-home .sponsor-content { display:contents; }
 .home .sponsors-home .sponsor-content > div { grid-row:1; width:auto; max-width:none; padding:0; margin:0; }
 .home .sponsors-home .sponsor-content > div:nth-child(1) { grid-column:1; }
 .home .sponsors-home .sponsor-content > div:nth-child(2) { grid-column:2; }
 .home .sponsors-home .sponsor-content > div:nth-child(3) { grid-column:4; }
 .home .sponsors-home .sponsor-content > div:nth-child(4) { grid-column:5; }
 .home .sponsors-home .heading-default .hr-line { margin-inline:auto; }
 .home .sponsors-home .heading-default h2 { font-size:clamp(1.9rem,2.3vw,2.8rem); }
 .home .sponsors-home .heading-default p { font-size:18px; }
 .home .gallery-homepage .container-fluid { width:min(1440px,92%); }
 .home .gallery-homepage .gallery-item { margin:0 11px; }
}

/* Pedidos de reserva com confirmação de e-mail. */
.oc-reserva { max-width:760px; margin:35px auto; padding:clamp(24px,4vw,44px); background:#fffdf9; border:1px solid #e4d9cc; border-top:4px solid #9d1d2d; border-radius:10px; box-shadow:0 10px 35px rgba(44,29,22,.07); color:#312923; text-align:left; }
.oc-reserva-intro h2,.oc-reserva-confirmar h1 { color:#302520; font:400 clamp(2rem,4vw,3rem)/1.15 Georgia,serif; margin:0 0 12px; }
.oc-reserva-intro p:not(.oc-reserva-kicker),.oc-reserva-confirmar p { color:#5d514a; line-height:1.6; margin:0 0 22px; }
.oc-reserva-kicker { color:#941d2d; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.16em; margin:0 0 9px; }
.oc-reserva-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.oc-reserva-form label { display:block; font:700 14px/1.4 Arial,sans-serif; color:#3d322b; }
.oc-reserva-form label span[aria-hidden] { color:#9d1d2d; }
.oc-reserva-form input:not([type=checkbox]),.oc-reserva-form textarea { display:block; width:100%; min-width:0; margin-top:7px; padding:12px; border:1px solid #bfb2a4; border-radius:5px; background:#fff; color:#251f1c; font:400 16px/1.4 Arial,sans-serif; }
.oc-reserva-mensagem { margin-top:18px; }
.oc-reserva-mensagem > span { font-weight:400; color:#675a51; }
.oc-reserva-form .oc-reserva-consent { display:flex; gap:10px; align-items:flex-start; margin:20px 0; font-weight:400; line-height:1.55; }
.oc-reserva-consent input { margin-top:4px; flex:none; }
.oc-reserva a { color:#8f1729; text-decoration:underline; }
.oc-reserva button { display:inline-block; border:0; border-radius:5px; background:#981b2e; color:white; padding:14px 22px; font:700 15px/1.4 Arial,sans-serif; cursor:pointer; }
.oc-reserva button:hover { background:#701424; }
.oc-reserva-telefone { margin:18px 0 0; font-size:14px; }
.oc-reserva-notice { margin:0 0 22px; padding:14px 16px; border-left:4px solid #326d42; background:#eef7ef; color:#1b4127; line-height:1.5; }
.oc-reserva-notice-error { border-color:#a2212b; background:#fff0ed; color:#6d1820; }
.oc-reserva-campo-oculto { position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
.oc-reserva-confirmar { background:#f7f3ed; padding:45px 6%; }
@media(max-width:600px) { .oc-reserva { margin:24px auto; padding:24px 20px; } .oc-reserva-grid { grid-template-columns:1fr; gap:14px; } .oc-reserva button { width:100%; } }

/* Eventos organizados por data, sem ocultar eventos antigos ou sem data. */
.oc-eventos-grupo { margin-top:38px; }
.oc-eventos-grupo > h3 { color:#342923; font:400 clamp(1.65rem,2.5vw,2.2rem)/1.25 Georgia,serif; margin:0 0 18px; }
.oc-evento-texto h4 { font:400 1.7rem/1.25 Georgia,serif; color:#322822; margin:0 0 12px; }
.oc-evento-texto .oc-evento-data { color:#921c2a; font:700 12px/1.5 Arial,sans-serif; letter-spacing:.04em; margin:0 0 10px; }
.oc-eventos-lista > .oc-evento-card:only-child { grid-column:1 / -1; width:min(100%,620px); justify-self:center; }

/* Identificação fora das imagens geradas. */
.home .oc-galeria-intro .oc-galeria-nota { margin:12px 0 0; color:#67594e; font:400 12px/1.5 Arial,sans-serif; letter-spacing:0; text-transform:none; }
