/*
Theme Name: AtlasAmble
Description: A photo-led travel publication for hotel reviews, thoughtful stays and travel deals, with warm sand paper and ocean-blue accents.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aen-pb-d-g01-d02-p04
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-site-blocks main { padding-block: var(--wp--preset--spacing--section); }
.wp-site-blocks main.is-flush { padding-block: 0; }

/* AEN article-format-v1: reading content only; never navigation or card grids. */
body.single-post .wp-block-post-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    border-collapse: collapse;
    border-spacing: 0;
    margin-block: 1.25em;
    line-height: 1.55;
}
body.single-post .wp-block-post-content table :is(th, td) {
    border: 1px solid var(--wp--preset--color--line);
    border-color: color-mix(in srgb, currentColor 45%, transparent);
    padding: .6em .75em;
    min-width: calc(8ch + 1.5em);
    vertical-align: top;
    text-align: start;
    overflow-wrap: normal;
    word-break: normal;
}
body.single-post .wp-block-post-content table :is(th, thead td) {
    font-weight: 700;
    background-color: color-mix(in srgb, currentColor 6%, transparent);
}
body.single-post .wp-block-post-content table :is(th, td) > :first-child { margin-block-start: 0; }
body.single-post .wp-block-post-content table :is(th, td) > :last-child { margin-block-end: 0; }
body.single-post .wp-block-post-content .wp-block-table { max-width: 100%; overflow-x: auto; }
body.single-post .wp-block-post-content :is(ul, ol):not(.wp-block-post-template):not(.wp-block-navigation__container) {
    padding-inline-start: 1.65em;
    margin-block: 1em;
    list-style-position: outside;
}
body.single-post .wp-block-post-content ul:not(.wp-block-post-template):not(.wp-block-navigation__container) { list-style-type: disc; }
body.single-post .wp-block-post-content ol:not([type]) { list-style-type: decimal; }
body.single-post .wp-block-post-content ul:not(.wp-block-post-template):not(.wp-block-navigation__container) ul { list-style-type: circle; }
body.single-post .wp-block-post-content ul:not(.wp-block-post-template):not(.wp-block-navigation__container) ul ul { list-style-type: square; }
body.single-post .wp-block-post-content :is(ul, ol):not(.wp-block-post-template):not(.wp-block-navigation__container) > li {
    display: list-item;
    margin-block: .35em;
    padding-inline-start: .15em;
}
body.single-post .wp-block-post-content :is(ul, ol):not(.wp-block-post-template):not(.wp-block-navigation__container) li > :is(ul, ol) { margin-block: .35em; }
body.single-post .wp-block-post-content li > p { margin-block: .35em; }
body.single-post .wp-block-post-content blockquote {
    margin-inline: 0;
    padding-inline: 1em;
    border-inline-start: 3px solid currentColor;
}
body.single-post .wp-block-post-content img:is(.emoji, .wp-smiley) {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    min-width: 0 !important;
    max-width: 1em !important;
    margin: 0 .07em !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    vertical-align: -.1em;
    object-fit: contain;
}

.aen-static-map{max-width:800px;margin:1.5rem 0}.aen-static-map-image{display:block;width:100%;height:auto}.aen-static-map figcaption{font-size:.75rem;line-height:1.5}.aen-contact-address{overflow-wrap:anywhere}

/* Live contact details: independent cards, never embedded between form fields. */
.aen-contact-panel{margin:1.5rem 0;max-width:900px}.aen-contact-panel header{margin-bottom:1.5rem}.aen-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin:0}.aen-contact-cards>div{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);padding:1.25rem;border-radius:6px}.aen-contact-cards dt{font-size:.85em;font-weight:700;margin-bottom:.5rem}.aen-contact-cards dd{margin:0;overflow-wrap:anywhere}.aen-contact-panel .aen-static-map{width:100%;max-width:100%;margin:0}
.aen-contact-cards>div{min-width:0}.aen-feed-link p{margin-top:0}.aen-feed-link a{display:inline-block;min-height:44px;padding:.6em 0}

/* Contain wide article blocks while keeping their contents scrollable. */
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) { min-width: 0; overflow-wrap: anywhere; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) :is(pre, table, figure, iframe, img, code) { box-sizing: border-box; min-width: 0; max-width: 100%; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) :is(pre, table, figure) { overflow-x: auto; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) figure { margin-inline: 0; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) pre { white-space: pre; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) table { display: block; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) :is(iframe, img) { height: auto; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) code { overflow-wrap: anywhere; }

/* Inline tokens wrap; preformatted lines remain horizontally scrollable. */
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) :not(pre) > code { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) pre { min-width: 0; max-width: 100%; overflow-x: auto; }
body.single-post :is(.entry-content, .wp-block-post-content, .sl-article-body) pre code { white-space: pre; overflow-wrap: normal; word-break: normal; }

/* Single-post grid and flex items must shrink around long content. */
body.single-post :is(main, article, .wp-block-post-content, .entry-content) { min-width: 0; overflow-wrap: anywhere; }

/* PB-D04: assigned visual identity, local system fonts, content geometry. */
:root{--vd-accent:#49caa8;--vd-ink:#17212b;--vd-paper:#f9fdfc;--vd-line:#dcf5ee;--vd-body:"Trebuchet MS",Arial,sans-serif;--vd-heading:"Georgia",Georgia,serif;--ph-accent:#49caa8;--ph-ink:#17212b;--ph-paper:#ffffff;--ph-canvas:#f9fdfc;--ph-line:#dcf5ee;--ph-muted:#4b5563;--ph-soft:#effaf7;--ph-blue:#49caa8;--ph-rust:#49caa8;--ph-olive:#49caa8;--ph-copper:#49caa8;--ph-brass:#49caa8;}
body{font-family:var(--vd-body);background:#f9fdfc;color:#17212b}
h1,h2,h3,h4,.wp-block-post-title,.wp-block-site-title{font-family:var(--vd-heading)!important}
.wp-block-post-content{max-width:810px;min-width:0;overflow-wrap:anywhere}
button,input,textarea,summary{font-family:var(--vd-body)}
.wp-block-button__link,.wp-element-button,.wp-block-search__button{border-radius:4px;background:var(--vd-ink);color:white;min-height:44px}
.ph-shell{width:calc(100% - 48px);max-width:1162px;margin-inline:auto}
.ph-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 260px!important;gap:32px!important}
.ph-layout>*{min-width:0}
.ph-reading{width:100%;min-width:0;max-width:870px}
.ph-page{width:100%;max-width:870px!important}
.tb-page{width:calc(100% - 48px);margin-inline:auto!important}
.wr-page{padding-inline:0}
.ph-reading .is-style-phrasehaven-sheet,.ph-story,.ph-card,.ph-widget,.aen-contact-cards>div{border-radius:4px;box-shadow:none}
.aen-social-logo{width:44px!important;height:44px!important;min-width:44px;border:0;background:transparent;border-radius:0!important;color:inherit!important}
.vd-page-heading{margin-bottom:32px!important;padding:24px;border-color:var(--vd-accent)!important}
.vd-page-heading h1{margin:0!important;font-size:clamp(28px,4vw,42px)}
.vd-page-heading p{font-size:15px;line-height:1.6;margin:12px 0 0}
.vd-page-band{background:var(--vd-ink);color:white;border-top:6px solid}
.vd-page-rail{border-left:6px solid;background:#effaf7}
.vd-page-masthead{text-align:center;border-block:2px solid;letter-spacing:.025em}
.vd-page-caption{padding-inline:0;border-bottom:5px solid}
@media(max-width:1100px){.ph-shell{width:calc(100% - 36px)!important;margin-inline:auto!important;max-width:none!important;padding-inline:0!important}.ph-layout{grid-template-columns:minmax(0,1fr)!important}.ph-reading{max-width:none}}
/* Read-only AEN navigation, with flat category-first mobile menus. */
.vd-header{background:var(--vd-paper)!important;color:var(--vd-ink)!important;border-bottom:4px solid var(--vd-accent)!important;padding:0!important;isolation:auto!important;transform:none!important}
.vd-header .vd-header-row{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:20px;min-height:84px;width:calc(100% - 48px);max-width:1320px;margin:0 auto!important;padding:12px 0!important;position:static!important}
.vd-header .vd-brand{display:flex!important;align-items:center!important;gap:10px;min-width:0;flex-shrink:1!important;margin:0!important}
.vd-header .vd-brand>*{margin:0!important}
.vd-header .vd-brand .wp-block-site-title{font-size:26px;line-height:1.2;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--vd-ink)!important}
.vd-header .vd-brand .wp-block-site-logo{line-height:1;flex-shrink:0}
.vd-header .vd-brand img{display:block;width:36px!important;height:36px!important;object-fit:contain}
.aen-vd-nav{margin:0 0 0 auto!important;min-width:0;flex-shrink:0}
.aen-vd-desktop{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.3vw,21px);font:700 14px/1.35 var(--vd-body)}
.aen-vd-desktop a{padding:12px 0;color:inherit;white-space:nowrap}
.aen-vd-toggle{display:none}
.aen-vd-overlay[hidden]{display:none!important}
.aen-vd-overlay{position:fixed;inset:0;z-index:100000;isolation:isolate;color:#17212b;text-align:left;font-family:var(--vd-body)}
.aen-vd-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#0713219c;cursor:pointer}
.aen-vd-drawer{position:absolute;inset:0 0 0 auto;width:min(336px,calc(100vw - 28px));height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--vd-paper);padding:16px 20px 30px;box-sizing:border-box;box-shadow:-12px 0 40px #0003}
.aen-vd-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:16px;border-bottom:3px solid var(--vd-accent)}
.aen-vd-home{font:700 21px/1.2 var(--vd-heading);color:#17212b}
.aen-vd-close,.aen-vd-toggle{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;align-items:center;justify-content:center;background:#17212b;color:#fff;border:1px solid #17212b;border-radius:8px;padding:8px;cursor:pointer}
.aen-vd-categories,.aen-vd-pages{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;margin:0;padding:12px 0}
.aen-vd-categories a,.aen-vd-pages a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 0;text-align:left;font-size:16px;line-height:1.4;color:#17212b;overflow-wrap:anywhere}
.aen-vd-categories a{font-weight:700;border-bottom:1px solid var(--vd-line)}
.aen-vd-pages{border-top:1px solid var(--vd-line)}
.aen-vd-search label{display:block;font-size:15px;font-weight:700;margin-bottom:8px}
.aen-vd-search>div{display:flex;gap:8px}
.aen-vd-search input{min-width:0;width:100%;min-height:44px;border:1px solid #6b7280;padding:8px;background:white;color:#17212b;border-radius:4px}
.aen-vd-search button{min-height:44px;background:var(--vd-ink);color:#fff;border:0;padding:10px 14px;border-radius:4px}
.aen-vd-nav :focus-visible{outline:3px solid var(--vd-ink);outline-offset:3px}
.aen-vd-footer-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;padding:16px 20px;font-size:14px}
.aen-vd-footer-pages a{display:inline-flex;align-items:center;min-height:44px;color:inherit}
.aen-share-links .aen-social-logo{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}
footer>.aen-share,footer .aen-share{padding:16px 20px}
.aen-share-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media(max-width:1100px){
 .aen-vd-desktop{display:none}.aen-vd-toggle{display:flex}
 .aen-vd-nav{order:3}
 :is(.ph-header,.tb-header,.rf-header,.wr-header,.fd-header){position:relative!important;top:auto!important;max-height:none!important}
 :is(.ph-header-inner,.tb-header-inner,.rf-header-inner,.wr-header-inner,.fd-header-inner){display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:72px!important;height:auto!important;padding-block:10px!important;position:relative!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;margin-inline:auto!important}
 :is(.ph-brand,.tb-brand,.rf-brand,.wr-brand,.fd-brand){display:flex!important;flex:1 1 auto!important;align-items:center;min-width:0!important;gap:8px!important;position:static!important;margin:0!important}
 :is(.ph-brand,.tb-brand,.rf-brand,.wr-brand,.fd-brand) .wp-block-site-title{font-size:clamp(18px,5vw,23px)!important;line-height:1.2!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0!important}
 :is(.ph-brand,.tb-brand,.rf-brand,.wr-brand,.fd-brand) :is(.wp-block-site-logo,img){max-width:36px!important;width:36px!important;max-height:36px!important;height:auto!important;flex-shrink:0;object-fit:contain}
 :is(.ph-header,.tb-header,.rf-header,.wr-header,.fd-header) :is(.ph-controls,.tb-header-search,.rf-header-search,.wr-header-search,.fd-header-search){display:none!important}
}
