/*
Theme Name: Tick Calculator
Theme URI: https://tickcalculator.com
Author: Tick Calculator
Author URI: https://tickcalculator.com
Description: Custom theme for Tick Calculator — instant date and time calculations in all US timezones.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
License: Proprietary
Text Domain: tickcalculator
*/

:root{
--bg:#F3EEE2;
--bg-card:#EDE8D8;
--bg-dark:#1A1209;
--accent:#8B1818;
--accent-hover:#6E1212;
--accent-light:rgba(139,24,24,0.08);
--text:#1A1209;
--text-sec:#5C4A30;
--text-ter:#A87C2A;
--white:#FFFFFF;
--border:rgba(92,74,48,0.15);
--border-mid:rgba(92,74,48,0.25);
--font-head:Georgia,'Times New Roman',Times,serif;
--font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
--font-mono:'Courier New',Courier,monospace;
--container:1280px;
--pad:1.25rem;
--pad-lg:2rem;
--r:6px;
--r-lg:10px;
--r-xl:16px;
--shadow-sm:0 1px 3px rgba(26,18,9,0.07);
--shadow:0 2px 8px rgba(26,18,9,0.09),0 1px 3px rgba(26,18,9,0.05);
--shadow-md:0 4px 16px rgba(26,18,9,0.11),0 2px 6px rgba(26,18,9,0.06);
--t:150ms ease;
--t-md:250ms ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none!important;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
background:#F3EEE2;background:var(--bg);
color:#1A1209;color:var(--text);
font-family:var(--font-body);font-size:1rem;line-height:1.65;
-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,picture,video,canvas,svg{display:block;max-width:100%;}
input,button,textarea,select{font:inherit;}
p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;}
ul,ol{list-style:none;}
button{cursor:pointer;background:none;border:none;}
table{border-collapse:collapse;width:100%;}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-head);
font-weight:400;
line-height:1.25;
color:#1A1209;color:var(--text);
}

a{
color:#8B1818;color:var(--accent);
text-decoration-thickness:1px;
text-underline-offset:2px;
transition:color var(--t);
}
a:hover{color:#6E1212;color:var(--accent-hover);}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

.tc-mono{font-family:'Courier New',Courier,monospace;font-family:var(--font-mono);}

.screen-reader-text{
position:absolute;width:1px;height:1px;padding:0;margin:-1px;
overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.tc-skip-link{
position:absolute;top:-100%;left:0;z-index:9999;
padding:.6rem 1.25rem;
background:#8B1818;background:var(--accent);
color:#FFFFFF;color:var(--white);
font-weight:600;font-size:.9rem;
text-decoration:none;
}
.tc-skip-link:focus{top:0;}

.tc-container{
width:100%;max-width:var(--container);
margin-inline:auto;padding-inline:var(--pad);
}

.tc-main{min-height:60vh;}

.tc-section-title{
font-size:clamp(1.2rem,2.5vw,1.5rem);
font-family:var(--font-head);
font-weight:400;
color:#1A1209;color:var(--text);
margin-bottom:1rem;
padding-bottom:.5rem;
border-bottom:2px solid var(--border);
}

.tc-badge{
display:inline-block;
font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
padding:.15em .55em;border-radius:4px;vertical-align:middle;margin-left:.4em;
background:var(--accent-light);color:#8B1818;color:var(--accent);
}
.tc-badge--accent{background:#8B1818;background:var(--accent);color:#fff;}
.tc-badge--sm{font-size:.65rem;padding:.1em .45em;}

.tc-btn{
display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
padding:.6rem 1.25rem;border-radius:var(--r);
font-size:.9rem;font-weight:600;letter-spacing:.01em;
text-decoration:none;transition:background var(--t),color var(--t),border-color var(--t);
}
.tc-btn--accent{
background:#8B1818;background:var(--accent);color:#fff;
}
.tc-btn--accent:hover{background:#6E1212;background:var(--accent-hover);color:#fff;}
.tc-btn--ghost{
background:transparent;color:#8B1818;color:var(--accent);
border:1px solid #8B1818;border:1px solid var(--accent);
}
.tc-btn--ghost:hover{background:var(--accent-light);}
.tc-btn--lg{padding:.75rem 1.75rem;font-size:1rem;}
.tc-btn--full{width:100%;}

.tc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tc-spinner{
display:inline-block;width:16px;height:16px;
border:2px solid var(--border-mid);border-top-color:var(--accent);
border-radius:50%;animation:tc-spin .7s linear infinite;
}
@keyframes tc-spin{to{transform:rotate(360deg);}}