/* Theme-independent presentation for Tam Le Core public components. */
.tam-theme-logo { width:auto;height:auto; }
.tam-theme-logo--shared,.tam-theme-logo--dark { display:block!important; }
.tam-theme-logo--light { display:none!important; }
html[data-tam-theme="light"] .tam-theme-logo--light { display:block!important; }
html[data-tam-theme="light"] .tam-theme-logo--dark { display:none!important; }

/* WordPress Admin Bar is also rendered on the public site for signed-in users. */
body.admin-bar #wpadminbar .tam-admin-brand {
  display:inline-flex!important;
  align-items:center;
  min-width:0;
  height:32px;
  gap:7px;
  vertical-align:top;
}
body.admin-bar #wpadminbar .tam-admin-brand-logo {
  display:inline-block!important;
  flex:0 0 auto;
  width:auto!important;
  max-width:25px!important;
  height:25px!important;
  max-height:25px!important;
  margin:3px 0 4px!important;
  object-fit:contain;
}
body.admin-bar #wpadminbar .tam-admin-brand>span:last-child {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media screen and (max-width:782px) {
  body.admin-bar #wpadminbar .tam-admin-brand { height:46px; }
  body.admin-bar #wpadminbar .tam-admin-brand-logo { margin-top:10px!important; }
  body.admin-bar #wpadminbar .tam-admin-brand>span:last-child {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }
}
html[data-tam-theme] .tam-le-form,
html[data-tam-theme] .tam-suite-form,
html[data-tam-theme] .tam-booking-form {
  color: var(--tam-color-text-soft);
}
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) .form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) .field-full { grid-column:1/-1; }
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) label { display:grid;gap:7px;color:var(--tam-color-text-soft);font-weight:600; }
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) :is(input,select,textarea) {
  box-sizing:border-box;
  width:100%;
  min-height:46px;
  padding:11px 13px;
  border:1px solid color-mix(in srgb,var(--tam-color-accent) 28%,transparent);
  border-radius:9px;
  background:var(--tam-color-surface);
  color:var(--tam-color-text);
  font:inherit;
}
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) textarea { min-height:120px;resize:vertical; }
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) input[type="checkbox"] { width:18px;min-height:18px;margin:0 7px 0 0; }
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) :is(input,select,textarea):focus-visible {
  outline:3px solid color-mix(in srgb,var(--tam-color-accent) 30%,transparent);
  outline-offset:1px;
  border-color:var(--tam-color-accent);
}
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) .hp-field { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) .form-status { margin-top:10px;color:var(--tam-color-text-soft);font-weight:600; }
html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) :is(button,.btn),
html[data-tam-theme] :is(.tam-newsletter,.tam-resource-download,.tam-smart-popup) .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border:1px solid var(--tam-color-accent);
  border-radius:9px;
  background:var(--tam-color-accent);
  color:var(--tam-color-bg-deep);
  font:inherit;
  font-weight:750;
  text-decoration:none;
  cursor:pointer;
}
html[data-tam-theme] :is(.tam-suite-card,.tam-newsletter,.tam-testimonial,.tam-search-results article,.tam-resource-nav a,.tam-smart-popup,.tam-resource-download) {
  border-color:color-mix(in srgb,var(--tam-color-accent) 22%,transparent);
  background:var(--tam-color-surface);
  color:var(--tam-color-text-soft);
}
html[data-tam-theme] :is(.tam-suite-card,.tam-newsletter,.tam-testimonial,.tam-search-results article,.tam-smart-popup) :is(h2,h3,strong) { color:var(--tam-color-text); }
html[data-tam-theme] :is(.tam-suite-card,.tam-newsletter,.tam-testimonial,.tam-search-results article,.tam-smart-popup) p { color:var(--tam-color-text-soft); }
html[data-tam-theme] .tam-search-form :is(input,select) { background:var(--tam-color-surface);color:var(--tam-color-text); }
html[data-tam-theme] .tam-search-form select option { background:var(--tam-color-surface);color:var(--tam-color-text); }
.tam-standalone-theme-toggle {
  position:fixed;
  z-index:9998;
  right:18px;
  bottom:18px;
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--tam-color-accent) 45%,transparent);
  border-radius:50%;
  background:var(--tam-color-surface);
  color:var(--tam-color-accent);
  box-shadow:0 10px 30px rgba(0,0,0,.2);
  font-size:22px;
  cursor:pointer;
}
.tam-standalone-theme-toggle:focus-visible { outline:3px solid var(--tam-color-accent);outline-offset:3px; }
body.wp-admin .tam-standalone-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:1180px;margin-top:22px; }
body.wp-admin .tam-standalone-card { display:flex;gap:16px;padding:22px;border:1px solid var(--tam-admin-border-soft);border-radius:14px;background:var(--tam-admin-surface);color:var(--tam-admin-text);text-decoration:none; }
body.wp-admin .tam-standalone-card:hover { border-color:var(--tam-admin-gold);transform:translateY(-1px); }
body.wp-admin .tam-standalone-card>.dashicons { width:32px;height:32px;color:var(--tam-admin-gold);font-size:32px; }
body.wp-admin .tam-standalone-card h2 { margin:0 0 7px;color:var(--tam-admin-text); }
body.wp-admin .tam-standalone-card p { margin:0;color:var(--tam-admin-text-soft); }
@media(max-width:700px){html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) .form-grid{grid-template-columns:1fr}html[data-tam-theme] :is(.tam-le-form,.tam-suite-form,.tam-booking-form) .field-full{grid-column:auto}}
