/* Resets only the downloaded public UI. Cart and account components keep their contracts. */
html.tdc-reference-page, html.tdc-modern { font-size: 16px; }
html.tdc-reference-page,
html.tdc-reference-page body { min-height: 100%; margin: 0; background: #000b24; color: #ededee; }
html.tdc-reference-page[data-theme="light"],
html.tdc-reference-page[data-theme="light"] body { background: #fff; color: #1e2022; }
.tdc-reference-shell { display: contents; }
.tdc-reference * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
    font: inherit;
    color: inherit;
}
:where(.tdc-reference) :is(h1,h2,h3,h4,h5,h6,p,button,a,ul,ol) {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-transform: none;
}
:where(.tdc-reference) :is(header,footer,main,section) { padding: 0; margin: 0; background: transparent; }
:where(.tdc-reference) :is(button,a) { text-decoration: none; }
:where(.tdc-reference) :is(ul,ol) { list-style: none; }
.tdc-reference img[style*="position:absolute"] { width: 100% !important; height: 100% !important; }
.tdc-reference li { float: none !important; position: static !important; width: auto !important; }
.tdc-reference nav li a { display: inline !important; padding: 0 !important; }
.tdc-public-content nav[aria-label="Caminho"] span { font-size: inherit !important; line-height: inherit !important; display: inline !important; }
.tdc-public-content .hidden { display: none !important; }
.tdc-public-content iframe[style*="display: none"], .tdc-public-content iframe[style*="display:none"] { display: none !important; }
.tdc-public-content .invalid-feedback { display: block; margin-top: 4px; color: #ef7777; font-size: 14px; }
.tdc-gallery-dialog { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 56px 64px 24px; border: 0; background: #000e; color: #fff; z-index: 10000; }
.tdc-gallery-dialog::backdrop { background: #000b; }
.tdc-gallery-dialog figure { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; margin: 0; }
.tdc-gallery-dialog img { display: block; max-width: 100%; max-height: calc(100% - 60px); width: auto; height: auto; object-fit: contain; }
.tdc-gallery-dialog button { position: absolute; border: 1px solid #ffffff50; background: #142747; color: white; border-radius: 6px; padding: 8px 14px; font: inherit; cursor: pointer; }
.tdc-gallery-dialog [data-gallery-close] { top: 12px; right: 16px; }
.tdc-gallery-dialog [data-gallery-prev] { left: 12px; top: 50%; }
.tdc-gallery-dialog [data-gallery-next] { right: 12px; top: 50%; }
.tdc-gallery-dialog p { margin: 0; color: white; text-align: center; font-size: 14px; line-height: 1.5; }
@media (max-width: 640px) { .tdc-gallery-dialog { padding: 60px 42px 24px; } .tdc-gallery-dialog [data-gallery-prev] { left: 4px; } .tdc-gallery-dialog [data-gallery-next] { right: 4px; } .tdc-gallery-dialog button { padding: 8px; } }
/* The shell uses display:contents, so the header itself owns the reference's
   sticky behavior. Keep the social strip outside it and below dialogs (z=60+). */
.tdc-reference [data-reference-header] { position: sticky !important; top: 0 !important; z-index: 40 !important; box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); }
.tdc-reference .tdc-ref-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    z-index: 60;
    width: 200px;
    padding: 4px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 8px;
    background: var(--color-header-bg) !important;
    color: var(--color-header-text) !important;
    box-shadow: 0 8px 24px #0003;
}
.tdc-reference .tdc-ref-dropdown[hidden] { display: none; }
.tdc-reference .tdc-ref-dropdown :is(a,button) {
    display: block !important;
    width: 100%;
    padding: 8px 12px !important;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 14px !important;
    line-height: 20px !important;
    text-align: left !important;
    text-transform: none !important;
}
.tdc-reference .tdc-ref-dropdown :is(a,button):hover { background: var(--color-surface-muted) !important; }
#frmLanguage { display: none; }
html.tdc-reference-page .modal-content {
    border: 1px solid #325489;
    border-radius: 12px;
    background: #0e2748;
    color: #ededee;
}
html.tdc-reference-page .modal :is(h3,h4,h5,p,label) { color: inherit; }
html.tdc-reference-page .modal :is(.modal-header,.modal-footer) { border-color: #23406b; }
html.tdc-reference-page .modal :is(input,select) { color-scheme: dark; }
html.tdc-reference-page[data-theme="light"] .modal-content { border-color: #e4e6ef; background: #fff; color: #1e2022; }
html.tdc-reference-page[data-theme="light"] .modal :is(input,select) { color-scheme: light; }

/* Legacy app page: reuse local photography and readable store links. */
#app .app-img { display: block; width: 100%; max-width: 520px; height: auto; border-radius: 12px; margin: 0 auto 24px; }
#app .learnmore { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
#app .tdc-store-button { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 8px; border: 1px solid var(--tdc-border); background: var(--tdc-surface-elevated); color: var(--tdc-text); font-size: 16px; }
#app .tdc-store-button i { font-size: 24px; }
