/* ==========================================================================
   EOHU Cannabis microsite stylesheet (HTML5UP-style design converted to
   pure CSS). WCAG 2.0 AA: contrast >= 4.5:1, visible focus, keyboard nav.
   Body font: shared Roboto; display font falls back to a slab/serif stack
   (legacy used Google Fonts Arvo + Source Sans Pro).
   ========================================================================== */

/* ── 1. Reset & base ── */
*, *::before, *::after { box-sizing: border-box; }
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
address, big, cite, code, del, em, img, ins, kbd, q, s, samp, small, strong,
sub, sup, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label,
legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,
details, figure, figcaption, footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
ul { list-style: none; }
img { border: 0; max-width: 100%; }
table { border-collapse: collapse; border-spacing: 0; }

body {
    font-family: 'robotoregular', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #333;
    background: #f0f0f0;
    overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 { color: #444; font-weight: 600; line-height: 1.3; }
a { color: #006b4f; text-decoration: underline; }
a:hover { color: #004d38; }
a:focus-visible, summary:focus-visible, button:focus-visible {
    outline: 3px solid #005a9e;
    outline-offset: 2px;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000;
    background: #fff;
    color: #005a9e;
    padding: .75rem 1rem;
    font-weight: bold;
}
.skip-link:focus { left: 0; top: 0; }

/* ── 2. Container / grid (HTML5UP subset used by the content) ── */
.container {
    width: 100%;
    max-width: 65em;
    margin: 0 auto;
    padding: 0 2em;
}
.row { display: flex; flex-wrap: wrap; margin: 0 -1em; }
.row > * { padding: 0 1em; width: 100%; }
.row.aln-left { justify-content: flex-start; }
.row.aln-center { justify-content: center; }
.row.aln-right { justify-content: flex-end; }
.row > .col-1 { width: calc(100% / 12); }
.row > .col-4 { width: calc(100% / 3); }
.row > .col-5 { width: calc(100% * 5 / 12); }
.row > .col-8 { width: calc(100% * 8 / 12); }
.row > .col-10 { width: calc(100% * 10 / 12); }
.row > .col-12 { width: 100%; }
@media screen and (max-width: 980px) {
    .row > .col-6-medium { width: 50%; }
    .row > .col-12-medium { width: 100%; }
}
@media screen and (max-width: 736px) {
    .row > .col-12-small { width: 100%; }
}

/* ── 3. Header + nav ── */
#header {
    background: #fff;
    text-align: center;
    border-bottom: solid 4px #000;
    padding: 2.5em 0 1.25em;
}
#header h1 {
    font-family: 'Rockwell', 'Arvo', Georgia, serif;
    font-weight: 700;
    color: #1f6a2e;
    font-size: 2.6em;
    letter-spacing: 4px;
}
#header h1 a { color: inherit; text-decoration: none; }
#header h1 a:hover { color: #15501f; }
#nav { margin-top: 1.25em; }
#nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .25em 1.5em; }
#nav ul li a {
    display: inline-block;
    padding: .45em .9em;
    color: #1f6a2e;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid transparent;
}
#nav ul li a:hover, #nav ul li a.active { color: #15501f; border-bottom-color: #1f6a2e; }

/* ── 4. Toolbar (phone / EOHU.ca / locale) ── */
.cannabis-toolbar {
    text-align: center;
    padding: .6em 1em;
    background: #fff;
    border-bottom: 1px solid #ddd;
    font-size: .95em;
}
.cannabis-toolbar a { color: #006b4f; font-weight: 600; text-decoration: none; }
.cannabis-toolbar a:hover { text-decoration: underline; }
.cannabis-toolbar span { color: #666; padding: 0 .4em; }

/* ── 5. Banner ── */
#banner {
    position: relative;
    overflow: hidden;
    background: url('../assets/cannabis/images/banner.jpg') center top / cover no-repeat;
    text-align: center;
    text-transform: uppercase;
    padding: 4.5em 0;
}
.banner-inner { position: relative; z-index: 1; max-width: 60em; margin: 0 auto; padding: 0 1em; }
#banner::before {
    content: "";
    position: absolute; inset: 0;
    background: rgba(15, 40, 20, .55);
}
#banner p {
    font-weight: 400;
    font-size: 1.6em;
    line-height: 1.4;
    letter-spacing: 2px;
    color: #fff;
}

/* ── 6. Main content ── */
#main { padding: 3em 0; background: #fff; }
#cannabis-main h2 { font-size: 1.5em; margin: 1.2em 0 .5em; color: #1f6a2e; }
#cannabis-main h3 { font-size: 1.2em; margin: 1em 0 .4em; color: #333; }
#cannabis-main p { margin: 0 0 1em; }
#cannabis-main ul, #cannabis-main ol { margin: 0 0 1em 1.4em; list-style: disc; }
#cannabis-main ol { list-style: decimal; }
#cannabis-main li { margin: .2em 0; }

/* Buttons (HTML5UP .button/.actions/.anchor) */
.button, .anchor {
    display: inline-block;
    background: #5f7a33;
    color: #fff !important;
    text-transform: uppercase;
    border-radius: 4px;
    border: 0;
    font-weight: 600;
    font-size: .85em;
    letter-spacing: 2px;
    padding: .85em 2.75em;
    text-decoration: none;
    box-shadow: 0 .125em .175em 0 rgba(0, 0, 0, .125);
}
.button:hover, .anchor:hover { background: #4f6829; }
.actions { display: flex; flex-wrap: wrap; gap: 1em; margin: 1.5em 0; list-style: none; }
.actions li { list-style: none; }

/* Images */
.image.featured { display: block; margin: 0 0 1.5em; }
.image.featured img { width: 100%; display: block; }
.image.featured.small img { width: 50%; margin: 0 auto; }

/* Responsive video */
.responsive-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 1em 0;
}
.responsive-video iframe, .responsive-video object, .responsive-video embed {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;
}

/* Tables */
.table { width: 100%; margin: 1em 0; }
.table-condensed { font-size: .95em; }
.table-striped tbody tr:nth-child(odd) { background: #f4f4f4; }
.table th, .table td { padding: .5em .75em; border-bottom: 1px solid #ddd; text-align: left; }
.table th { background: #eef3e6; font-weight: 700; }

/* ── 7. Footer ── */
#footer {
    background: #f0f0f0;
    border-top: solid 4px #000;
    padding: 2em 0 1em;
    text-align: center;
}
.footer-row { justify-content: center; }
.social-links { display: flex; justify-content: center; gap: 1rem; margin: 1em 0; }
.social-links a { color: #006b4f; display: inline-flex; }
.social-links a:hover { color: #004d38; }
#copyright { text-align: center; padding-top: 1em; font-size: .9em; color: #555; }

/* ── 8. Responsive ── */
@media screen and (max-width: 980px) {
    #header h1 { font-size: 2.2em; }
    #banner { padding: 3em 0; }
    #banner p { font-size: 1.3em; }
    #nav ul { gap: .25em .75em; }
}
@media screen and (max-width: 736px) {
    #header { padding: 1.5em 0 1em; }
    #header h1 { font-size: 1.6em; letter-spacing: 2px; }
    #banner p { font-size: 1.1em; }
    #main { padding: 2em 0; }
    .container { padding: 0 1em; }
}

/* ── 9. Print ── */
@media print {
    body { background: #fff; font-size: 10pt; color: #000; }
    #header, #nav, .cannabis-toolbar, #banner, #footer, .skip-link, .actions { display: none; }
    #main { padding: 0; }
    .container { max-width: none; padding: 0; }
    .row > .col-4, .row > .col-5, .row > .col-8, .row > .col-10 { width: 100%; }
    .responsive-video, .image.featured { display: none; }
    a { word-wrap: break-word; }
}
